Пример #1
0
    public FbxGeometry(FbxDocument fbxDocument, FbxNode node)
    {
        FbxDocument = fbxDocument;
        FbxDocument.ObjectCache.Add(this, Id);

        Id = new FbxObjectId {
            Id = (long)node.Properties[0]
        };
        foreach (var child in node.Childs)
        {
            switch (child.Name)
            {
            case "Vertices":
                ObjectGeometryVertices = new FbxObjectGeometryVertices(child);
                break;

            case "PolygonVertexIndex":
                FbxObjectGeometryPolygonMap      = new FbxObjectGeometryPolygonMap(child);
                ObjectGeometryPolygonVertexIndex = new FbxObjectGeometryPolygonVertexIndex(child, FbxObjectGeometryPolygonMap);
                break;

            case "LayerElementNormal":
                Normal = new FbxObjectGeometryLayerElementNormal(child, FbxObjectGeometryPolygonMap);
                break;

            case "LayerElementUV":
                UV = new FbxObjectGeometryLayerElementUv(child);
                break;

            case "LayerElementMaterial":
                MaterialIndex = new FbxObjectGeometryLayerElementMaterial(child);
                break;
            }
        }
    }
Пример #2
0
 public void IndexToVertex(FbxObjectGeometryPolygonVertexIndex index)
 {
     Vertices = MeshOperator.IndexToVertex(Vertices, 3, index.Array);
 }