diff --git a/examples/js/loaders/GLTFLoader.js b/examples/js/loaders/GLTFLoader.js index b3b37d82ce3f5183a8fe344545a8a04dd1f780a9..5ad7e08ac997cf52a8c5f1500249af05e7c6cf37 100644 --- a/examples/js/loaders/GLTFLoader.js +++ b/examples/js/loaders/GLTFLoader.js @@ -1153,6 +1153,7 @@ THREE.GLTFLoader = ( function () { var group = new THREE.Object3D(); group.name = mesh.name; + group.userData = mesh.extras || {}; var primitives = mesh.primitives; @@ -1225,6 +1226,7 @@ THREE.GLTFLoader = ( function () { var meshNode = new THREE.Mesh( geometry, material ); meshNode.castShadow = true; + meshNode.userData = primitive.extras || {}; group.add( meshNode ); @@ -1266,6 +1268,7 @@ THREE.GLTFLoader = ( function () { var _camera = new THREE.PerspectiveCamera( THREE.Math.radToDeg( xfov ), aspect_ratio, camera.perspective.znear || 1, camera.perspective.zfar || 2e6 ); _camera.name = camera.name; + _camera.userData = camera.extras || {}; return _camera; @@ -1273,6 +1276,7 @@ THREE.GLTFLoader = ( function () { var _camera = new THREE.OrthographicCamera( window.innerWidth / - 2, window.innerWidth / 2, window.innerHeight / 2, window.innerHeight / - 2, camera.orthographic.znear, camera.orthographic.zfar ); _camera.name = camera.name; + _camera.userData = camera.extras || {}; return _camera; @@ -1389,6 +1393,7 @@ THREE.GLTFLoader = ( function () { } _node.name = node.name; + _node.userData = node.extras || {}; _node.matrixAutoUpdate = false; @@ -1451,6 +1456,7 @@ THREE.GLTFLoader = ( function () { var originalMaterial = child.material; var originalGeometry = child.geometry; + var originalUserData = child.userData; var material; @@ -1466,6 +1472,7 @@ THREE.GLTFLoader = ( function () { child = new THREE.Mesh( originalGeometry, material ); child.castShadow = true; + child.userData = originalUserData; var skinEntry; @@ -1484,6 +1491,7 @@ THREE.GLTFLoader = ( function () { child = new THREE.SkinnedMesh( geometry, material, false ); child.castShadow = true; + child.userData = originalUserData; var bones = []; var boneInverses = []; @@ -1666,6 +1674,7 @@ THREE.GLTFLoader = ( function () { var _scene = new THREE.Scene(); _scene.name = scene.name; + _scene.userData = scene.extras || {}; var nodes = scene.nodes; diff --git a/examples/models/gltf/duck/glTF-MaterialsCommon/duck.gltf b/examples/models/gltf/duck/glTF-MaterialsCommon/duck.gltf index ba8d60735c27b1253206bd62506beb771d4f3dcb..574535ce010539729268ba9ed418c3d6121d2049 100644 --- a/examples/models/gltf/duck/glTF-MaterialsCommon/duck.gltf +++ b/examples/models/gltf/duck/glTF-MaterialsCommon/duck.gltf @@ -177,9 +177,15 @@ }, "indices": "accessor_21", "material": "blinn3-fx", - "mode": 4 + "mode": 4, + "extras": { + "foo": "primitive" + } } - ] + ], + "extras": { + "foo": "mesh" + } } }, "nodes": { @@ -206,7 +212,10 @@ "meshes": [ "LOD3spShape-lib" ], - "name": "LOD3sp" + "name": "LOD3sp", + "extras": { + "foo": "node" + } }, "camera1": { "camera": "cameraShape1", @@ -229,7 +238,10 @@ -4.31078, 1 ], - "name": "camera1" + "name": "camera1", + "extras": { + "foo": "camera" + } }, "directionalLight1": { "children": [], @@ -256,7 +268,10 @@ -2.92179, 1 ], - "name": "directionalLight1" + "name": "directionalLight1", + "extras": { + "foo": "light" + } } }, "samplers": { @@ -274,7 +289,10 @@ "LOD3sp", "camera1", "directionalLight1" - ] + ], + "extras": { + "foo": "scene" + } } }, "skins": {}, diff --git a/examples/models/gltf/duck/glTF/duck.gltf b/examples/models/gltf/duck/glTF/duck.gltf index 575a995c1f9121dd4dfbaf53c1b5d3ea85e2018f..1cb3b8467568eea474c7dd307a2e145f351102fd 100644 --- a/examples/models/gltf/duck/glTF/duck.gltf +++ b/examples/models/gltf/duck/glTF/duck.gltf @@ -150,9 +150,15 @@ }, "indices": "accessor_21", "material": "blinn3-fx", - "mode": 4 + "mode": 4, + "extras": { + "foo": "primitive" + } } - ] + ], + "extras": { + "foo": "mesh" + } } }, "nodes": { @@ -179,7 +185,10 @@ "meshes": [ "LOD3spShape-lib" ], - "name": "LOD3sp" + "name": "LOD3sp", + "extras": { + "foo": "node" + } }, "camera1": { "camera": "cameraShape1", @@ -202,7 +211,10 @@ -4.31078, 1 ], - "name": "camera1" + "name": "camera1", + "extras": { + "foo": "camera" + } }, "directionalLight1": { "children": [], @@ -224,7 +236,10 @@ -2.92179, 1 ], - "name": "directionalLight1" + "name": "directionalLight1", + "extras": { + "foo": "light" + } } }, "programs": { @@ -253,7 +268,10 @@ "LOD3sp", "camera1", "directionalLight1" - ] + ], + "extras": { + "foo": "scene" + } } }, "shaders": {