Unity射线检测不到MeshCollider的原因

当我们构建的模型是单面模型时,就会出现射线检测不到MeshCollider的问题,对于渲染,我们可以Cull Off来实现双面渲染,而在射线检测时,Unity提供了一个API来控制是否检测背面:Physics.queriesHitBackfaces

案例代码:

csharp 复制代码
public bool Raycast(out RaycastHit hitOnGround, out RaycastHit hitOnStructure) 
{
    Physics.queriesHitBackfaces = true;
    
    Ray ray = m_Camera.ScreenPointToRay(Input.mousePosition);
    Physics.Raycast(ray, out hitOnGround, m_Camera.farClipPlane * 2, m_GroundLayer);
    bool onStructure = Physics.Raycast(ray, out hitOnStructure, m_Camera.farClipPlane * 2, m_StructureLayer);
    
    Physics.queriesHitBackfaces = false;

    return onStructure;
}
相关推荐
向宇it4 小时前
【unity游戏开发入门到精通——UGUI】CanvasScaler画布缩放器组件
游戏·unity·c#·编辑器·游戏引擎
向宇it5 小时前
【unity游戏开发介绍之UGUI篇】UGUI概述和基础使用
开发语言·unity·c#·编辑器·游戏引擎
虾球xz6 小时前
游戏引擎学习第223天
c++·学习·游戏引擎
EQ-雪梨蛋花汤11 小时前
【Part 1全景视频拍摄与制作基础】第四节|基于UE/Unity的全景视频渲染与导出
unity·游戏引擎·音视频·vr·全景视频
帮帮志11 小时前
08.unity 游戏开发-unity编辑器资源的导入导出分享
unity·编辑器·游戏引擎
虾球xz15 小时前
游戏引擎学习第222天
c++·学习·游戏引擎
虾球xz1 天前
游戏引擎学习第220天
c++·学习·游戏引擎
New个大鸭1 天前
ATEngin开发记录_4_使用Premake5 自动化构建跨平台项目文件
c++·自动化·游戏引擎
Var_al1 天前
Unity 设置弹窗Tips位置
游戏·unity·c#
头发掉光的程序员1 天前
Raymarching Textures In Depth
ue5·游戏引擎·图形渲染