void El_DrawAnimatorSetup() { GUILayout.Space(6); bool detected = true; if (Get.BaseTransform) { if (Get.SyncWithAnimator) { detected = FGUI_Finders.CheckForAnimator(Get.BaseTransform.gameObject); } } if (!detected) { GUI.color = new Color(.9f, .9f, 0.6f, 1f); } EditorGUILayout.BeginHorizontal(); EditorGUIUtility.labelWidth = 147; EditorGUILayout.PropertyField(sp_SyncWithAnimator); EditorGUIUtility.labelWidth = 0; EditorGUILayout.PropertyField(sp_StartAfterTPose); EditorGUILayout.EndHorizontal(); if (Get.SyncWithAnimator) { GUILayout.Space(6); EditorGUILayout.BeginHorizontal(); EditorGUIUtility.labelWidth = 156; EditorGUILayout.PropertyField(sp_DetectZeroKeyframes); EditorGUIUtility.labelWidth = 0; EditorGUILayout.EndHorizontal(); } else { } GUI.color = c; GUILayout.Space(6); }
//private SerializedProperty sp_IKMaxStretching; //private SerializedProperty sp_IKStretchCurve; protected virtual void OnEnable() { FGUI_Finders.ResetFinders(); sp_StartBone = serializedObject.FindProperty("StartBone"); sp_SmoothingStyle = serializedObject.FindProperty("SmoothingStyle"); sp_ReactSpeed = serializedObject.FindProperty("ReactionSpeed"); sp_RotRelev = serializedObject.FindProperty("RotationRelevancy"); sp_Sustain = serializedObject.FindProperty("Sustain"); sp_MaxStretching = serializedObject.FindProperty("MaxStretching"); sp_Springiness = serializedObject.FindProperty("Springiness"); sp_SpringinessCurling = serializedObject.FindProperty("SpringyCurling"); sp_Slithery = serializedObject.FindProperty("Slithery"); sp_UpdateRate = serializedObject.FindProperty("UpdateRate"); sp_DeltaType = serializedObject.FindProperty("DeltaType"); sp_TailAnimatorAmount = serializedObject.FindProperty("TailAnimatorAmount"); sp_DetectZeroKeyframes = serializedObject.FindProperty("DetectZeroKeyframes"); sp_UpdateAsLast = serializedObject.FindProperty("UpdateAsLast"); sp_SyncWithAnimator = serializedObject.FindProperty("SyncWithAnimator"); sp_StartAfterTPose = serializedObject.FindProperty("StartAfterTPose"); sp_EndBoneJointOffset = serializedObject.FindProperty("EndBoneJointOffset"); sp_Boost = serializedObject.FindProperty("Tangle"); sp_collMode = serializedObject.FindProperty("CollisionMode"); sp_AnimatePhysics = serializedObject.FindProperty("AnimatePhysics"); sp_FixedCycle = serializedObject.FindProperty("FixedCycle"); sp_LengthMultiplier = serializedObject.FindProperty("LengthMultiplier"); sp_smoothdelta = serializedObject.FindProperty("SafeDeltaTime"); sp_useCollision = serializedObject.FindProperty("UseCollision"); sp_curving = serializedObject.FindProperty("Curving"); sp_DynamicWorldCollidersInclusion = serializedObject.FindProperty("DynamicWorldCollidersInclusion"); sp_gravity = serializedObject.FindProperty("Gravity"); sp_InclusionRadius = serializedObject.FindProperty("InclusionRadius"); sp_colScale = serializedObject.FindProperty("CollidersScaleCurve"); sp_colScaleMul = serializedObject.FindProperty("CollidersScaleMul"); sp_colBoxDim = serializedObject.FindProperty("BoxesDimensionsMul"); sp_colDiffFact = serializedObject.FindProperty("CollisionsAutoCurve"); sp_colWithOther = serializedObject.FindProperty("CollideWithOtherTails"); sp_RigidbodyMass = serializedObject.FindProperty("RigidbodyMass"); sp_Detach = serializedObject.FindProperty("DetachChildren"); sp_colIgnored = serializedObject.FindProperty("IgnoredColliders"); sp_Unify = serializedObject.FindProperty("UnifyBendiness"); sp_AnimateRoll = serializedObject.FindProperty("AnimateRoll"); sp_Axis2D = serializedObject.FindProperty("Axis2D"); sp_colSameLayer = serializedObject.FindProperty("CollidersSameLayer"); sp_colCustomLayer = serializedObject.FindProperty("CollidersLayer"); sp_colAddRigs = serializedObject.FindProperty("CollidersAddRigidbody"); sp_RootRotationOffset = serializedObject.FindProperty("RootRotationOffset"); sp_RootPositionOffset = serializedObject.FindProperty("RootPositionOffset"); sp_CollisionSpace = serializedObject.FindProperty("CollisionSpace"); sp_ReflectCollision = serializedObject.FindProperty("ReflectCollision"); sp_IncludedColliders = serializedObject.FindProperty("IncludedColliders"); sp_DetailedCollision = serializedObject.FindProperty("CheapCollision"); sp_IncludedColliders = serializedObject.FindProperty("IncludedColliders"); sp_AngleLimit = serializedObject.FindProperty("AngleLimit"); sp_AngleLimitAxis = serializedObject.FindProperty("AngleLimitAxis"); //sp_AngleLimitAxisTo = serializedObject.FindProperty("LimitAxisRange"); sp_LimitSmoothing = serializedObject.FindProperty("LimitSmoothing"); sp_MotionInfluence = serializedObject.FindProperty("MotionInfluence"); sp_CollidersType = serializedObject.FindProperty("CollidersType"); sp_OptimizeWithMesh = serializedObject.FindProperty("OptimizeWithMesh"); sp_altWave = serializedObject.FindProperty("AlternateWave"); sp_wavType = serializedObject.FindProperty("WavingType"); sp_useWav = serializedObject.FindProperty("UseWaving"); sp_cosAd = serializedObject.FindProperty("CosinusAdd"); sp_wavSp = serializedObject.FindProperty("WavingSpeed"); sp_wavRa = serializedObject.FindProperty("WavingRange"); sp_wavAx = serializedObject.FindProperty("WavingAxis"); sp_tailRotOff = serializedObject.FindProperty("RotationOffset"); sp_BlendCurve = serializedObject.FindProperty("BlendCurve"); sp_CollisionSlippery = serializedObject.FindProperty("CollisionSlippery"); //sp_BlendChainValue = serializedObject.FindProperty("BlendChainValue"); //sp_BlendChainFaloff = serializedObject.FindProperty("BlendChainFaloff"); sp_UsePosSpeedCurve = serializedObject.FindProperty("UsePosSpeedCurve"); sp_UseRotSpeedCurve = serializedObject.FindProperty("UseRotSpeedCurve"); sp_UseSlitCurve = serializedObject.FindProperty("UseSlitheryCurve"); sp_UseCurvingCurve = serializedObject.FindProperty("UseCurvingCurve"); sp_UseLengthMulCurve = serializedObject.FindProperty("UseLengthMulCurve"); sp_UseGravCurv = serializedObject.FindProperty("UseGravityCurve"); sp_PosCurve = serializedObject.FindProperty("PosCurve"); sp_RotCurve = serializedObject.FindProperty("RotCurve"); sp_SlitCurve = serializedObject.FindProperty("SlitheryCurve"); sp_CurvCurve = serializedObject.FindProperty("CurvCurve"); sp_LengthMulCurve = serializedObject.FindProperty("LengthMulCurve"); sp_InclusionRadius = serializedObject.FindProperty("InclusionRadius"); sp_GravityCurve = serializedObject.FindProperty("GravityCurve"); sp_SpringCurve = serializedObject.FindProperty("SpringCurve"); sp_UseSpringCurve = serializedObject.FindProperty("UseSpringCurve"); sp_UseSlipperyCurve = serializedObject.FindProperty("UseSlipperyCurve"); sp_SlipperyCurve = serializedObject.FindProperty("SlipperyCurve"); sp_UseCurlingCurve = serializedObject.FindProperty("UseCurlingCurve"); sp_IgnoreMeshColliders = serializedObject.FindProperty("IgnoreMeshColliders"); sp_CollideWithDisabledColliders = serializedObject.FindProperty("CollideWithDisabledColliders"); sp_Curling = serializedObject.FindProperty("Curling"); sp_CurlingCurve = serializedObject.FindProperty("CurlingCurve"); sp_UseWind = serializedObject.FindProperty("UseWind"); sp_WindEffectPower = serializedObject.FindProperty("WindEffectPower"); sp_WindTurbulencePower = serializedObject.FindProperty("WindTurbulencePower"); sp_WindWorldNoisePower = serializedObject.FindProperty("WindWorldNoisePower"); //sp_SimulationSpeed = serializedObject.FindProperty("SimulationSpeed"); sp_Optim = serializedObject.FindProperty("InterpolateRate"); sp_Prewarm = serializedObject.FindProperty("Prewarm"); sp_UseIK = serializedObject.FindProperty("UseIK"); sp_usePartialBlend = serializedObject.FindProperty("UsePartialBlend"); sp_IKTarget = serializedObject.FindProperty("IKTarget"); sp_IKAutoWeights = serializedObject.FindProperty("IKAutoWeights"); sp_IKweightCurve = serializedObject.FindProperty("IKReactionWeightCurve"); sp_IKAutoAngleLimit = serializedObject.FindProperty("IKAutoAngleLimit"); sp_IKAutoAngleLimits = serializedObject.FindProperty("IKAutoAngleLimits"); sp_IKReactionQuality = serializedObject.FindProperty("IKReactionQuality"); sp_IKSmoothing = serializedObject.FindProperty("IKSmoothing"); sp_IKBaseReactionWeight = serializedObject.FindProperty("IKBaseReactionWeight"); sp_IKContinous = serializedObject.FindProperty("IKContinousSolve"); //sp_IKMaxStretching = serializedObject.FindProperty("IKMaxStretching"); //sp_IKStretchCurve = serializedObject.FindProperty("IKStretchCurve"); sp_IKLimitSettings = serializedObject.FindProperty("IKLimitSettings"); sp_IKBlend = serializedObject.FindProperty("IKBlend"); sp_IKAnimatorBlend = serializedObject.FindProperty("IKAnimatorBlend"); sp_Deflection = serializedObject.FindProperty("Deflection"); sp_DeflectionFalloff = serializedObject.FindProperty("DeflectionFalloff"); sp_DeflectionSmooth = serializedObject.FindProperty("DeflectionSmooth"); sp_DeflectionStartAngle = serializedObject.FindProperty("DeflectionStartAngle"); sp_DeflectOnlyCollisions = serializedObject.FindProperty("DeflectOnlyCollisions"); sp_UseMaxDistance = serializedObject.FindProperty("UseMaxDistance"); sp_DistanceFrom = serializedObject.FindProperty("DistanceFrom"); sp_MaximumDistance = serializedObject.FindProperty("MaximumDistance"); sp_MaxOutDistanceFactor = serializedObject.FindProperty("MaxOutDistanceFactor"); sp_DistanceWithoutY = serializedObject.FindProperty("DistanceWithoutY"); sp_DistanceMeasurePoint = serializedObject.FindProperty("DistanceMeasurePoint"); sp_FadeDuration = serializedObject.FindProperty("FadeDuration"); FindComponents(); Get.CheckForNullsInGhostChain(); // First assignment if (!startBone) { if (skins.Count != 0) { // If skins found ad this transform is part of any skeleton then this transform will be start bone bool contains = false; for (int i = 0; i < skins.Count; i++) { if (contains) { break; } for (int b = 0; b < skins[i].bones.Length; b++) { if (skins[i].bones[b] == Get.transform) { contains = true; break; } } } if (contains) { startBone = Get.transform; Get.GetGhostChain(); } else { // If skins are found, we assigning first bone from it startBone = largestSkin.bones[0]; Get.GetGhostChain(); } } } if (Get._TransformsGhostChain == null) { Get._TransformsGhostChain = new System.Collections.Generic.List <Transform>(); serializedObject.ApplyModifiedProperties(); serializedObject.Update(); } if (Get.UseIK || Get.UseWaving) { if (Get.UseWaving) { drawWaving = true; } else { drawWaving = false; } } if (Get.UnifyBendiness > 0f || Get.Sustain > 0f) { drawTweakAdditional = true; } if (((Get.ReactionSpeed >= 1f || Get.ReactionSpeed >= 0.99f) && !Get.UseRotSpeedCurve) && (Get.RotationRelevancy >= 1f && !Get.UseRotSpeedCurve)) { drawSmoothing = false; } else if (Get.UseRotSpeedCurve || Get.UsePosSpeedCurve) { drawSmoothing = true; } if (Get.UseCollision) { drawCollisions = true; } if (Get.Deflection > Mathf.Epsilon) { drawDefl = true; } if (Get._editor_animatorViewedCounter < 1) { Get._editor_animatorViewedCounter++; if (startBone == null) { topWarning = "No skinned bones found - assign 'Start Bone'"; topWarningAlpha = 1.5f; } else { topWarning = "Automatically found start bone - please check if it is correct one"; topWarningAlpha = 1.85f; } } SetupLangs(); }
protected virtual void OnEnable() { //sp_spines = serializedObject.FindProperty("SpineTransforms"); sp_forw = serializedObject.FindProperty("BaseTransform"); //sp_drawg = serializedObject.FindProperty("drawGizmos"); sp_SpineAnimatorAmount = serializedObject.FindProperty("SpineAnimatorAmount"); sp_LastBoneLeading = serializedObject.FindProperty("LastBoneLeading"); sp_ReverseForward = serializedObject.FindProperty("ReverseForward"); //sp_SyncWithAnimator = serializedObject.FindProperty("SyncWithAnimator"); //sp_DetectZeroKeyframes = serializedObject.FindProperty("DetectZeroKeyframes"); sp_BackwardMovement = serializedObject.FindProperty("BackwardMovement"); sp_PhysicalClock = serializedObject.FindProperty("AnimatePhysics"); sp_OptimizeWithMesh = serializedObject.FindProperty("OptimizeWithMesh"); sp_LeadBoneOffsetReference = serializedObject.FindProperty("LeadBoneOffsetReference"); sp_UseCorrections = serializedObject.FindProperty("UseCorrections"); sp_HeadAnchor = serializedObject.FindProperty("HeadAnchor"); sp_AnimateAnchor = serializedObject.FindProperty("AnimateAnchor"); sp_UpdateAsLast = serializedObject.FindProperty("UpdateAsLast"); sp_MotionInfluence = serializedObject.FindProperty("MotionInfluence"); sp_MotionSpace = serializedObject.FindProperty("MotionSpace"); sp_ManualAffects = serializedObject.FindProperty("ManualAffectChain"); sp_ModelForwardAxis = serializedObject.FindProperty("ModelForwardAxis"); sp_ModelUpAxis = serializedObject.FindProperty("ModelUpAxis"); sp_RoundCorrection = serializedObject.FindProperty("RoundCorrection"); sp_UnifyCorrection = serializedObject.FindProperty("UnifyCorrection"); sp_StartAfterTPose = serializedObject.FindProperty("StartAfterTPose"); sp_InversedVerticalRotation = serializedObject.FindProperty("InversedVerticalRotation"); sp_OrientationReference = serializedObject.FindProperty("OrientationReference"); sp_DeltaType = serializedObject.FindProperty("DeltaType"); sp_PositionsSmoother = serializedObject.FindProperty("PosSmoother"); sp_RotationsSmoother = serializedObject.FindProperty("RotSmoother"); sp_MaxStretching = serializedObject.FindProperty("MaxStretching"); sp_Slithery = serializedObject.FindProperty("Slithery"); sp_AngleLimit = serializedObject.FindProperty("AngleLimit"); sp_LimitingAngleSmoother = serializedObject.FindProperty("LimitSmoother"); sp_StraighteningSpeed = serializedObject.FindProperty("StraightenSpeed"); sp_TurboStraighten = serializedObject.FindProperty("TurboStraighten"); sp_GoBackSpeed = serializedObject.FindProperty("GoBackSpeed"); sp_Springiness = serializedObject.FindProperty("Springiness"); sp_SegmentsPivotOffset = serializedObject.FindProperty("SegmentsPivotOffset"); sp_MainPivotOffset = serializedObject.FindProperty("MainPivotOffset"); sp_DistancesMul = serializedObject.FindProperty("DistancesMultiplier"); sp_LeadBoneRotationOffset = serializedObject.FindProperty("LeadBoneRotationOffset"); sp_UseCollisions = serializedObject.FindProperty("UseCollisions"); sp_IncludedColliders = serializedObject.FindProperty("IncludedColliders"); sp_CollidersScale = serializedObject.FindProperty("CollidersScale"); sp_CollidersScaleMul = serializedObject.FindProperty("CollidersScaleMul"); sp_CollidersAutoCurve = serializedObject.FindProperty("DifferenceScaleFactor"); sp_GravityPower = serializedObject.FindProperty("GravityPower"); sp_AllCollidersOffset = serializedObject.FindProperty("OffsetAllColliders"); sp_UseTruePosition = serializedObject.FindProperty("UseTruePosition"); sp_DetailedCollision = serializedObject.FindProperty("DetailedCollision"); sp_UpdateRate = serializedObject.FindProperty("UpdateRate"); BackCompatibilityConversion(); FGUI_Finders.ResetFinders(false); FindComponents(); AutoSuggestChain(); if (Get.SpineBones != null) { if (Get.SpineBones.Count > 0) { if (Get.SpineBones[Get.SpineBones.Count - 1].transform) { if (Get.SpineBones[Get.SpineBones.Count - 1].transform != Get._gizmosEditorStartPreview) { Get._gizmosEditorEndPreview = Get.SpineBones[Get.SpineBones.Count - 1].transform; } } if (Get.SpineBones[0].transform) { if (Get.SpineBones[0].transform != Get._gizmosEditorEndPreview) { Get._gizmosEditorStartPreview = Get.SpineBones[0].transform; } } } } if (hideSkin) { for (int i = 0; i < skins.Count; i++) { skins[i].shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.ShadowsOnly; } } // Detecting if using few spine animators if (Get.BaseTransform != Get.transform) { if (Get.BaseTransform != null) { if (Get.BaseTransform.GetComponent <FSpineAnimator>()) { anchoringWarning = true; drawCorrecting = true; drawAnchoring = true; } } } if (Get.UseCollisions) { drawPhysics = true; } if (Get.SpineBones == null) { Get.SpineBones = new List <FSpineAnimator.SpineBone>(); } if (Get.SpineBones.Count < 1) { if (SceneView.lastActiveSceneView) { SceneView.lastActiveSceneView.FrameSelected(); } } if (animator) { if (animator.updateMode == AnimatorUpdateMode.AnimatePhysics) { if (Get.AnimatePhysics == false) { drawSetup = true; drawAdditionalSetup = true; } } } }
//ModelForwardAxis protected virtual void OnEnable() { sp_tofollow = serializedObject.FindProperty("ObjectToFollow"); sp_lookBones = serializedObject.FindProperty("LookBones"); sp_FollowOffset = serializedObject.FindProperty("FollowOffset"); sp_FollowMode = serializedObject.FindProperty("FollowMode"); sp_leadbone = serializedObject.FindProperty("LeadBone"); sp_AutoBackbonesWeights = serializedObject.FindProperty("AutoBackbonesWeights"); sp_basetr = serializedObject.FindProperty("BaseTransform"); sp_rotspd = serializedObject.FindProperty("RotationSpeed"); sp_usmooth = serializedObject.FindProperty("UltraSmoother"); sp_backbcount = serializedObject.FindProperty("BackBonesCount"); sp_falloff = serializedObject.FindProperty("BackBonesFalloff"); //sp_CustomWeights = serializedObject.FindProperty("CustomWeights"); sp_clamph = serializedObject.FindProperty("XRotationLimits"); sp_clampv = serializedObject.FindProperty("YRotationLimits"); sp_maxdiff = serializedObject.FindProperty("StopLookingAbove"); sp_chretspeed = serializedObject.FindProperty("ChangeTargetSmoothing"); //sp_animwithsource = serializedObject.FindProperty("SyncWithAnimator"); sp_angoff = serializedObject.FindProperty("RotationOffset"); sp_axesmul = serializedObject.FindProperty("RotCorrectionMultiplier"); sp_AnimationStyle = serializedObject.FindProperty("AnimationStyle"); sp_DeltaAcc = serializedObject.FindProperty("QuickerRotateAbove"); //sp_LookState = serializedObject.FindProperty("LookState"); sp_blend = serializedObject.FindProperty("LookAnimatorAmount"); sp_eyespos = serializedObject.FindProperty("StartLookPointOffset"); sp_ancheyes = serializedObject.FindProperty("AnchorStartLookPoint"); sp_anchrefr = serializedObject.FindProperty("RefreshStartLookPoint"); sp_leadblend = serializedObject.FindProperty("LeadBoneWeight"); //sp_rotaoff = serializedObject.FindProperty("SyncWithAnimator"); sp_monitor = serializedObject.FindProperty("MonitorAnimator"); sp_compensblend = serializedObject.FindProperty("CompensationWeight"); sp_compensblendB = serializedObject.FindProperty("CompensationWeightB"); sp_poscompens = serializedObject.FindProperty("CompensatePositions"); sp_poscompensB = serializedObject.FindProperty("CompensatePositionsB"); sp_weighmul = serializedObject.FindProperty("WeightsMultiplier"); //sp_DetectZeroKeyframes = serializedObject.FindProperty("DetectZeroKeyframes"); sp_auto = serializedObject.FindProperty("AutomaticFix"); sp_manfromax = serializedObject.FindProperty("ManualFromAxis"); sp_mantoax = serializedObject.FindProperty("ManualToAxis"); sp_lookdirection = serializedObject.FindProperty("LookDirection"); sp_autooff = serializedObject.FindProperty("OffsetAuto"); sp_autofrom = serializedObject.FindProperty("FromAuto"); sp_fixpres = serializedObject.FindProperty("FixingPreset"); sp_elasticX = serializedObject.FindProperty("XElasticRange"); sp_elasticY = serializedObject.FindProperty("YElasticRange"); sp_starttpose = serializedObject.FindProperty("StartAfterTPose"); sp_dray = serializedObject.FindProperty("DebugRays"); sp_usecurve = serializedObject.FindProperty("CurveSpread"); sp_fallvall = serializedObject.FindProperty("FaloffValue"); sp_backoff = serializedObject.FindProperty("BackBonesAddOffset"); //sp_180prev = serializedObject.FindProperty("Fix180"); sp_maxdist = serializedObject.FindProperty("MaximumDistance"); sp_distMeasureOffset = serializedObject.FindProperty("DistanceMeasurePoint"); sp_dist2D = serializedObject.FindProperty("Distance2D"); sp_bird = serializedObject.FindProperty("BirdMode"); sp_birdlag = serializedObject.FindProperty("LagRotation"); sp_birdfreq = serializedObject.FindProperty("LagEvery"); //sp_birdspd = serializedObject.FindProperty("LaggySpeed"); sp_birddel = serializedObject.FindProperty("DelayPosition"); sp_birmaxdist = serializedObject.FindProperty("DelayMaxDistance"); sp_birddelgospeed = serializedObject.FindProperty("DelayGoSpeed"); sp_animphys = serializedObject.FindProperty("AnimatePhysics"); sp_LookWhenAbove = serializedObject.FindProperty("LookWhenAbove"); sp_LookWhenAboveVertical = serializedObject.FindProperty("LookWhenAboveVertical"); //sp_LookAboveCurve = serializedObject.FindProperty("StartLookCurve"); //sp_LookAboveEnvelope = serializedObject.FindProperty("StartLook"); sp_OptimizeWithMesh = serializedObject.FindProperty("OptimizeWithMesh"); sp_NoddingTransitions = serializedObject.FindProperty("NoddingTransitions"); sp_BackBonesNod = serializedObject.FindProperty("BackBonesNod"); sp_NodAxis = serializedObject.FindProperty("NodAxis"); sp_HoldRotateToOppositeUntil = serializedObject.FindProperty("HoldRotateToOppositeUntil"); sp_ModelForwardAxis = serializedObject.FindProperty("ModelForwardAxis"); sp_ModelUpAxis = serializedObject.FindProperty("ModelUpAxis"); sp_DetectionFactor = serializedObject.FindProperty("MaxOutDistanceFactor"); sp_LookAtPositionSmoother = serializedObject.FindProperty("LookAtPositionSmoother"); sp_DestroyMomentTransformOnMaxDistance = serializedObject.FindProperty("DestroyMomentTargetOnMaxDistance"); sp_DeltaType = serializedObject.FindProperty("DeltaType"); sp_SimulationSpeed = serializedObject.FindProperty("SimulationSpeed"); sp_StartLookElasticRangeX = serializedObject.FindProperty("StartLookElasticRangeX"); sp_StartLookElasticRangeY = serializedObject.FindProperty("StartLookElasticRangeY"); sp_MaxRotationSpeed = serializedObject.FindProperty("MaxRotationSpeed"); sp_WhenAboveEraseAfter = serializedObject.FindProperty("WhenAboveGoBackAfter"); sp_WhenAboveEraseAfterVertical = serializedObject.FindProperty("WhenAboveGoBackAfterVertical"); sp_WhenAboveGoBackDuration = serializedObject.FindProperty("WhenAboveGoBackDuration"); sp_BaseRotationCompensation = serializedObject.FindProperty("BaseRotationCompensation"); CheckForComponents(); sp_CompensationWeightB = serializedObject.FindProperty("CompensationWeightB"); sp_CompensatePositionsB = serializedObject.FindProperty("CompensatePositionsB"); sp_BigAngleAutomation = serializedObject.FindProperty("BigAngleAutomation"); sp_BigAngleAutomationCompensation = serializedObject.FindProperty("BigAngleAutomationCompensation"); // EYES sp_eyeL = serializedObject.FindProperty("LeftEye"); sp_eyeLInv = serializedObject.FindProperty("InvertLeftEye"); sp_eyeR = serializedObject.FindProperty("RightEye"); sp_eyeRInv = serializedObject.FindProperty("InvertRightEye"); sp_head = serializedObject.FindProperty("HeadReference"); sp_eyesTarget = serializedObject.FindProperty("EyesTarget"); sp_eyesSpeed = serializedObject.FindProperty("EyesSpeed"); sp_eyesBlend = serializedObject.FindProperty("EyesBlend"); sp_EyesOffsetRotation = serializedObject.FindProperty("EyesOffsetRotation"); sp_EyesXRange = serializedObject.FindProperty("EyesXRange"); sp_EyesYRange = serializedObject.FindProperty("EyesYRange"); sp_EyesNoKeyframes = serializedObject.FindProperty("EyesNoKeyframes"); if (Get.CompensationBones == null) { Get.CompensationBones = new List <FLookAnimator.CompensationBone>(); } // Checking which tabs should be opened for faster workflow //if ( Get.BackBonesCount == 0 ) //{ // drawSetup = true; // drawBackBones = true; //} if (Get.LeadBone == null || Get.BaseTransform == null) { drawSetup = true; //if (Get.BackBonesCount == 0) drawBackBones = true; else drawBackBones = false; drawTweaking = false; drawAdditional = false; drawCorrecting = false; } else { if (Get.BackBonesCount == 0) { drawSetup = true; drawBackBones = true; } else { drawSetup = false; } drawTweaking = true; drawAdditional = false; drawCorrecting = false; } if (Get.UseEyes) { drawEyesSettings = true; if (Get.LeftEye != null && Get.HeadReference != null) { drawEyesSetup = false; } else { drawEyesSetup = true; } } FGUI_Finders.ResetFinders(false); SetupLangs(); }