我正在尝试使用MakeHuman中的网格在Three.js中渲染动画。网格正确加载,但在动画运行时变得非常扭曲。如果我添加一个SkeletonHelper,我可以看到骨架正确地完成了动画,但是它的方向与网格不同。
当网格加载时,它是面朝下的,骨架是正面朝上的。如果我在Three.js中旋转网格使其正面向上,那么骨架由于某种原因上下颠倒。我不确定这是否可能导致网格失真。
以下是我正在采取的步骤:
非常感谢任何帮助。感谢。
更新 - 我能够(简要地)将模型设置为主要按预期进行动画处理(只有一点失真)并且骨架和网格都指向同样的方向,但现在我无法重现我的成功。我相当肯定(在Blender中)清除或应用旋转,位置和比例是产生差异的原因,但是当我尝试再次执行这些步骤时,我再也无法做到这一点。骨架和网格不再同步。 有成为问题,对吗?
我想我需要应用轮换和位置,但清除比例。但是,当我尝试应用该位置时,比例不再显示为“已清除”。我想我不明白Blender是如何工作的。清除或应用Rot,Loc,Scale的正确方法是什么?在重新定位到BVH之前或之后我是否申请/清除?也许两者?我是否需要在每个网格和/或骨骼上执行此操作?
答案 0 :(得分:0)
所以我想出了如何使它工作,虽然我永远无法弄清楚为什么我以前的方法不起作用。
只要将模型导入Blender(默认情况下选择了所有网格),请清除旋转,位置和比例。 然后,如果模型面向错误的方式,请按' n'要显示转换面板,请在“大纲视图”(Outliner)中选择根网格节点,然后根据需要旋转它。然后,单击ctrl + A以应用旋转。
基本上,不是保持导入过程中设置的旋转,而是清除它并应用自己的旋转。