我在查看我的光线投射命中的层的 if 语句时遇到问题

im having a problem with an if statement that is looking at the layer that my raycast hit

我有一个问题,我想这可能是我没有正确地寻找光线投射所击中的层

if (raycastHit.transform.gameObject.layer == groundMask)
            {
                Debug.Log("heavy");
                state = State.HookShotFlyingPlayer;
            }

不是语法问题,是统一性问题。它在

上出错
(raycastHit.transform.gameObject.layer == groundMask)

错误是

Object Reference not set to an instance of an object

Unity 抛出空引用异常。这意味着 raycastHit、transform 或 gameObject 为空。可以在if语句前设置一个断点,看看到底什么是null。