嗨,我是Unity新手,正在摸索学习,想请教一些建议。目前我在开发一个第一人称射击角色,希望玩家能发射实时飞行的子弹,就像《毁灭战士》里的等离子球或《星球大战:前线》中的爆能枪弹那样。

我想知道,是应该在Start函数中用刚体的线性速度来移动子弹,像这样:

rigidbody.linearVelocity = transform.forward * speed;

还是改用Update里的Translate方法呢?

transform.Translate(Vector3.forward * (speed * Time.deltaTime));

两种方式我都会用刚体,因为反正也要用OnTriggerEnter来做命中检测,这样可能对回答有帮助。