私はキューブを(0,2,0)上に持っていて、それをy軸上で2から1に移動してから3まで戻って1から3に戻るようにします。 ..ユニティは2つの座標間で振動する
Mathf.PingPong()
を使用するときにパラメータとして渡すものは誰かが説明できますか?
I有し
public virtual void PingPongCollectable(Transform transform, float speed)
{
Vector3 pos = transform.position; // current position
pos.y = Mathf.PingPong(? , ?); // missing parameters, calculate new position on y
transform.position = pos; // new position
}
ので、ここでIは、速度および座標(上記)及びB(下記)に渡す必要がありますか?
キューブはループ内をスムーズに上下にスライドします。
ありがとうございます!
を 'Mathf.PingPong(Time.deltaTime、長さ - bottomFloor)+ bottomFloor'が正しくありません。立方体は即座に0にジャンプし、3に移動して0に戻りますが、1.5fから2.5fに移動する必要があります。 – Question3r
私の例を編集しました。もし1.5fと2.5fとの間で動かしたいなら、これを行うことができます: 'Mathf.PingPong(Time.deltaTime、1.0f)+ 1.5f' – CBinet
あなたは' Time.time'を使う必要があります。 docs、またはメンバー変数に時間を累積します。 'Time.deltaTime'は一般に時間の経過とともに増加しないので、フレームの後に同じ位置フレームを取得します。 – BMac