C#raycast代码不能与Unity一起使用

问题描述 投票:0回答:1

嗨所以我写了一些代码来创建一个跟随屏幕上鼠标位置的光线投射,我已经设置了枪并且我用枪管等正确地将枪管放下,但我不断收到错误:NullReferenceException:未设置对象引用到一个对象的实例。我只是无法解决问题所在,这是我的代码:

    void Update ()
    {
        if (gun.active) {
                    if (Input.GetButtonDown ("Fire1")) {
                            Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
                            RaycastHit hit = new RaycastHit ();
                            if (Physics.Raycast (ray, out hit)) {
                                    if (hit.collider.gameObject.name == "barrel") {
                                            Debug.Log ("Hit the Barrel");
                                            Destroy (hit.collider.gameObject);
                                    }
                            }
                    }
            }

    }
c# unity3d raycasting
1个回答
4
投票

您的Camera未在编辑器中标记为main相机。

这就是为什么你的代码找不到它,以及它抛出异常的原因。

© www.soinside.com 2019 - 2024. All rights reserved.