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); }
public void SetUVs(LayerElementUV pUVs, LayerElement.EType pTypeIdentifier = LayerElement.EType.eTextureDiffuse) { if (uvs.Get() != null) { elements.Remove(uvs.Get()); } elements.Add(pUVs); }
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); }