我正试图在OpenGL编写的简单引擎中制作一个正确的md5动画。我有一个生物的行走动画。当动画到达结尾时,它会从头开始(正如它应该的那样),但它与开始时处于相同的位置(生物向后移动,而不是向前移动)。这个问题有什么简单的解决办法吗。我试着用glTranslatef手动移动它,但我就是找不到动画应该重新开始的正确位置。
你的生物可能有某种"根"骨,与生物在太空中的位置相对应。"根"骨是生物骨骼中不可见的骨骼,它和生物一起移动,位于地板上。如果没有"根"骨,"骨盆"骨就可以了。
因此,假设动画的最后一帧具有相同的姿势(但位置不同),在最后一帧抓取该骨骼的位置(相对于骨骼层次的根),在第一帧抓取相同骨骼的子体位置,您将获得下一个动画循环的动画偏移。