c# - 游戏世界中从相机到鼠标位置的光线投射
问题描述
当鼠标在门(红色区域)时,我想做点什么。我正在尝试投射光线,但光线没有击中门,我无法找到它击中的确切位置。还有我怎么能用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);
}
解决方案
解决方法是转到您的相机并将标签设置为“ MainCamera ”。或者您可以修改您的代码以具有相机变量并使用该变量而不是 Camera.main。
推荐阅读
- java - 子类是否继承 Lombok 注释?
- javascript - UserContext 仅在手动导航到页面时有效,而不是在自动完成时有效
- ruby-on-rails - 当我使用 where 语句时,Rails Searchkick 不返回结果
- python - 如果 chrome 不是默认浏览器,如何使用 webbrowser.get 打开多个 chrome 选项卡?
- python - 有没有办法拥有类的“主列表”,并在这些类中使用该列表?
- javascript - AddEventListener 到多个元素并返回它们的值 - 如何?
- javascript - 从 Javascript 上传文件并通过 Go 接收文件时遇到问题
- angular - 如何根据Angular中另一个字段的数字输入添加输入字段?
- python - GCP:如何为 GKE for Python 测试代码设置用户 ID,首先使用我的 GCP 用户 ID?
- flutter - 制作“列表”的副本/克隆
- >"