예제 #1
0
        private void CheckSceneHelper(FbxNode node, FbxMesh mesh, FbxSurfaceMaterial material)
        {
            if (node == null)
            {
                return;
            }

            Assert.AreEqual(mesh, node.GetMesh());

            int matIndex = node.GetMaterialIndex(m_materialName);

            Assert.GreaterOrEqual(matIndex, 0);
            Assert.AreEqual(material, node.GetMaterial(matIndex));

            for (int i = 0; i < node.GetChildCount(); i++)
            {
                // recurse through the hierarchy
                CheckSceneHelper(node.GetChild(i), mesh, material);
            }
        }
예제 #2
0
        protected override void CheckScene(FbxScene scene)
        {
            base.CheckScene(scene);

            FbxNode rootNode = scene.GetRootNode().GetChild(0);

            Assert.IsNotNull(rootNode);

            FbxMesh sharedMesh = rootNode.GetMesh();

            Assert.IsNotNull(sharedMesh);
            Assert.AreEqual(m_meshName, sharedMesh.GetName());

            int matIndex = rootNode.GetMaterialIndex(m_materialName);

            Assert.GreaterOrEqual(matIndex, 0);
            FbxSurfaceMaterial sharedMat = rootNode.GetMaterial(matIndex);

            Assert.IsNotNull(sharedMat);

            // check that the mesh is the same for all children
            CheckSceneHelper(rootNode, sharedMesh, sharedMat);
        }