예제 #1
0
        /// <summary>Enforce bounds for fields, when changed in inspector.</summary>
        protected override void OnValidate()
        {
            base.OnValidate();

            // Upgrade after a legacy deserialize
            if (m_LegacyHeadingBias != float.MaxValue)
            {
                m_Heading.m_Bias    = m_LegacyHeadingBias;
                m_LegacyHeadingBias = float.MaxValue;
                int heading = (int)m_Heading.m_Definition;
                if (m_RecenterToTargetHeading.LegacyUpgrade(ref heading, ref m_Heading.m_VelocityFilterStrength))
                {
                    m_Heading.m_Definition = (CinemachineOrbitalTransposer.Heading.HeadingDefinition)heading;
                }
                mUseLegacyRigDefinitions = true;
            }
            if (m_LegacyBlendHint != BlendHint.None)
            {
                m_Transitions.m_BlendHint = m_LegacyBlendHint;
                m_LegacyBlendHint         = BlendHint.None;
            }
            m_YAxis.Validate();
            m_XAxis.Validate();
            m_RecenterToTargetHeading.Validate();
            m_YAxisRecentering.Validate();
            m_Lens.Validate();

            InvalidateRigCache();
        }
 public CustomBlend(BlendHint blendHint, bool inheritPosition)
 {
     From            = ANY_CAMERA_LABEL;
     To              = ANY_CAMERA_LABEL;
     BlendHint       = blendHint;
     InheritPosition = inheritPosition;
 }
 /// <summary>Enforce bounds for fields, when changed in inspector.</summary>
 protected override void OnValidate()
 {
     base.OnValidate();
     m_Lens.Validate();
     if (m_LegacyBlendHint != BlendHint.None)
     {
         m_Transitions.m_BlendHint = m_LegacyBlendHint;
         m_LegacyBlendHint         = BlendHint.None;
     }
 }
 public override void Read(PackFileDeserializer des, BinaryReaderEx br)
 {
     base.Read(des, br);
     m_originalSkeletonName         = des.ReadStringPointer(br);
     m_animation                    = des.ReadClassPointer <hkaAnimation>(br);
     m_transformTrackToBoneIndices  = des.ReadInt16Array(br);
     m_floatTrackToFloatSlotIndices = des.ReadInt16Array(br);
     m_partitionIndices             = des.ReadInt16Array(br);
     m_blendHint                    = (BlendHint)br.ReadSByte();
     br.ReadUInt32();
     br.ReadUInt16();
     br.ReadByte();
 }
예제 #5
0
        /// <summary>Applies a position blend hint to a camera state</summary>
        /// <param name="state">The state to apply the hint to</param>
        /// <param name="hint">The hint to apply</param>
        protected void ApplyPositionBlendMethod(ref CameraState state, BlendHint hint)
        {
            switch (hint)
            {
            default:
                break;

            case BlendHint.SphericalPosition:
                state.BlendHint |= CameraState.BlendHintValue.SphericalPositionBlend;
                break;

            case BlendHint.CylindricalPosition:
                state.BlendHint |= CameraState.BlendHintValue.CylindricalPositionBlend;
                break;

            case BlendHint.ScreenSpaceAimWhenTargetsDiffer:
                state.BlendHint |= CameraState.BlendHintValue.RadialAimBlend;
                break;
            }
        }
예제 #6
0
        /// <summary>Enforce bounds for fields, when changed in inspector.</summary>
        protected override void OnValidate()
        {
            base.OnValidate();

            // Upgrade after a legacy deserialize
            if (m_LegacyHeadingBias != float.MaxValue)
            {
                m_Heading.m_Bias    = m_LegacyHeadingBias;
                m_LegacyHeadingBias = float.MaxValue;
                int heading = (int)m_Heading.m_Definition;
                if (m_RecenterToTargetHeading.LegacyUpgrade(ref heading, ref m_Heading.m_VelocityFilterStrength))
                {
                    m_Heading.m_Definition = (CinemachineOrbitalTransposer.Heading.HeadingDefinition)heading;
                }
                mUseLegacyRigDefinitions = true;
            }
            if (m_LegacyBlendHint != BlendHint.None)
            {
                m_Transitions.m_BlendHint = m_LegacyBlendHint;
                m_LegacyBlendHint         = BlendHint.None;
            }
            m_YAxis.Validate();
            m_XAxis.Validate();
            m_RecenterToTargetHeading.Validate();
            m_YAxisRecentering.Validate();
            m_Lens.Validate();

            InvalidateRigCache();

#if UNITY_EDITOR
            for (int i = 0; m_Rigs != null && i < 3 && i < m_Rigs.Length; ++i)
            {
                if (m_Rigs[i] != null)
                {
                    CinemachineVirtualCamera.SetFlagsForHiddenChild(m_Rigs[i].gameObject);
                }
            }
#endif
        }
 public TransitionBlendDefinition(CustomBlend customBlend)
 {
     BlendHint       = customBlend.BlendHint;
     InheritPosition = customBlend.InheritPosition;
 }
 public TransitionBlendDefinition(BlendHint blendHint, bool inheritPosition)
 {
     BlendHint       = blendHint;
     InheritPosition = inheritPosition;
 }