Exemplo n.º 1
0
        public LayerElement BuildLayerElementUV(FbxNode node)
        {
            LayerElementUV layer = new LayerElementUV();

            foreach (FbxNode n in node)
            {
                switch (n.Name)
                {
                case "UV":
                    layer.UV.AddRange(this.arrToXY(this.arrToDoubleArray(n.Value as IEnumerable)));
                    break;

                case "UVIndex":
                    layer.Indices.AddRange(this.toArr <int>(n.Value as IEnumerable));
                    break;

                default:
                    if (!this.isCommonLayerField(layer, n))
                    {
                        this.notify($"Unknow node while building LayerElement with name {n.Name}");
                    }
                    break;
                }
            }

            return(layer);
        }
Exemplo n.º 2
0
        public void SetUVs(LayerElementUV pUVs, LayerElement.EType pTypeIdentifier = LayerElement.EType.eTextureDiffuse)
        {
            if (uvs.Get() != null)
            {
                elements.Remove(uvs.Get());
            }

            elements.Add(pUVs);
        }
Exemplo n.º 3
0
        public FbxNode buildLayerElementUV(LayerElementUV layer)
        {
            FbxNode node = new FbxNode("LayerElementUV", 0);

            node.Nodes.Add(new FbxNode("Version", 101));
            buildLayerElement(node, layer);
            node.Nodes.Add(new FbxNode("UV", layer.UV.SelectMany(x => x.GetComponents()).ToArray()));
            node.Nodes.Add(new FbxNode("UVIndex", layer.Indices.ToArray()));
            return(node);
        }