|
@@ -1694,6 +1694,10 @@ THREE.GLTF2Loader = ( function () {
|
|
|
|
|
|
var primitive = primitives[ name ];
|
|
|
|
|
|
+ var material = primitive.material !== undefined ? dependencies.materials[ primitive.material ] : createDefaultMaterial();
|
|
|
+
|
|
|
+ var meshNode;
|
|
|
+
|
|
|
if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLES || primitive.mode === undefined ) {
|
|
|
|
|
|
var geometry = new THREE.BufferGeometry();
|
|
@@ -1752,15 +1756,8 @@ THREE.GLTF2Loader = ( function () {
|
|
|
|
|
|
}
|
|
|
|
|
|
- var material = dependencies.materials !== undefined ? dependencies.materials[ primitive.material ] : createDefaultMaterial();
|
|
|
-
|
|
|
- var meshNode = new THREE.Mesh( geometry, material );
|
|
|
+ meshNode = new THREE.Mesh( geometry, material );
|
|
|
meshNode.castShadow = true;
|
|
|
- meshNode.name = ( name === "0" ? group.name : group.name + name );
|
|
|
-
|
|
|
- if ( primitive.extras ) meshNode.userData = primitive.extras;
|
|
|
-
|
|
|
- group.add( meshNode );
|
|
|
|
|
|
} else if ( primitive.mode === WEBGL_CONSTANTS.LINES ) {
|
|
|
|
|
@@ -1792,10 +1789,6 @@ THREE.GLTF2Loader = ( function () {
|
|
|
|
|
|
}
|
|
|
|
|
|
- var material = dependencies.materials[ primitive.material ];
|
|
|
-
|
|
|
- var meshNode;
|
|
|
-
|
|
|
if ( primitive.indices !== undefined ) {
|
|
|
|
|
|
geometry.setIndex( dependencies.accessors[ primitive.indices ] );
|
|
@@ -1808,18 +1801,18 @@ THREE.GLTF2Loader = ( function () {
|
|
|
|
|
|
}
|
|
|
|
|
|
- meshNode.name = ( name === "0" ? group.name : group.name + name );
|
|
|
-
|
|
|
- if ( primitive.extras ) meshNode.userData = primitive.extras;
|
|
|
-
|
|
|
- group.add( meshNode );
|
|
|
-
|
|
|
} else {
|
|
|
|
|
|
console.warn( "Only triangular and line primitives are supported" );
|
|
|
|
|
|
}
|
|
|
|
|
|
+ meshNode.name = ( name === "0" ? group.name : group.name + name );
|
|
|
+
|
|
|
+ if ( primitive.extras ) meshNode.userData = primitive.extras;
|
|
|
+
|
|
|
+ group.add( meshNode );
|
|
|
+
|
|
|
}
|
|
|
|
|
|
return group;
|