具有不更新阴影的变形属性的动画缓冲区几何图形



我已经将库中的MD2代码转换为使用THREE.BufferGeometry而不是THREE.Geometry,以大大改善内存占用。为此,我只需在完成加载后将模型转换为THREE.BufferGeometry。我还必须修改MorphBlendMesh代码以使用morphTargetInfluences的属性。

除了问题之外,这工作得很好:阴影在动画过程中不会更新,它始终使用动画第一帧的阴影。

我还没有看到任何关于morphTargetInfluences属性的文档,所以我没有太多要说的。

我无法真正发布代码,因为它在代码库中过于分散。

只是希望有人能对变形动画中阴影是如何更新的有一些见解,也许可以为我指出如何研究这个问题的正确方向。

我发现了问题,并提出了解决方法!

着色器渲染器中的代码在决定设置 'usemorphing' 标志之前会检查geometry.morphTargets是否具有非零长度。 转换后的缓冲区几何没有.morphTargets字段,因为此信息似乎已移至缓冲区几何的.morphAttributes

我的黑客解决方法是添加一个假.morphTarget列表,如下所示:

Buffergeometry.morphTargets = [];
Buffergeometry.morphTargets.push(0);

相关内容

  • 没有找到相关文章

最新更新