Exemplo n.º 1
0
        private void GetUniteCombineNodes(Assimp.Node node)
        {
            //The first time adds the root node
            if (_imd.Body.NodeArray.Nodes.Count == 0)
            {
                _imd.Body.ModelInfo.NodeSize = "1 1";

                _imd.Body.NodeArray.Nodes.Add(new Node
                {
                    Index = 0,
                    Name  = "world_root",
                    Kind  = "mesh"
                });
            }

            if (node.HasMeshes)
            {
                CollectNodeMeshes(node);
            }

            foreach (var children in node.Children)
            {
                GetUniteCombineNodes(children);
            }
        }
Exemplo n.º 2
0
 private void CollectNodeMeshes(Assimp.Node node)
 {
     foreach (var meshId in node.MeshIndices)
     {
         CollectMesh(meshId);
     }
 }
Exemplo n.º 3
0
        private void GetNodes(Assimp.Node node)
        {
            switch (_settings.CompressNodeMode)
            {
            case "unite_combine":
                GetUniteCombineNodes(node);
                break;

            default:
                throw new NotSupportedException($"Compress Node Mode \"{_settings.CompressNodeMode}\" is not supported.");
            }
        }