一段落
全国的に緊急事態宣言が解除されプロ野球やJリーグも再開が決まって、長く続いたコロナ禍が一段落したのと呼応したわけではないのですが、個人的に仕事の面でも一段落がつき、プライベート面はとっくに波が停止しているので、ここ最近は何事もない平穏な日々が続いております。
その所為かゲーム制作の方はGameJamに参加するも箸にも棒にも掛からぬような感じだったこともあり、全くモチベーションが上がらない状態で、1年掛けた2.5DSTGも進捗が進まないどころか大きく作り変える事にしたり、今年中にゲームアプリをリリースできるのか不透明な情勢です。
そんな訳でブログネタにするようなUnityの技術的な知見も広がっていないので、今回もアセット紹介となります。
物理ツールキット
『切磋琢磨するしかない!』を制作する際に物理演算に沿ったギミックを作れないか考えていたのですが、コガネブログさんの以下の記事を見つけて、ギミックとして使えそうだったので購入しました。
その名の通り"磁力・水・風"の物理の挙動を再現できるアセットとなっています。
"Simple"とあるようにパラメータ等はシンプルで特に難しい設定無く導入することができます。
磁力
磁力を使う場合は磁力の影響を受ける全てのオブジェクトにRigidbodyとこのアセットの「Magnet」コンポーネントを設定します。
磁石が引き付けられる範囲を"OuterRadius"、引き付けれて停止する(オブジェクトがくっつく)範囲を"InnerRaius"で指定します。
挙動はこんな感じ
浮力
浮力は浮力が発生するオブジェクト(水となるオブジェクト)にRigidbodyと「Water」コンポーネントを設定します。
この「Water」が設定されたオブジェクトに接触したRigidbody全てに対して「浮力」の効果を加えます。
キャラクターのお尻が浮いてるのは重心設定の関係です。
風力
風力の場合はまず空のオブジェクトにBoxCollider等のColliderを設定します。これが風力を受ける範囲になります。
そして「Wind」コンポーネントを設定します。
風の方向はSceneビュー内にて水色の線で表示されるので、それを見ながらオブジェクトを回転させて風向きを設定します。
浮力と同様、この「Wind」が設定されたオブジェクトのCollider内にある全てのRigidbodyに対して「風力」の効果を加えます。
分かりやすいように風の範囲にパーティクルを表示しています
簡単に導入できる
前述のように"磁力・水・風"の物理効果を簡単にゲーム内に導入することができます。
『切磋琢磨するしかない!』では風力だけ使用しましたが、アイデア次第で多種多様なギミックを作ることができるかと思います。