void InitInstance(Animator scenePreviewObject, Motion motion) { m_SourcePreviewMotion = motion; m_SourceScenePreviewAnimator = scenePreviewObject; if (m_PreviewInstance == null) { GameObject go = CalculatePreviewGameObject(scenePreviewObject, motion, animationClipType); SetupBounds(go); Object.DestroyImmediate(go); } if (timeControl == null) { timeControl = new TimeControl(); } if (m_ReferenceInstance == null) { GameObject referenceGO = (GameObject)EditorGUIUtility.Load("Avatar/dial_flat.prefab"); m_ReferenceInstance = (GameObject)Object.Instantiate(referenceGO, Vector3.zero, Quaternion.identity); InitInstantiatedPreviewRecursive(m_ReferenceInstance); previewUtility.AddSingleGO(m_ReferenceInstance); } if (m_DirectionInstance == null) { GameObject directionGO = (GameObject)EditorGUIUtility.Load("Avatar/arrow.fbx"); m_DirectionInstance = (GameObject)Object.Instantiate(directionGO, Vector3.zero, Quaternion.identity); InitInstantiatedPreviewRecursive(m_DirectionInstance); previewUtility.AddSingleGO(m_DirectionInstance); } if (m_PivotInstance == null) { GameObject pivotGO = (GameObject)EditorGUIUtility.Load("Avatar/root.fbx"); m_PivotInstance = (GameObject)Object.Instantiate(pivotGO, Vector3.zero, Quaternion.identity); InitInstantiatedPreviewRecursive(m_PivotInstance); previewUtility.AddSingleGO(m_PivotInstance); } if (m_RootInstance == null) { GameObject rootGO = (GameObject)EditorGUIUtility.Load("Avatar/root.fbx"); m_RootInstance = (GameObject)Object.Instantiate(rootGO, Vector3.zero, Quaternion.identity); InitInstantiatedPreviewRecursive(m_RootInstance); previewUtility.AddSingleGO(m_RootInstance); } // Load preview settings from prefs m_IKOnFeet = EditorPrefs.GetBool(kIkPref, false); m_ShowReference = EditorPrefs.GetBool(kReferencePref, true); is2D = EditorPrefs.GetBool(k2DPref, EditorSettings.defaultBehaviorMode == EditorBehaviorMode.Mode2D); timeControl.playbackSpeed = EditorPrefs.GetFloat(kSpeedPref, 1f); SetPreviewCharacterEnabled(false, false); m_PivotPositionOffset = Vector3.zero; }
private void Init() { _timeControl = new TimeControl(); }