意図しない方向に回転が働いてしまう
現在Unityにてゲーム開発を行っているものです。
ガトリングのように回転する銃身をRigidbodyRelativeAddTorqueを使って実装しようとしているのですが、ガトリング砲と接続しているコックピット部を動かすと下図のように回転が意図しない方向に働く用になってしまいました。
発生している問題・エラーメッセージ
比較:銃身を回転させていないとき
原因はおそらくガトリング砲のX軸にrigidbodyで回転を加えているため、銃身自体を直角に右に向けたときに元の角度ではガトリングの銃身右に回すために働いていた力が銃身を別方向に回転する力にかわってしまっていることだと思われます。
しかし銃身の回転数が一定になってから弾を発射するスクリプトを組んだり、射撃ボタンを離してから少しの間空転する仕様をつくる際に楽をしたいため、自分はできる限りRigidbodyでこの処理を行いたいのですが…
加えた後の力の方向を親のオブジェクトの回転に対応して変更させるなど、対策をご存知の方はいらっしゃるでしょうか…
Rigidbodyで処理するのはあきらめてTransformの回転で処理すべきでしょうか?
該当のソースコード
C#
1 void FixedUpdate () { 2 3 Rigidbody rigidbody = cycleGat.transform.GetComponent < Rigidbody >(); 4 rigidbody.AddRelativeTorque(Vector3.right * count); 5 6 if (Input.GetMouseButton(0)){ 7 while(count <= max) { 8 count = count + 10; 9 } 10 } 11 12 if (Input.GetMouseButtonUp(0)) 13 { 14 count = 0; 15 } 16 }
補足情報
unity 2018 2.14f1
回答1件
あなたの回答
tips
プレビュー