コード例 #1
0
ファイル: NodeConverterBase.cs プロジェクト: DomCR/MeshIO
        public LayerElement BuildLayerElementTangent(FbxNode node)
        {
            LayerElementTangent layer = new LayerElementTangent();

            foreach (FbxNode n in node)
            {
                switch (n.Name)
                {
                case "Tangents":
                    layer.Tangents = this.arrToXYZ(this.arrToDoubleArray(n.Value as IEnumerable));
                    break;

                case "TangentsW":
                    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);
        }
コード例 #2
0
        public FbxNode buildLayerElementTangent(LayerElementTangent layer)
        {
            FbxNode node = new FbxNode("LayerElementTangent", 0);

            node.Nodes.Add(new FbxNode("Version", 102));
            buildLayerElement(node, layer);
            node.Nodes.Add(new FbxNode("Tangents", layer.Tangents.SelectMany(x => x.GetComponents()).ToArray()));
            return(node);
        }