예제 #1
0
        protected override void CheckScene(FbxScene scene)
        {
            base.CheckScene(scene);

            FbxScene origScene = CreateScene(FbxManager);

            FbxNode origCameraNode   = origScene.GetRootNode().GetChild(0);
            FbxNode importCameraNode = scene.GetRootNode().GetChild(0);

            Assert.IsNotNull(origCameraNode);
            Assert.IsNotNull(importCameraNode);

            Assert.AreEqual(origScene.GetGlobalSettings().GetDefaultCamera(), scene.GetGlobalSettings().GetDefaultCamera());

            FbxCamera origCamera   = origCameraNode.GetCamera();
            FbxCamera importCamera = importCameraNode.GetCamera();

            Assert.IsNotNull(origCamera);
            Assert.IsNotNull(importCamera);

            CheckCameraSettings(origCamera, importCamera, origCameraNode, importCameraNode);

            // check anim
            FbxAnimStack origAnimStack = origScene.GetCurrentAnimationStack();
            FbxAnimLayer origAnimLayer = origAnimStack.GetAnimLayerMember();

            Assert.IsNotNull(origAnimStack);
            Assert.IsNotNull(origAnimLayer);

            FbxAnimStack importAnimStack = scene.GetCurrentAnimationStack();
            FbxAnimLayer importAnimLayer = importAnimStack.GetAnimLayerMember();

            Assert.IsNotNull(importAnimStack);
            Assert.IsNotNull(importAnimLayer);

            CheckAnimCurve(origCameraNode, importCameraNode, origAnimLayer, importAnimLayer, new List <PropertyComponentPair>()
            {
                new PropertyComponentPair("backgroundColor", new string[] {
                    Globals.FBXSDK_CURVENODE_COLOR_RED,
                    Globals.FBXSDK_CURVENODE_COLOR_GREEN,
                    Globals.FBXSDK_CURVENODE_COLOR_BLUE, "W"
                }),
                new PropertyComponentPair("FocalLength", new string[] { null }),
                new PropertyComponentPair("clearFlags", new string[] { null })
            }, origCamera, importCamera);
        }