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;
}
相关推荐
游乐码4 小时前
Unity基础(十二)资源异步加载
unity·游戏引擎
weixin_424294675 小时前
程序不知道写在了什么位置???
unity
weixin_441940016 小时前
vuforia ar unity实验教程
unity·游戏引擎·ar
妙为8 小时前
unreal engine5(UE5)中使用Rider
ue5·游戏引擎·虚幻·rider
WarPigs10 小时前
Unity AB包资源加载管理器
unity
程序员正茂10 小时前
EasyAR使用OpenCV下USB摄像头作为自定义相机
opencv·unity·easyar
诙_11 小时前
unity——C#
unity·c#·游戏引擎
晓131312 小时前
【Cocos Creator 3.x】篇——第一章 简介
前端·javascript·游戏引擎
winlife_12 小时前
全程用 AI 做一款商业级手游 · EP9 收尾与复盘:做到了哪,没做到哪,边界在哪
java·开发语言·人工智能·unity·ai编程·游戏开发·mcp
晓131312 小时前
【Cocos Creator 2.x】篇——第五章 游戏常用关键技术
前端·javascript·vue.js·游戏引擎