コード例 #1
0
ファイル: NodeConverterBase.cs プロジェクト: DomCR/MeshIO
        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);
        }
コード例 #2
0
        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);
        }