前提・実現したいこと
Unity3dで独楽の様な挙動を試したく、
Cubeとその小要素に重りとしてRigidbody/Fixed Joint付きのGameObjectを配置しました。
小要素はCubeの側面に4つ取り付けています。
StartでCubeのangularVelocityに対して一定の値を与えたところ、
初速は意図した回転速度になっていましたが、すぐに急激に速度が落ちてしまいます。
原因が不明の為、どなたかご教授願います…。
環境
Unity2019.4.13f
C#
該当のソースコード
C#
1Rigidbody rigidbody; 2void Start() 3{ 4 rigidbody = GetComponent<Rigidbody>(); 5 rigidbody.maxAngularVelocity = 10000f; 6 rigidbody.angularVelocity = new Vector3(0, 200.0f, 0); 7 8} 9void Update() 10{ 11 Debug.Log("angular : " + rigidbody.angularVelocity.magnitude) ; 12}
出力結果
angular : 190.458 angular : 181.6919 angular : 86.75442 <- ここで急に下がる angular : 75.83694 ・ ・ ・
試したこと
- 小要素のGameObjectについているRigidbodyの値を変更しても挙動に変化はありませんでした。
補足情報(FW/ツールのバージョンなど)
- 親のCubeについているRigidbodyは
Mass :100
AnglarDrag :0.1
となっている以外は以下の小要素と同じ設定になっています。
- 親のCubeにはJointはついていません。
あなたの回答
tips
プレビュー