2.7.1
最近碰到这样的问题,在init中使用射线检测函数无效,确认正确设置好点和mask
解决办法:
在init中最开始加入
ObjectTerrainGlobalPtr terrain = ObjectTerrainGlobal::cast(Editor::get()->getNodeByName("Landscape"));
terrain->setForceIntersection(1); //if not set ,the intersection may be invalid in the beginning
ObjectPtr obj = World::get()->getIntersection( trans.getTranslate()+upDir * 100000, trans.getTranslate(), m_terrainMask, m_intersection);//m_terrainMask
在具体使用时,将上方的点放在前面,上面的代码在如果两个点反过来可能就失效了。