【问题标题】:Why does my bullet lack a rigidbody even though it has one?为什么我的子弹没有刚体,尽管它有一个刚体?
【发布时间】:2022-11-29 10:04:05
【问题描述】:

所以我正在制作一款 FPS 游戏,当我尝试射击时,它说我的子弹缺少刚体。我有一个刚体,为什么会这样?

这是制作子弹的代码:

Vector3 aimDir = (transform.forward).normalized;
Instantiate(gunData.bulletPrefab, muzzle.position, Quaternion.LookRotation(aimDir, Vector3.up));
Rigidbody bulletRb = gunData.bulletPrefab.GetComponent<Rigidbody>();
bulletRb.velocity = aimDir * gunData.bulletSpeed;

【问题讨论】:

  • 您是否检查过子弹预制件 (gunData.bulletPrefab) 是否在 unity inspector 中附加了刚体组件?

标签: unity3d


【解决方案1】:

您似乎正在尝试访问 bulletPrefab 的刚体组件而不是新实例化的对象的。

尝试这样的事情:

var myNewBulletInstance = Instantiate(....
myNewBulletInstance.GetComponent<Rigidbody>();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多