Exemple #1
0
    public void StopAnimation()
    {
        if (anim != null && anim.isPlaying)
        {
            anim.Stop();
        }

#if UNITY_EDITOR
        if (IsInEditorMode() && IsEditorPlayingAnimation)
        {
            if (AnimationMode.InAnimationMode())
            {
                AnimationMode.StopAnimationMode();
            }

            EditorApplication.update -= EditorUpdate;
            editorClipTime            = 0;
            editorClip = null;

            RevertTextAlpha();
            IsEditorPlayingAnimation = false;
            GameObject.DestroyImmediate(slicedParent);
        }
#endif
    }
Exemple #2
0
        void OnGUI()
        {
            _particleTarget = (ParticleSystem)EditorGUILayout.ObjectField(_particleTarget, typeof(ParticleSystem), true);
            _animTarget     = (Animator)EditorGUILayout.ObjectField(_animTarget, typeof(Animator), true);
            _clip           = (AnimationClip)EditorGUILayout.ObjectField(_clip, typeof(AnimationClip), false);
            if (EditorApplication.isPlaying)
            {
                EditorGUILayout.LabelField("not playing only");
            }
            else
            {
                if (GUILayout.Button("Play"))
                {
                    if (_particleTarget != null)
                    {
                        _particleTarget.Play(true);
                        ParticleSystemEditorHelper.I.PlaybackTime         = 0;
                        ParticleSystemEditorHelper.I.LockedParticleSystem = _particleTarget;
                        ParticleSystemEditorHelper.I.CompleteResimulation();
                        AnimationMode.StartAnimationMode();
                        _isPreviewPlaying = true;
                    }
                }

                if (GUILayout.Button("Stop"))
                {
                    ParticleSystemEditorHelper.I.PlaybackTime = 0;
                    ParticleSystemEditorHelper.I.StopEffect();
                    ParticleSystemEditorHelper.I.LockedParticleSystem = null;

                    AnimationMode.StopAnimationMode();
                    _isPreviewPlaying = false;
                }
            }
        }
Exemple #3
0
 private void OnDisable()
 {
     if (AnimationMode.InAnimationMode())
     {
         AnimationMode.StopAnimationMode();
     }
 }
Exemple #4
0
 public static void stopAnimationMode()
 {
     if (AnimationMode.InAnimationMode())
     {
         AnimationMode.StopAnimationMode();
     }
 }
        private static bool EnsureAnimationPlayerHasClip(Component animationPlayer)
        {
            bool result;

            if (animationPlayer == null)
            {
                result = false;
            }
            else if (AnimationUtility.GetAnimationClips(animationPlayer.gameObject).Length > 0)
            {
                result = true;
            }
            else
            {
                AnimationClip animationClip = AnimationWindowUtility.CreateNewClip(animationPlayer.gameObject.name);
                if (animationClip == null)
                {
                    result = false;
                }
                else
                {
                    AnimationMode.StopAnimationMode();
                    result = AnimationWindowUtility.AddClipToAnimationPlayerComponent(animationPlayer, animationClip);
                }
            }
            return(result);
        }
Exemple #6
0
    private void BakeAnimationFrameMeshes()
    {
        GameObject animatedObject = Instantiate(referenceAnimatedObject);

        //animator = animatedObject.AddComponent<Animator>();
        //animator.runtimeAnimatorController = animatorController;
        frameMeshes = new List <Mesh>();
        AnimationMode.StartAnimationMode();
        AnimationMode.BeginSampling();
        var skinnedRenderer = animatedObject.GetComponentInChildren <SkinnedMeshRenderer>();

        AnimationMode.SampleAnimationClip(animatedObject, referenceAnimationClip, 0);
        var bakedMesh = new Mesh();

        skinnedRenderer.BakeMesh(bakedMesh);
        AssetDatabase.CreateAsset(bakedMesh, "Assets/BackedMesh.mesh");
        for (float t = 0.0f; t <= referenceAnimationClip.length; t += 1f / frameRate)
        {
            AnimationMode.SampleAnimationClip(animatedObject, referenceAnimationClip, t);
            bakedMesh = new Mesh();
            skinnedRenderer.BakeMesh(bakedMesh);
            frameMeshes.Add(bakedMesh);
        }
        AssetDatabase.SaveAssets();
        AnimationMode.EndSampling();
        AnimationMode.StopAnimationMode();
        GameObject.DestroyImmediate(animatedObject);
        //SceneView.RepaintAll();
    }
Exemple #7
0
 private void OnDestroy()
 {
     if (AnimationMode.InAnimationMode())
     {
         AnimationMode.StopAnimationMode();
     }
 }
Exemple #8
0
    public void SetEditMode(bool edit)
    {
#if UNITY_EDITOR
        if (!editMode && edit)
        {
            AnimationMode.StopAnimationMode();

            tempPose           = CreatePose();
            tempPose.hideFlags = HideFlags.HideAndDontSave;

            if (basePose != null)
            {
                RestorePose(basePose);
            }
        }
        else if (editMode && !edit)
        {
            if (tempPose != null)
            {
                RestorePose(tempPose);
                Object.DestroyImmediate(tempPose);
            }
        }
#endif

        editMode = edit;
    }
Exemple #9
0
 private void StopAnimationMode()
 {
     if (AnimationMode.InAnimationMode())
     {
         AnimationMode.StopAnimationMode();
         InitializeCurrentAnimationData();
     }
 }
Exemple #10
0
 public void OnDisable()
 {
     if (AnimationMode.InAnimationMode())
     {
         AnimationMode.StopAnimationMode();
     }
     EditorMouseInput.onStatusChanged -= OnEditorMouseInputStatusChanged;
 }
Exemple #11
0
 void OnDisable()
 {
     EditorApplication.update -= Update;
     if (AnimationMode.InAnimationMode())
     {
         ParticleSystemEditorHelper.I.StopEffect();
         AnimationMode.StopAnimationMode();
     }
 }
 public void OnDisable()
 {
     this.StopPreview();
     this.StopPlayback();
     if (AnimationMode.InAnimationMode(this.GetAnimationModeDriver()))
     {
         AnimationMode.StopAnimationMode(this.GetAnimationModeDriver());
     }
 }
Exemple #13
0
 protected virtual void StopRecd()
 {
     track.SetFlag(TrackMode.Record, false);
     if (AnimationMode.InAnimationMode())
     {
         AnimationMode.EndSampling();
         AnimationMode.StopAnimationMode();
     }
 }
Exemple #14
0
        void initializeSearch()
        {
            addIgnorableResources();
            AnimationMode.StopAnimationMode(); // If recording is on, it will hose the animation.
            search.OnSearchBegin();
            resultSet        = new SearchResultSet(search);
            resultSet.status = SearchStatus.InProgress;

            currentItem = 1;
        }
 public void StopAnim()
 {
     if (!isPlaying)
     {
         return;
     }
     EditorApplication.update -= OnEditorUpdate;
     AnimationMode.StopAnimationMode();
     isPlaying = false;
 }
Exemple #16
0
 private void StopAnim()
 {
     if (!_isPlaying)
     {
         return;
     }
     EditorApplication.update -= _OnEditorUpdate;
     AnimationMode.StopAnimationMode();
     _isPlaying = false;
 }
 public void OnDisable()
 {
     if (go != null)
     {
         if (AnimationMode.InAnimationMode())
         {
             AnimationMode.StopAnimationMode();
         }
     }
 }
Exemple #18
0
        public void DrawLeftTop()
        {
            using (new EditorGUILayout.HorizontalScope(EditorStyles.toolbar))
            {
                using (var check1 = new EditorGUIBeginChangeCheckScope())
                {
                    GUILayout.Toggle(_isPlaying, EditorIconGUIContent.GetSystem(EditorIconGUIContentType.PlayButton),
                                     EditorStyles.toolbarButton);            //Play
                    if (check1.IsChanged)
                    {
                        SwitchPlay();
                    }
                }


                using (var check3 = new EditorGUIBeginChangeCheckScope())
                {
                    GUILayout.Toggle(AnimationMode.InAnimationMode(),
                                     EditorIconGUIContent.GetSystem(EditorIconGUIContentType.Animation_Record),
                                     EditorStyles.toolbarButton);            //Animate
                    if (check3.IsChanged)
                    {
                        if (AnimationMode.InAnimationMode())
                        {
                            AnimationMode.StopAnimationMode();
                        }
                        else
                        {
                            AnimationMode.StartAnimationMode();
                        }
                    }
                }

                using (new EditorGUIUtilityLabelWidthScope(30))
                {
                    _frameCountPerSecond =
                        EditorGUILayout.IntField("FPS", _frameCountPerSecond, GUILayout.Width(30 + 25));
                    if (_frameCountPerSecond <= 1)
                    {
                        _frameCountPerSecond = 1;
                    }
                }

                using (new EditorGUIUtilityLabelWidthScope(70))
                {
                    _playSpeed = EditorGUILayout.FloatField("play_speed", _playSpeed, GUILayout.Width(70 + 25));
                    if (_playSpeed <= 0)
                    {
                        _playSpeed = 1;
                    }
                }

                GUILayout.FlexibleSpace();
            }
        }
Exemple #19
0
 void ToggleAnimationMode()
 {
     if (AnimationMode.InAnimationMode())
     {
         AnimationMode.StopAnimationMode();
     }
     else
     {
         AnimationMode.StartAnimationMode();
     }
 }
        private void Terminate(Camera generatedCamera)
        {
            SceneView.RepaintAll();
            AnimationMode.StopAnimationMode();
            Object.DestroyImmediate(generatedCamera.gameObject);

            if (_autoHide != EeRenderingCommands.EeDummyAutoHide.DoNotHide && _previewSetup.AutoHide)
            {
                _previewSetup.Dummy.gameObject.SetActive(false);
            }
        }
Exemple #21
0
 private void ToggleAnimationMode()
 {
     if (editAnimators && !AnimationMode.InAnimationMode())
     {
         AnimationMode.StartAnimationMode();
     }
     if (!editAnimators && AnimationMode.InAnimationMode())
     {
         AnimationMode.StopAnimationMode();
     }
 }
        public void Dispose()
        {
            if (AnimationMode.InAnimationMode())
            {
                AnimationMode.StopAnimationMode();
            }

            ResetAnimationSampler();

            sampleTrajectory.Dispose();
        }
 public override void StopPreview()
 {
     this.StopPlayback();
     this.StopRecording();
     this.ClearCandidates();
     AnimationMode.StopAnimationMode(this.GetAnimationModeDriver());
     if (AnimationPropertyContextualMenu.Instance.IsResponder(this))
     {
         AnimationPropertyContextualMenu.Instance.SetResponder(null);
     }
     Undo.postprocessModifications = (Undo.PostprocessModifications)Delegate.Remove(Undo.postprocessModifications, new Undo.PostprocessModifications(this.PostprocessAnimationRecordingModifications));
 }
 private void RenderPreview(int frame)
 {
     if (_modelGameObject != null)
     {
         _modelGameObject.SetActive(true);
         AnimationMode.StartAnimationMode();
         SetupFrame(frame);
         _previewCamera.Render();
         AnimationMode.StopAnimationMode();
         _modelGameObject.SetActive(false);
     }
 }
Exemple #25
0
        private void PreviewAnimationEvent(FAnimationEventEditor animEvtEditor, int frame)
        {
            FPlayAnimationEvent animEvt = (FPlayAnimationEvent)animEvtEditor._evt;

            if (animEvt._animationClip == null)
            {
                return;
            }

            bool isEditable = animEvt.IsAnimationEditable();

            // render path
            if (isEditable)
            {
                TransformCurves transformCurves = new TransformCurves(animEvt.Owner, animEvt._animationClip);

                RenderTransformPath(transformCurves, animEvt.LengthTime, 1f / animEvt.Sequence.FrameRate);

                float t = (float)(frame + animEvt._startOffset - animEvt.Start) / animEvt.Sequence.FrameRate;

                if (animEvt.FrameRange.Contains(frame))
                {
//					float t = (float)(frame + animEvt._startOffset - animEvt.Start) / animEvt.Sequence.FrameRate;
                    RenderTransformAnimation(transformCurves, t);
                }

//				AnimationClipCurveData[] allCurves = AnimationUtility.GetAllCurves( animEvt._animationClip, true );
//				foreach( AnimationClipCurveData curve in allCurves )
//				{
//
//				}
            }
            else if (animEvt.FrameRange.Contains(frame))
            {
                float t = (float)(frame + animEvt._startOffset - animEvt.Start) / animEvt.Sequence.FrameRate;

                bool wasInAnimationMode = AnimationMode.InAnimationMode();

                if (!AnimationMode.InAnimationMode())
                {
                    AnimationMode.StartAnimationMode();
                }
                AnimationMode.BeginSampling();
                AnimationMode.SampleAnimationClip(animEvt.Owner.gameObject, animEvt._animationClip, t);
                AnimationMode.EndSampling();

                if (!wasInAnimationMode)
                {
                    AnimationMode.StopAnimationMode();
                }
            }
        }
    public void OnGUI()
    {
        if (s_Styles == null)
        {
            s_Styles = new Styles();
        }

        if (go == null)
        {
            EditorGUILayout.HelpBox("Please select a GO", MessageType.Info);
            return;
        }

        GUILayout.BeginHorizontal(EditorStyles.toolbar);

        EditorGUI.BeginChangeCheck();
        GUILayout.Toggle(AnimationMode.InAnimationMode(), "Animate", EditorStyles.toolbarButton);
        if (EditorGUI.EndChangeCheck())
        {
            ToggleAnimationMode();
        }

        GUILayout.FlexibleSpace();
        lockSelection = GUILayout.Toggle(lockSelection, "Lock", EditorStyles.toolbarButton);
        GUILayout.EndHorizontal();

        EditorGUILayout.BeginVertical();
        animationClip = EditorGUILayout.ObjectField(animationClip, typeof(AnimationClip), false) as AnimationClip;
        if (animationClip != null)
        {
            float startTime = 0.0f;
            float stopTime  = animationClip.length;

            animateAutomate = EditorGUILayout.Toggle(animateAutomate);

            if (animateAutomate)
            {
                speed = EditorGUILayout.FloatField(speed);
            }
            else
            {
                time = EditorGUILayout.Slider(time, startTime, stopTime);
            }
        }
        else if (AnimationMode.InAnimationMode())
        {
            AnimationMode.StopAnimationMode();
        }


        EditorGUILayout.EndVertical();
    }
Exemple #27
0
    private void SetAnimationMode(bool enabled)
    {
#if UNITY_EDITOR
        if (AnimationMode.InAnimationMode() && !enabled)
        {
            AnimationMode.StopAnimationMode();
        }
        else if (!AnimationMode.InAnimationMode() && enabled)
        {
            AnimationMode.StartAnimationMode();
        }
#endif
    }
 private void EditorToolsOnActiveToolChanged()
 {
     if (EditorTools.IsActiveTool(this))
     {
         AnimationMode.StartAnimationMode();
         _animationTimer = Time.realtimeSinceStartup;
         InitializeEditorTool(piskelTarget.clip);
     }
     else
     {
         AnimationMode.SampleAnimationClip(piskelTarget.gameObject, piskelTarget.clip, 0);
         AnimationMode.StopAnimationMode();
     }
 }
Exemple #29
0
        private void OnDisable()
        {
            if (previewRender != null)
            {
                previewRender.Cleanup();
                previewRender = null;
            }

            DestroyInstances();
            if (root)
            {
                DestroyImmediate(root.gameObject);
            }
            AnimationMode.StopAnimationMode();
        }
        public override void StopPreview()
        {
            StopPlayback();
            StopRecording();
            ClearCandidates();

            AnimationMode.StopAnimationMode(GetAnimationModeDriver());

            // reset responder only if we have set it
            if (AnimationPropertyContextualMenu.Instance.IsResponder(this))
            {
                AnimationPropertyContextualMenu.Instance.SetResponder(null);
            }

            Undo.postprocessModifications -= PostprocessAnimationRecordingModifications;
        }