Esempio n. 1
0
        /// <summary>
        /// Prompt the AlignmentManager to compute a new alignment pose, then apply it to the target subtree.
        /// </summary>
        private void Update()
        {
            Debug.Assert(alignmentManager != null);

            CheckAutoLoad();

            var wltMgr = WorldLockingManager.GetInstance();

            Debug.Assert(alignmentManager != wltMgr.AlignmentManager);

            Pose lockedHeadPose = wltMgr.LockedFromPlayspace.Multiply(wltMgr.PlayspaceFromSpongy.Multiply(wltMgr.SpongyFromCamera));

            alignmentManager.ComputePinnedPose(lockedHeadPose);
            var pinnedFromLocked = alignmentManager.PinnedFromLocked;
            var lockedFromPinned = pinnedFromLocked.Inverse();

            if (wltMgr.ApplyAdjustment)
            {
                subTree.SetGlobalPose(lockedFromPinned);
            }
            else
            {
                var spongyFromLocked = wltMgr.SpongyFromLocked;
                var pinnedFromFrozen = wltMgr.PinnedFromFrozen;

                var spongyFromFrozen = spongyFromLocked.Multiply(lockedFromPinned).Multiply(pinnedFromFrozen);
                subTree.SetGlobalPose(spongyFromFrozen);
            }

            CheckAutoSave();
        }
        /// <summary>
        /// Prompt the AlignmentManager to compute a new alignment pose, then apply it to the target subtree.
        /// </summary>
        private void Update()
        {
            Debug.Assert(alignmentManager != null);

            CheckLoad();

            var wltMgr = WorldLockingManager.GetInstance();

            Debug.Assert(alignmentManager != wltMgr.AlignmentManager);

            Pose lockedHeadPose = wltMgr.LockedFromPlayspace.Multiply(wltMgr.PlayspaceFromSpongy.Multiply(wltMgr.SpongyFromCamera));

            alignmentManager.ComputePinnedPose(lockedHeadPose);
            var pinnedFromLocked = alignmentManager.PinnedFromLocked;
            var lockedFromPinned = pinnedFromLocked.Inverse();

            subTree.SetGlobalPose(lockedFromPinned);
        }