public override void OnInspectorGUI() { using (new GUILayout.HorizontalScope()) { GUILayout.Label("Animation Playback", MarsEditorGUI.Styles.ResetLabelMarginStyle, GUILayout.Width(EditorGUIUtility.labelWidth)); if (GUILayout.Button(m_PlayButtonContent, MarsEditorGUI.Styles.ResetButtonMarginStyle)) { PlayAnimation(); SceneView.RepaintAll(); } GUILayout.Space(4); if (GUILayout.Button(m_PauseButtonContent, MarsEditorGUI.Styles.ResetButtonMarginStyle)) { m_SynthesizedBody.Director.Pause(); } GUILayout.Space(4); if (GUILayout.Button(m_StopButtonContent, MarsEditorGUI.Styles.ResetButtonMarginStyle)) { StopAnimation(); } } GUILayout.Space(2); using (new GUILayout.HorizontalScope()) { GUILayout.Space(EditorGUIUtility.labelWidth); if (GUILayout.Button(m_OpenTimeline, MarsEditorGUI.Styles.IconButtonNoMarginStyle, MarsEditorGUI.MarsStyles.BindingButtonGUIOptions)) { EditorApplication.ExecuteMenuItem("Window/Sequencing/Timeline"); } using (new GUILayout.VerticalScope()) { GUILayout.Space(4); GUILayout.Label("Open Timeline"); } } GUILayout.Space(4); using (new GUILayout.HorizontalScope()) { GUILayout.Label("Extract Body Pose", MarsEditorGUI.Styles.ResetLabelMarginStyle, GUILayout.Width(EditorGUIUtility.labelWidth)); if (GUILayout.Button(m_SavePose, MarsEditorGUI.Styles.ResetButtonMarginStyle)) { BodyTrackingModule.GenerateSerializedDataFromAvatar(m_SynthesizedBody.animator); } } }
public override void OnInspectorGUI() { if (m_ResetLabelMarginStyle == null) { m_ResetLabelMarginStyle = MarsEditorGUI.Styles.ResetLabelMarginStyle; m_ResetLabelMarginStyle.margin.top = 2; } serializedObject.Update(); GUILayout.Space(4); using (new GUILayout.HorizontalScope()) { GUILayout.Label(k_CreatePoseButtonLabel, m_ResetLabelMarginStyle, GUILayout.Width(EditorGUIUtility.labelWidth)); if (GUILayout.Button(MarsUIResources.instance.BodyIconData.BodyPoseIcon.Icon, MarsEditorGUI.Styles.IconButtonStyle, MarsEditorGUI.MarsStyles.BindingButtonGUIOptions)) { BodyTrackingModule.OpenAvatarEditor(MarsBodySettings.instance.DefaultPreviewBodyAvatar, true); } } using (var check = new EditorGUI.ChangeCheckScope()) { using (new GUILayout.HorizontalScope(GUILayout.ExpandWidth(true))) { m_ToleranceAngleDegrees = EditorGUILayout.Slider(m_ToleranceContent, m_ToleranceAngleDegrees, k_MinAngle, k_MaxAngle); GUILayout.Label(k_DegreesLabel, GUILayout.ExpandWidth(false)); } if (m_ToleranceAngleDegrees < k_MinRecommendedAngle || m_ToleranceAngleDegrees > k_MaxRecommendedAngle) { EditorGUILayout.HelpBox(k_BodyPoseMatchingAngleOutOfRange, MessageType.Info); } if (check.changed) { var targetDotProductValue = Mathf.Cos(Mathf.Deg2Rad * m_ToleranceAngleDegrees); m_ToleranceProperty.floatValue = targetDotProductValue; serializedObject.ApplyModifiedProperties(); } } using (new GUILayout.HorizontalScope()) { GUILayout.Space(k_IndentationOffset); using (new GUILayout.VerticalScope()) { base.OnInspectorGUI(); } } }
public override void OnInspectorGUI() { HandlePicker(); serializedObject.Update(); GUILayout.Space(8); using (var changeCheck = new EditorGUI.ChangeCheckScope()) { using (new GUILayout.HorizontalScope()) { GUILayout.Label("Body Rig", MarsEditorGUI.Styles.ResetLabelMarginStyle, GUILayout.Width(EditorGUIUtility.labelWidth)); using (new EditorGUI.DisabledGroupScope(m_AnimatorProperty.objectReferenceValue != null)) { if (GUILayout.Button(styles.defaultBodyRigButtonContent, MarsEditorGUI.Styles.ResetButtonMarginStyle, GUILayout.MaxWidth((EditorGUIUtility.currentViewWidth - MarsEditorGUI.MarsStyles.LabelOffsetHalfBindingsButtonWidth) / 2))) { var defaultBodyRig = GameObject.Instantiate( MarsBodySettings.instance.DefaultLandmarksBodyRig, m_MatchBodyPoseAction.transform).GetComponent <Animator>(); defaultBodyRig.gameObject.name = k_DefaultBodyRigGameObjectName; Undo.RegisterCreatedObjectUndo(defaultBodyRig, "Create default body rig"); m_AnimatorProperty.objectReferenceValue = defaultBodyRig.GetComponent <Animator>(); } } GUILayout.Space(4); if (GUILayout.Button(styles.customBodyRigButtonContent, MarsEditorGUI.Styles.ResetButtonMarginStyle, GUILayout.MaxWidth((EditorGUIUtility.currentViewWidth - MarsEditorGUI.MarsStyles.LabelOffsetHalfBindingsButtonWidth) / 2))) { var controlId = GUIUtility.GetControlID(FocusType.Passive); EditorGUIUtility.ShowObjectPicker <Avatar>(null, false, string.Empty, controlId); } } GUILayout.Space(2); EditorGUILayout.PropertyField(m_AnimatorProperty, styles.animatorContent); using (new EditorGUI.DisabledScope(m_AnimatorProperty.objectReferenceValue == null)) { using (new GUILayout.HorizontalScope()) { GUILayout.Space(EditorGUIUtility.labelWidth); if (GUILayout.Button(styles.editBindingsContent, MarsEditorGUI.Styles.IconButtonStyle, GUILayout.Width(MarsEditorGUI.MarsStyles.EditBindingsButtonWidth), GUILayout.Height(MarsEditorGUI.MarsStyles.EditBindingsButtonHeight))) { var referencedAnimator = (Animator)m_AnimatorProperty.objectReferenceValue; BodyTrackingModule.OpenAvatarEditor(referencedAnimator.avatar, false); } using (new GUILayout.VerticalScope()) { GUILayout.Space(Styles.editBindingsLabelOffset); GUILayout.Label(Styles.editBindingsLabel); } } } GUILayout.Space(Styles.editBindingsButtonBottomPadding); EditorGUILayout.PropertyField(m_ScaleToMatchHeightProperty, styles.scaleToMatchHeightContent); EditorGUILayout.PropertyField(m_ResetOnLossProperty, styles.resetOnLossContent); if (changeCheck.changed) { serializedObject.ApplyModifiedProperties(); } } if (m_AnimatorProperty.objectReferenceValue == null) { EditorGUILayout.HelpBox(k_NoAnimatorMessage, MessageType.Warning); } }