
よろしくお願い致します。
Unityバージョンは 5.3.5f1 を使用しています
まず3DObjectからCubeを作って名前をKingとします
次にRigidbodyを追加します
RigidbodyにあるUseGravityのチェックを外して
IsKinematicにチェックを入れます。
最後に座標をX:0 Y:0 Z:1 にして完成
このObjectを複製して
同様にRigidbodyを設定して
名前をJackに変更し
座標をX:0 Y:0 Z:0 にします。
これでKingとJack2つのCubeが出来ます
次にKingにScriptを追加します
中身は右方向に進むだけです
using UnityEngine; using System.Collections; public class King : MonoBehaviour { void Update () { GetComponent<Rigidbody>().MovePosition(transform.position + Vector3.right * Time.deltaTime); } }
JackにもScriptを追加します
こっちは左方向に動かします
using UnityEngine; using System.Collections; public class Jack : MonoBehaviour { void Update () { GetComponent<Rigidbody>().MovePosition(transform.position + Vector3.left * Time.deltaTime); } }
この状態で実行すると
KingとJackはそれぞれの方向に動くのですが
Kingの中にJackを入れて親子階層にして実行すると
(親Kingで子Jackですね)
JackはKingと同じ方向へ動くのです
この親子階層にある中でKingとJackを
それぞれの方向に動かすにはどうすればよいかと
悩んでおります。
一応、JackのIsKinematicを外せば期待通りの動きをするのですが
IsKinematicでないため、他Objectからの衝突を受け付けてしまいます。
それではよろしくお願い致します。

