这里的第一个问题。如果这个问题已经被回答了,我很抱歉--我在谷歌和这里都找不到任何东西。
我的游戏是一个空间模拟游戏(具有真实的惯性,连续旋转,除非停止等),它需要一个巨大的,巨大的可玩区域。发生的情况是,当我的船飞得离它的起始位置太远时(根据Matrix.Translation的测量,大约是100万),船或相机开始不稳定地旋转。当我仔细观察时,即使它一开始从它的起始位置移动,就会有微小的异常(例如,在3D模型的边缘有一个变化的像素,但相对于相机,船应该是完全静止的(它没有动画)。最初,我遇到了类似的问题,不断变化的旋转导致船舶的矩阵变得不正交,但我解决了这个问题,转换为四元数以进行标准化,然后再转换回矩阵。这个问题似乎并不相关,而且我在3D编程方面的经验也很少。
不确定您想要查看哪些代码位,但如果需要,我会将它们粘贴进去。我是不是走错了路--我应该让太阳系围绕着飞船移动,而不是让飞船围绕太阳系移动吗?茫无所知。请帮帮忙。
菲尔
发布于 2013-07-20 07:10:45
我不完全确定你的问题,但我认为如果你想让你的银河系变得逼真,并使用浮动(或在某些时候加倍),那肯定是你的问题。有关浮点精度的详细信息,请参见。
至于解决方案,你可能会对博客感兴趣,因为我认为它试图解决你现在面临的相同问题,制作一个空间模拟游戏,解决精度问题。
https://stackoverflow.com/questions/17733248
复制相似问题