C# XNA 3D碰撞不工作

C# XNA 3D碰撞不工作,c#,3d,xna,collision-detection,C#,3d,Xna,Collision Detection,我已经做了一个游戏,我只是更新了渲染到一个新的系统,这实际上是可行的。当我尝试时,我意识到碰撞已经破裂。我认为新世界矩阵有问题,所以我把它改成了图纸上的那个,但这并没有改变任何事情。我没有主意了,网上也没有什么好的消息来源告诉我怎么做。下面的链接指向我的代码,没有编辑的碰撞方法。如果你能告诉我该做什么,甚至只是一个提示,那就太好了。谢谢 链接:您的模型将根据组合以创建效果的变换进行渲染。世界,但您的球体(对于该模型)不会受到这些变换的影响。因此,模型的变换与球体的变换之间存在脱节。因此,您无法确

我已经做了一个游戏,我只是更新了渲染到一个新的系统,这实际上是可行的。当我尝试时,我意识到碰撞已经破裂。我认为新世界矩阵有问题,所以我把它改成了图纸上的那个,但这并没有改变任何事情。我没有主意了,网上也没有什么好的消息来源告诉我怎么做。下面的链接指向我的代码,没有编辑的碰撞方法。如果你能告诉我该做什么,甚至只是一个提示,那就太好了。谢谢


链接:

您的模型将根据组合以创建效果的变换进行渲染。世界,但您的球体(对于该模型)不会受到这些变换的影响。因此,模型的变换与球体的变换之间存在脱节。因此,您无法确定球体是否正确定位或缩放

尽管球体不关心模型的旋转变换,但它确实需要与模型渲染时相同的缩放和平移变换

根骨骼或父骨骼中可能存在通过
copyAbsoluteBonetTransformsTo()
应用于模型的缩放和/或平移变换,这些变换不会应用于球体。对于您的球体,您似乎将其转换限制为位置变量。。。这可能还不够


始终在球体上进行正确变换的一个可靠方法是,使用完全相同的矩阵集(并且以相同的顺序)对球体进行变换,以创建效果。渲染球体模型的世界。

使用C#编写类确实是合法的。甚至是鼓励。我们大多数人可能不会费心分析不遵循C#命名约定的过程代码。您应该发布代码的相关部分,而不是整个项目的链接。@pinckerman我已经删除了所有与主题无关的部分。我已经更新了问题中的链接。我试过了,但没有成功。我尝试了所有不同的方法,但都不管用。他们中的一些人只是完全移除了球体。你能告诉我你会怎么做吗,因为我显然做错了什么。谢谢