首页 > 解决方案 > 游戏世界中从相机到鼠标位置的光线投射

问题描述

当鼠标在门(红色区域)时,我想做点什么。我正在尝试投射光线,但光线没有击中门,我无法找到它击中的确切位置。还有我怎么能用Debug.DrawRay这条射线?

Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if(Physics.Raycast(ray, out hit, Mathf.Infinity)) {
    if(hit.collider.tag == "InteractiveDoor"){
        doorInteractGameObject.SetActive(true);
    }else{
        doorInteractGameObject.SetActive(false);
    }

统一形象

标签: c#unity3draycasting

解决方案


解决方法是转到您的相机并将标签设置为“ MainCamera ”。或者您可以修改您的代码以具有相机变量并使用该变量而不是 Camera.main。


推荐阅读