Просмотр исходного кода

GLTFLoader: Support per-node morph weights on instanced meshes.

Fixes #15142.
Don McCurdy 6 лет назад
Родитель
Сommit
850b7359c1
1 измененных файлов с 17 добавлено и 0 удалено
  1. 17 0
      examples/js/loaders/GLTFLoader.js

+ 17 - 0
examples/js/loaders/GLTFLoader.js

@@ -3136,6 +3136,23 @@ THREE.GLTFLoader = ( function () {
 
 					}
 
+					// if weights are provided on the node, override weights on the mesh.
+					if ( nodeDef.weights !== undefined ) {
+
+						node.traverse( function ( o ) {
+
+							if ( ! o.isMesh ) return;
+
+							for ( var i = 0, il = nodeDef.weights.length; i < il; i ++ ) {
+
+								o.morphTargetInfluences[ i ] = nodeDef.weights[ i ];
+
+							}
+
+						} );
+
+					}
+
 					resolve( node );
 
 				} );