Exemplo n.º 1
0
        public IEnumerator SetLocalPosRot_UsingProperties_ExpectCorrectLocalPosRotRelativeToAnchor()
        {
            var(goRoot_0, goRoot_0_0)        = createStub(MethodBase.GetCurrentMethod());
            goRoot_0.transform.localPosition = new Vector3(1, 2, 3);

            var tfLink = goRoot_0_0.GetComponent <AnchorTransform>();

            var anchor     = tfLink.AnchorOverride;
            var parent     = goRoot_0_0.transform.parent;
            var tfExpected = new GameObject("expected transform").transform;

            tfExpected.parent = tfLink.AnchorOverride;

            var n = 100;

            for (var i = 0; i < n; i++)
            {
                var pose = GetSamplePose(i, n);

                tfLink.localPosition = pose.position;
                tfLink.localRotation = pose.rotation;

                tfExpected.parent   = anchor;
                tfExpected.position = pose.position;
                tfExpected.rotation = pose.rotation;
                tfExpected.parent   = parent;

                yield return(null); //skip a frame to trigger update values

                //Assert.AreEqual( tfExpected.localRotation.eulerAngles, goRoot_0_0.transform.localRotation.eulerAngles );
                Asserts.AreApproximatelyEqual(tfExpected.localPosition, goRoot_0_0.transform.localPosition);
                Asserts.AreApproximatelyEqual(tfExpected.localRotation, goRoot_0_0.transform.localRotation);
            }
        }
Exemplo n.º 2
0
        public IEnumerator SetLocalPosRot_UsingAnimationClip_ExpectCorrectPosRot()
        {
            var(_, gameObject) = createStub(MethodBase.GetCurrentMethod());

            var n    = 100;
            var clip = CreateSamplePosesAnimationClip(n);

            for (var i = 0; i < n; i++)
            {
                clip.SampleAnimation(gameObject, i);
                var pose = GetSamplePose(i, n);

                yield return(null); //skip a frame to trigger update values

                Asserts.AreApproximatelyEqual(pose.position, gameObject.transform.localPosition);
                Asserts.AreApproximatelyEqual(pose.rotation, gameObject.transform.localRotation);
            }
        }