====== Rigidbody (UnityComponent) ====== Rigidbodyは物理的な挙動(重力による落下や、接触)を行うのに必要です。 ==== Unityマニュアル&チュートリアル ==== * [[https://docs.unity3d.com/ja/current/Manual/class-Rigidbody.html |Rigidbody (Unityマニュアル)]] * [[https://unity3d.com/jp/learn/tutorials/topics/physics/rigidbodies?playlist=17120 | RigidBody (チュートリアル)]] ==== VCIで使用する場合の概要 ==== * 物理演算の同期については [[vci:component:sdk:subitem:owned|SubItemの所有権と同期処理の関係]] を参考にしてください。 * Rigidbodyの影響範囲は [[vci:component:sdk:subitem:groupid|SubItemのGroupID]] によっても決まります。 * [[vci:script:reference:eventfunction|VCIイベント関数]]のonCollision関数を使用するのに必要です。 * VCIを空中に固定する場合、Use Gravityを無効、Is Kinematicを有効にします。 ==== VCIで使用する場合の注意点 ==== * オブジェクトの位置が一定(おそらくfloatの最大値 = 16,777,215)を超えると、物理演算が一部機能しなくなる問題があります。 * 例えば出現後に地面より下にあるオブジェクトが自由落下し続けるような設定をした場合、この値を超える可能性があるため注意が必要です。 * バーチャルキャストv1.6.xでこの問題を確認しています。 * オブジェクトが指定範囲を超えた場合の例外処理をアップデートで追加する予定です。 ==== プロパティーの説明 ==== ^ プロパティー ^ 機能 ^ | **Use Gravity** | 有効時、**重力の影響を受けて落下する**ようになります | | **Is Kinematic** | 有効時、**物理エンジンによって動かなくなる**が、\\ Transformを直接制御して移動する事は可能です\\ | | Mass | 物体の質量(Kg)\\ Massの小さいオブジェクトは\\ Massの大きいオブジェクトの影響を強く受けます | | Drag | 力によって移動した時に生じる空気抵抗の大きさ | | Angular Drag | トルクによって回転した時に生じる空気抵抗の大きさ | | Interpolate | 動きの補間方法を指定します | | Collision Detection | 高速で動くオブジェクトが、\\ 衝突を検知せずに他のオブジェクトをすり抜けてしまうことを防ぎます | | Constraints Freeze Position | 動きに制限を与えます チェックした軸の移動を行いません | | Constraints Freeze Rotation | 動きに制限を与えます チェックした軸の回転を行いません | ==== VCIサンプル ==== * [[vci:sample:oncollision:no1 | 叩くとアニメーションをして音が鳴るドラムを作る]]