AnimationCurveについて教えてほしいです。
現在、Unityで弾幕ゲームを作っています。このように湾曲する敵を作りました。
スクリプトは以下のものです
上が左に曲がるという命令、下がまっすぐ進むという命令で、この2つを組み合わせています。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Curve : MonoBehaviour 6{ 7 public AnimationCurve curve; 8 9 void Start() 10 { 11 12 } 13 14 void Update() 15 { 16 Rigidbody rb = this.gameObject.GetComponent<Rigidbody>(); 17 rb.AddForce(Vector3.left * curve.Evaluate(Time.timeSinceLevelLoad)); 18 }
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class StraightMovement : MonoBehaviour 6{ 7 public float speed; 8 9 void Update() 10 { 11 Rigidbody rb = this.gameObject.GetComponent<Rigidbody>(); 12 13 rb.AddForce(transform.forward * speed); 14 } 15}
しかし、コルーチンを使ってこの敵が動き始める時間を1秒遅らせます。
すると、このように全然違う動きになってしまいます。
隊列を作るように動かしたいのですが、複製して開始時間を遅らせるという手法を使うとすべてが違う動きになってしまいます。
手動で色々調整してみたのですが、やはり完全に同じ動きにはならないので困っています。何か解決方法はありますか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/01 11:40
2021/10/01 11:55