Javascript 具有变形属性的动画缓冲区几何体不更新阴影
我已将库中的MD2代码转换为使用Javascript 具有变形属性的动画缓冲区几何体不更新阴影,javascript,three.js,buffer-geometry,Javascript,Three.js,Buffer Geometry,我已将库中的MD2代码转换为使用THREE.BufferGeometry而不是THREE.Geometry,以大大提高内存占用率。为此,我只需在加载完成后将模型转换为THREE.BufferGeometry。我还必须修改MorphBlendMesh代码以使用morphTargetInfluences的属性 这是伟大的工作除了问题:阴影不更新动画期间,它总是使用从动画的第一帧阴影 我还没有看到任何关于morphTargetInfluences属性的文档,所以我没有太多要说的 我真的不能发布代码,因
THREE.BufferGeometry
而不是THREE.Geometry
,以大大提高内存占用率。为此,我只需在加载完成后将模型转换为THREE.BufferGeometry
。我还必须修改MorphBlendMesh
代码以使用morphTargetInfluences
的属性
这是伟大的工作除了问题:阴影不更新动画期间,它总是使用从动画的第一帧阴影
我还没有看到任何关于morphTargetInfluences
属性的文档,所以我没有太多要说的
我真的不能发布代码,因为它在代码库中分布得太多了
我只是希望有人能对变形动画中阴影的更新有所了解,并为我指明研究这个问题的正确方向。我发现了问题,找到了解决办法 着色器渲染器中的代码在决定设置
'usemorphing'
标志之前,正在检查geometry.morphTargets
是否具有非零长度。转换的buffergeometry没有.morphTargets
字段,因为此信息似乎已移动到buffergeometry的.morphAttributes
我的破解方法是添加一个假的.morphTarget
列表,如下所示:
Buffergeometry.morphTargets = [];
Buffergeometry.morphTargets.push(0);