我正在为DirectX11使用SharpDX C#库。我正在按照“Direct3D渲染手册”来加载外部网格。我需要找到该网格和特定光线之间的交叉点,但问题就出现了。如果我加载网格然后对World矩阵(平移/旋转)进行一些操作,那么我用来计算交叉点的网格的三角形列表就不会更新。
答案 0 :(得分:0)
处理与原始模型的光线投射相交的方法相当简单。我会假设你有一个矩阵可以将模型转换为世界。您需要做的是创建此矩阵的逆矩阵,并将光线投射的开始和结束乘以此矩阵。这将为您提供模型局部空间中的光线(模型的未转换版本)。然后,您可以调用光线投射功能以获得准确的位置命中。这是其中一个不成文的技巧,不移动模型,移动光线,更便宜,更快。