我有一个移动的物体,当你按下shift键时它会从它推进一个射弹
我希望我的射弹移动到特定点(0,0,10)
我尝试了以下代码,但它不起作用
if (Input.GetKey("right shift")||Input.GetKey("left shift")) {
Rigidbody clone;
clone = Instantiate(projectile1, transform.position, transform.rotation) as Rigidbody;
clone.velocity=new Vector3(0,0,10);
任何人都可以提供帮助吗?
答案 0 :(得分:3)
如果你想要一个恒定的速度,请使用MoveTowards:MoveTowards(pointA,pointB,delta)返回线点A点B距离点A的远端三角形单位的一个点 - 并且夹紧到pointB,因此它永远不会超出目标点
if (Input.GetKey("right shift")||Input.GetKey("left shift")) {
Rigidbody clone;
clone = Instantiate(projectile1, transform.position, transform.rotation) as Rigidbody;
clone.position = Vector3.MoveTowards(transform.position, new Vector3(0,0,10), Time.deltaTime * speed); }
速度以米(或单位)/秒为单位。