0

プレイヤーの動き「クジラの軌跡」ゲームのような楕円形の動きで剛体を動かしたいのですが、私がしたことは次のとおりです。

  1. スケール(1.5,0.5,0.1)で「プレーヤー」という名前のキューブを作成しました
  2. scale(0.1,0.1,0.1) で呼び出された別の小さな立方体を作成し、x 方向に 0.5 だけPoint同じ位置に配置しPlayerました (したがって、プレーヤーは 2D の長方形のように見え、長方形の中心の少し右にある点になります)。
  3. 次に、両方のボディ間に固定ジョイントを作成しました
  4. 今私は次のようにポイントの位置でプレイヤーに適用しました,

    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ビデオで「ループの動き」のビデオを見ることができます。よろしくお願いします。

4

1 に答える 1

0

私は自分で解決策を見つけました。その楕円運動を実現するには、2つの物体を作成し、それらを水平に並べて接続する必要があります。次に、x方向に常に力を加え、Y方向に力を加える必要があるのは画面は最初のボディに触れています。

そして、上に移動するときにX速度を下げることが重要です。そうすると、uはその楕円回転を取得します。

それは私にとってはうまくいきます。

ありがとう、Ashokkumar M

于 2013-02-25T04:50:56.033 に答える