手榴弹的对撞机确实与玩家的对撞机发生了碰撞,因此导致了它的行为。
我想让玩家扔的手榴弹正好放在我的相机指向的地方,但是,如果我面朝下,手榴弹不会直接向前扔,如下面的视频所示:
https://streamable.com/dqjq4z
这是投掷手榴弹的功能:
private void Yeet()
{
GameObject grenade = Instantiate(wm_equipment, FPSCamera.transform.position, Quaternion.identity);
grenade.GetComponent<Grenade>().delay = delay;
Rigidbody rb = grenade.GetComponent<Rigidbody>();
Vector3 forward = FPSCamera.transform.forward;
rb.AddForce(forward * throwForce, ForceMode.VelocityChange);
}
我用玩家相机的前向矢量来判断手榴弹应该朝哪个方向扔。然而,在这种情况下,它似乎不起作用。不确定我在这种情况下做错了什么,如果有任何帮助,我们将不胜感激。
通过向生成点添加正向偏移修复:
GameObject grenade = Instantiate(
wm_equipment,
FPSCamera.transform.position + FPSCamera.transform.forward, // <-----
Quaternion.identity);
感谢所有回答这个问题的人
我不确定这是否会100%起作用。抱歉,如果不是,但也许可以尝试:
Vector3 forward = transform.position + FPSCamera.transform.forward;