前提・実現したいこと
こちらの質問において、Mathf.PingPongメソッドでも実装をしたいと思ったのですが、
負の値も含めて振り幅にするには、どのようにすればよいですか?
ご教示お願いします。
試したこと
以下のように試してみたのですが、これだと-30~0の範囲で遷移してしまうようです。
-30~30の範囲にしたいのですが、どのようにすればよいですか?
C#
1 2 float length = 30; 3 float speed = 20; 4 5 void Start() 6 { 7 startTime = Time.time; 8 startRotation = transform.rotation; 9 } 10 11 void Update() 12 { 13 float dblLength = Mathf.PingPong((Time.time-startTime)*speed, length) - length; 14 transform.rotation = startRotation * Quaternion.Euler(0f, 0f, dblLength); 15 } 16
追記
ご回答いただいたコードで、-30~30の範囲となったのですが、-30からの開始となってしまいます。
-30~30の範囲で、0から開始させる方法はありますか?
C#
1float dblLength = 2 * Mathf.PingPong((Time.time-startTime)*speed, length) - length;
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。