首页 > 解决方案 > 我如何让光线投射破坏游戏对象

问题描述

我想摧毁你拍摄的物体但是当我拍摄时什么都没有发生

     void Update()
        {
            if (Input.GetKeyDown(KeyCode.Mouse1))
            {

                if (Physics.Raycast(cam.position, cam.forward, 500))
                {

                    Destroy(hit.transform.gameObject);
                }
            }
        }

标签: c#unity3d

解决方案


你不是在检查 Raycast 是否击中了什么东西。你可以这样做

    void Update()
    {
       if (Input.GetKeyDown(KeyCode.Mouse1))
       {

         Raycasthit hit;

         if(Physics.Raycast(cam.transform.position,cam.transform.forward,out hit,500))
         {
            Destroy(hit.transform.gameObject);
         }
       }
    }

推荐阅读