当前通过按钮单击在运行时实例化对象(预制件)。每次单击按钮时对象都会实例化,但即使我增加了力,它也不会移动。
检查类似的问题,其中GameObject和Rigidbody2D之间的投射不匹配,但这不是我的情况下的问题。如果值对于不会产生差异的变化而言太小,则尝试在变换右和前进之间进行切换乘以大数。任何帮助表示赞赏。谢谢。
以下脚本位于Player对象上。预制件是从对象'提示实例化的。这是Player对象上的子对象。子弹将Rigidbody2D设置为Kinematic。
public Transform tip;
public Rigidbody2D bullet;
if (Input.GetButtonDown("Fire1")) {
Rigidbody2D clone;
clone = Instantiate(bullet, tip.position, Quaternion.identity) as Rigidbody2D;
clone.AddForce(clone.transform.right * 5000000);
}
答案 0 :(得分:1)
Rigidbody2D设置为Kinematic for bullet。
这是错误:物理引擎永远不会移动Kinematic对象,将子弹刚体体类型更改为AddForce
,使用{{1}}施加的力将移动子弹。