【发布时间】:2021-06-13 23:55:29
【问题描述】:
我正在尝试向 Unity 中实例化射弹的 Rigidbody 组件添加力。我想使用这种方法,因为它是一个简单的投掷机制,我只想让弹丸在一个小的抛物线轨迹上移动。弹丸预制件已在 Unity 编辑器中附加到此脚本,并且它确实具有刚体组件。
到目前为止,这是我的代码:
private void ProjectileShoot()
{
if (Input.GetKeyDown(KeyCode.LeftShift) && !gameOver)
{
Rigidbody projectileRb = projectilePrefab.GetComponent<Rigidbody>();
Instantiate(projectilePrefab, transform.position,
projectilePrefab.transform.rotation);
projectileRb.AddForce(throwForce * Vector3.forward, ForceMode.Impulse);
}
}
射弹预制件按预期在玩家的位置生成,但它只是直接落到地上。不管throwForce我申请多少。
顺便说一句,ProjectileShoot() 在Update() 中。
我是 C# 和 Unity 的业余爱好者,这是我的第一个项目,因此非常感谢任何帮助。谢谢。
【问题讨论】:
标签: c# unity3d spawn projectile