public void transformFrame(Frame source, Frame dest)
        {
            LeapTransform leapTransform;

            _temporalWarping = null;
            //////////////////////////////////////////////
            // 细细研究这个问题  弄清楚是为什么
            /////////////////////////////////////////////
            if (_temporalWarping != null)
            {
                Vector3    warpedPosition;
                Quaternion warpedRotation;
                _temporalWarping.TryGetWarpedTransform(LeapVRTemporalWarping.WarpedAnchor.CENTER, out warpedPosition, out warpedRotation, source.Timestamp);

                warpedRotation = warpedRotation * transform.localRotation;

                leapTransform = new LeapTransform(warpedPosition.ToVector(), warpedRotation.ToLeapQuaternion(), transform.lossyScale.ToVector() * 1e-3f);
                leapTransform.MirrorZ();
            }
            else
            {
                leapTransform = transform.GetLeapMatrix();
            }

            dest.CopyFrom(source).Transform(leapTransform);
        }
        protected virtual void Reset()
        {
            if (checkShouldEnableHeadMounted())
            {
                _isHeadMounted = true;
            }

            _temporalWarping     = GetComponentInParent <LeapVRTemporalWarping>();
            _frameOptimization   = FrameOptimizationMode.None;
            _updateHandInPrecull = false;
        }