예제 #1
0
        void ImportMeshesAndSkins(int nodeIndex, Dictionary <int, GameObject> gameObjects)
        {
            var gltf     = Container.Gltf;
            var gltfNode = gltf.Nodes[nodeIndex];
            var go       = gameObjects[nodeIndex];

            if (gltfNode.Mesh != null)
            {
                var meshResource = Meshes.Import(gltfNode.Mesh.Value, go);

                if (gltfNode.Skin != null)
                {
                    ImportSkin(gltfNode.Skin.Value, go, gameObjects);
                }
            }

            if (gltfNode.Children != null)
            {
                foreach (var childIndex in gltfNode.Children)
                {
                    ImportMeshesAndSkins(childIndex, gameObjects);
                }
            }

            // TODO: move to elsewhere...
            foreach (var h in Hooks)
            {
                h.PostHook(this, go.transform, gltfNode);
            }
        }