プレイヤーの動き「クジラの軌跡」ゲームのような楕円形の動きで剛体を動かしたいのですが、私がしたことは次のとおりです。
- スケール(1.5,0.5,0.1)で「プレーヤー」という名前のキューブを作成しました
- scale(0.1,0.1,0.1) で呼び出された別の小さな立方体を作成し、x 方向に 0.5 だけ
Point
同じ位置に配置しPlayer
ました (したがって、プレーヤーは 2D の長方形のように見え、長方形の中心の少し右にある点になります)。 - 次に、両方のボディ間に固定ジョイントを作成しました
今私は次のようにポイントの位置でプレイヤーに適用しました,
float mfAngle = 0.0f; void update() { mfAngle=transform.eulerAngles.z; mfAngle=mfAngle%360; if(mfAngle>=0 && mfAngle<90) { mfXforce=-0.1f; mfYforce=0.1f; } if(mfAngle>=90 && mfAngle<180) { mfXforce=-0.1f; mfYforce=0.1f; } if(mfAngle>=180 && mfAngle<270) { mfXforce=-0.1f; mfYforce=-0.1f; } if(mfAngle>=270 && mfAngle<360) { mfXforce=0.1f; mfYforce=-0.1f; } Debug.Log("Angle ="+mfAngle+"X = "+mfXforce+"Y = "+mfYforce); Vector3 pointPos=_goPointObject.transform.position; transform.rigidbody.AddForceAtPosition(new Vector3(mfXforce,mfYforce,0),pointPos); }
でもうまく動かない。上に移動して、回転して別の方向に移動するだけ。力を加えて楕円運動で剛体を動かす方法を知っている人がいれば、解決策を教えてください。(クジラのように使いたいトレイル ゲームhttp://www.youtube.com/watch?v=wwr6c2Ws1yIビデオで「ループの動き」のビデオを見ることができます。よろしくお願いします。