public override void OnInspectorGUI() { serializedObject.UpdateIfDirtyOrScript(); EditorGUILayout.PropertyField(animator); if (animator.objectReferenceValue != null) { var animatorController = AnimatorControllerExtension.GetEffectiveAnimatorController((Animator)animator.objectReferenceValue); controller.objectReferenceValue = animatorController; } else { controller.objectReferenceValue = null; } EditorGUILayout.ObjectField("AnimatorController", controller.objectReferenceValue, typeof(AnimatorController), false); EditorGUILayout.PropertyField(emitType); EditorGUILayout.PropertyField(data); serializedObject.ApplyModifiedProperties(); }
private void CreateStateMachine() { if (avatarPreview == null || avatarPreview.Animator == null) { return; } if (controller == null) { controller = new AnimatorController(); controller.hideFlags = HideFlags.DontSave; controller.AddLayer("preview"); stateMachine = controller.layers[0].stateMachine; CreateParameters(); state = stateMachine.AddState("preview"); state.motion = previewedMotion; state.iKOnFeet = avatarPreview.IKOnFeet; state.hideFlags = HideFlags.DontSave; stateMachine.hideFlags = HideFlags.DontSave; AnimatorController.SetAnimatorController(avatarPreview.Animator, controller); controller.AppendOnAnimatorControllerDirtyCallback(ControllerDitry); controllerIsDitry = false; } if (AnimatorControllerExtension.GetEffectiveAnimatorController(avatarPreview.Animator) != controller) { AnimatorController.SetAnimatorController(avatarPreview.Animator, controller); } }
public override void OnInspectorGUI() { serializedObject.UpdateIfDirtyOrScript(); EditorGUILayout.PropertyField(animator); if (GUILayout.Button("Auto Fill")) { if (animator.objectReferenceValue != null) { AnimatorController animatorController = AnimatorControllerExtension.GetEffectiveAnimatorController((Animator)animator.objectReferenceValue); controller.objectReferenceValue = animatorController; } else { controller.objectReferenceValue = null; } } EditorGUILayout.PropertyField(controller); serializedObject.ApplyModifiedProperties(); }