【Unity】AddForceで力を加える時のモードを変えて動きを観察
UnityでRigidbodyのAddForceやAddTorqueを使う際に指定するForceModeについて、その4種類の動きを観察しています。モードによって1フレーム辺りのオブジェクトに加えられる力の大きさが異なるので、違いを覚えつつ使い分けができるといい感じ。
あなたのゲームをいち早く完成させるための研究所
UnityでRigidbodyのAddForceやAddTorqueを使う際に指定するForceModeについて、その4種類の動きを観察しています。モードによって1フレーム辺りのオブジェクトに加えられる力の大きさが異なるので、違いを覚えつつ使い分けができるといい感じ。
UnityでRigidbodyを扱う際、衝突検知モードを選択することができます。ここでは、狭い空間内に気体分子をインスタンス化させるゲームを作り、衝突検知モードによるパフォーマンスへの影響を実験しています。
UnityのRigidbodyで設定できるConstraints(制限)について、値を変えると物体の運動がどのように変化するのかを実験しています。特に位置の固定ができるFreeze Positionは使い所も多いので、イメージを掴んでおくと役立ちます。Freeze Rotationは2軸縛りで、意図しない方向への回転を防ぐのがいいかも。
UnityのRigidbodyで設定できるCollision Detection(衝突の検知)について、値を変えると物体の運動がどのように変化するのかを実験しています。衝突相手がRigidbodyを持っているかどうか、相手のCollision Detectionの設定はどうかによって衝突を検知できるかどうかが決まるので、各パターンを試しています。
UnityのRigidbodyで設定できるInterpolate(補間)について、値を変えると物体の運動がどのように変化するのかを実験しています。Interpolateの設定の意味を解説し、値を変えた時の様子を動画で紹介しています。痙攣した動きを避けるためにも、主人公オブジェクトではInterpolateを忘れずに。
UnityのRigidbodyで設定できるIsKinematic(物理演算の影響の有無)について、値を変えると物体の運動がどのように変化するのかを実験しています。初心者にとって、Rigidbodyの中でもIsKinematicは特に分かりづらい項目なので、解説も行なっています。
UnityのRigidbodyで設定できるUseGravity(重力の使用)について、値を変えると物体の運動がどのように変化するのかを実験しています。この設定は直感的に分かりやすくていいですね。useGravityをfalseにすれば、Scene内に惑星と、その周りを公転する衛星が作れます。
UnityのRigidbodyで設定できるAngularDrag(回転の抵抗)について、値を変えると物体の運動がどのように変化するのかを実験しています。最初はDrag(抵抗)との違いが分からなくて混乱した記憶があります。『Angular』と付くように、回転に関する抵抗も使えると便利。
UnityのRigidbodyで設定できるDrag(抵抗)について、値を変えると物体の運動がどのように変化するのかを実験しています。空気抵抗として使うのはもちろんのこと、水中エリアに入ったときにdragの値を大きくして水中らしさを演出するのにも便利です。
UnityのRigidbodyで設定できるMass(質量)について、値を変えると物体の運動がどのように変化するのかを実験しています。特に衝突時には、Massによって衝突相手に与える影響が計算されるので、物理演算の挙動がおかしくないか確認しておくといいかも。
パラメータが多く、混乱しがちなRigidbodyについて、各パラメータの意味や用例を解説しています。Unityを使う上でRigidbodyをアタッチする場面も多いので、基本部分から確認したい方におすすめ。