private void ShowIk() { EditorGUILayout.Space(); if (_melee) { EditorGUILayout.LabelField("NOTE: Melee Weapons are handled entirely by animation. Ik is not used.", EditorStyles.helpBox); EditorGUILayout.Space(); return; } EditorGUILayout.LabelField("NOTE: Configure weapons for the Right Hand. Weapons held by the Left Hand is currently disabled.", EditorStyles.helpBox); EditorGUILayout.Space(); EditorUtils.AddBlackLine(); EditorUtils.AddBlackLine(); EditorGUILayout.Space(); EditorGUILayout.LabelField("Relative Weapon Position:", EditorStyles.boldLabel); GUI.color = Color.yellow; EditorGUILayout.LabelField("Specify the weapon's relative offset from the Pivot.", EditorStyles.helpBox); GUI.color = Color.white; EditorGUIUtility.labelWidth = 150; EditorGUILayout.BeginHorizontal(); EditorGUIUtility.labelWidth = 60; _x.Stats.MountPivot = (MountPivot)EditorGUILayout.EnumPopup(_pivot, _x.Stats.MountPivot); _x.Stats.WeaponHeldInHand = (Hand)EditorGUILayout.EnumPopup(_hand, _x.Stats.WeaponHeldInHand); EditorGUILayout.EndHorizontal(); bool wm = EditorGUIUtility.wideMode; EditorGUIUtility.wideMode = false; EditorGUILayout.BeginHorizontal(); EditorGUIUtility.labelWidth = 1; GUILayout.Label(EditorGUIUtility.IconContent("MoveTool")); EditorGUIUtility.labelWidth = 200; _x.Stats.PositionOffset = EditorGUILayout.Vector3Field(_offsetP, _x.Stats.PositionOffset); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUIUtility.labelWidth = 1; GUILayout.Label(EditorGUIUtility.IconContent("RotateTool")); EditorGUIUtility.labelWidth = 200; _x.Stats.RotationOffset = EditorGUILayout.Vector3Field(_offsetR, _x.Stats.RotationOffset); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUIUtility.labelWidth = 1; GUILayout.Label(EditorGUIUtility.IconContent("RectTool")); _x.Stats.UseElbowHintR = EditorGUILayout.Toggle("", _x.Stats.UseElbowHintR); EditorGUIUtility.labelWidth = 200; _x.Stats.DominantElbowOffset = EditorGUILayout.Vector3Field(_offsetElbowD, _x.Stats.DominantElbowOffset); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUIUtility.labelWidth = 1; GUILayout.Label(EditorGUIUtility.IconContent("RectTool")); _x.Stats.UseElbowHintL = EditorGUILayout.Toggle("", _x.Stats.UseElbowHintL); EditorGUIUtility.labelWidth = 200; _x.Stats.NonDominantElbowOffset = EditorGUILayout.Vector3Field(_offsetElbowN, _x.Stats.NonDominantElbowOffset); EditorGUILayout.EndHorizontal(); EditorGUIUtility.wideMode = wm; EditorGUILayout.LabelField("Hint: Do not use 0,0,0 for elbow goals (that's the shoulder position).", EditorStyles.helpBox); EditorGUILayout.Space(); EditorUtils.AddBlackLine(); EditorUtils.AddBlackLine(); EditorGUILayout.Space(); EditorGUILayout.LabelField("IK (Non-Dominant) Hand Position:", EditorStyles.boldLabel); EditorGUIUtility.labelWidth = 150; _x.Stats.NonDominantHandGoal = EditorGUILayout.ObjectField(_nonDomGoal, _x.Stats.NonDominantHandGoal, typeof(Transform), true) as Transform; // I don't think these are necessary anymore. //_x.Stats.NonDominantHandPos = EditorGUILayout.Vector3Field(_nonDomHandP, _x.Stats.NonDominantHandPos); //_x.Stats.NonDominantHandRot = EditorGUILayout.Vector3Field(_nonDomHandR, _x.Stats.NonDominantHandRot); EditorGUILayout.Space(); EditorUtils.AddBlackLine(); EditorUtils.AddBlackLine(); EditorGUILayout.Space(); }