public LayerElement BuildLayerElementBinormal(FbxNode node) { LayerElementBinormal layer = new LayerElementBinormal(); foreach (FbxNode n in node) { switch (n.Name) { case "Binormals": layer.Normals = this.arrToXYZ(this.arrToDoubleArray(n.Value as IEnumerable)); break; case "BinormalsW": layer.Weights.AddRange(this.arrToDoubleArray(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 FbxNode buildLayerElementBinormal(LayerElementBinormal layer) { FbxNode node = new FbxNode("LayerElementBinormal", 0); node.Nodes.Add(new FbxNode("Version", 101)); buildLayerElement(node, layer); node.Nodes.Add(new FbxNode("BiNormals", layer.Normals.SelectMany(x => x.GetComponents()).ToArray())); return(node); }