質問: Unityのrigidbodyについて
回答: > 大きいCubeに付いた最初の面で、くっつき固定された状態 というのは、着弾したというイメージでしょうか? また、固定というのは、小さいCubeが、大きいCubeに合体(?)して、勝手に動く事が無い、という意味でしょうか? //月のオブジェクトに持たせるスクリプト・2 var target_earth : GameObject; //ターゲットとなるオブジェクト(地球を指定) var my_gravity : float; //引き寄せられる力(引力。月の重さを大きく超える値で) var g_angle : Vector3; //月から見た地球の方向 var moveing_moon = true; //月が動いている状態か否か function Update () { if(moveing_moon){ //月が動いている時のみ有効 g_angle = target_earth.transform.position - transform.position; //座標を引き算して地球の方向を出す rigidbody.AddForce(g_angle.normalized * my_gravity); //地球のある方向に向かって荷重をかける } } function OnCollisionEnter(collision : Collision) { //月が何かのコリジョンに衝突したら呼ばれる関数 if(collision.gameObject == target_earth){ //衝突相手が地球の場合 moveing_moon = false; //月の移動を終了 rigidbody.constraints = RigidbodyConstraints.FreezeAll; //全ての回転と移動を制限 transform.parent = target_earth.transform; //月を地球の子オブジェクトに指定 } } これまた、かなり大雑把ですが、月が地球に衝突した瞬間に、月を地球の子オブジェクトにしてしまいます。 そして、月がこれ以上勝手に動かないように、全ての方向の回転と移動を制限してしまいす。 これで、後は地球が回ったり移動したりするのに付いていくようになるかと思います。 まぁ、いずれにしても、これを改造するなりして、もっと目的にあったスクリプトにする必要はあるでしょうけど^^; いかがでしょうか?