Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有变形属性的动画缓冲区几何体不更新阴影_Javascript_Three.js_Buffer Geometry - Fatal编程技术网

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

Javascript 具有变形属性的动画缓冲区几何体不更新阴影,javascript,three.js,buffer-geometry,Javascript,Three.js,Buffer Geometry,我已将库中的MD2代码转换为使用THREE.BufferGeometry而不是THREE.Geometry,以大大提高内存占用率。为此,我只需在加载完成后将模型转换为THREE.BufferGeometry。我还必须修改MorphBlendMesh代码以使用morphTargetInfluences的属性 这是伟大的工作除了问题:阴影不更新动画期间,它总是使用从动画的第一帧阴影 我还没有看到任何关于morphTargetInfluences属性的文档,所以我没有太多要说的 我真的不能发布代码,因

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

这是伟大的工作除了问题:阴影不更新动画期间,它总是使用从动画的第一帧阴影

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

我真的不能发布代码,因为它在代码库中分布得太多了


我只是希望有人能对变形动画中阴影的更新有所了解,并为我指明研究这个问题的正确方向。

我发现了问题,找到了解决办法

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

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

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