コード例 #1
0
        /************************************************************************************************************************/

        private void Update()
        {
            var time = Time.time;
            var timeSinceLastUpdate = time - _LastUpdateTime;

            if (timeSinceLastUpdate > 1 / _UpdatesPerSecond)
            {
                _Animancer.Evaluate(timeSinceLastUpdate);
                _LastUpdateTime = time;
            }
        }
コード例 #2
0
        }                                                         //抽象方法的接口2

        /************************************************************************************************************************/

        protected virtual void Awake()
        {
            // Start在动画开始时暂停。
            _Animancer.Play(_WakeUp);
            _Animancer.Evaluate();
            _Animancer.Playable.PauseGraph();

            // 在这里初始化OnEnd事件,这样我们就不会每次使用它们时都分配垃圾。
            _WakeUp.Events.Sequence.OnEnd = () => _Animancer.Play(MovementAnimation);
            _Sleep.Events.Sequence.OnEnd  = _Animancer.Playable.PauseGraph;
        }
コード例 #3
0
        /************************************************************************************************************************/

        protected virtual void Awake()
        {
            // Start paused at the beginning of the animation.
            _Animancer.Play(_WakeUp);
            _Animancer.Evaluate();
            _Animancer.Playable.PauseGraph();

            // Initialise the OnEnd events here so we don't allocate garbage every time they are used.
            _WakeUp.Events.Sequence.OnEnd = () => _Animancer.Play(MovementAnimation);
            _Sleep.Events.Sequence.OnEnd  = _Animancer.Playable.PauseGraph;
        }
コード例 #4
0
        /************************************************************************************************************************/

        private void Awake()
        {
            // 应用启动状态并暂停渲染
            var state = _Animancer.Play(_Open);

            state.NormalizedTime = _Openness;
            _Animancer.Evaluate();
            _Animancer.Playable.PauseGraph();

            // 并在动画结束时暂停它以保存当前状态
            state.Events.OnEnd = _Animancer.Playable.PauseGraph;

            // 通常情况下,当我们播放一个新的动画时,OnEnd事件会被清除,但是因为在这个例子中只有一个动画,所以我们让它继续播放并暂停/取消暂停渲染.
        }
コード例 #5
0
        /************************************************************************************************************************/

        private void Awake()
        {
            // Apply the starting state and pause the graph.
            var state = _Animancer.Play(_Open);

            state.NormalizedTime = _Openness;
            _Animancer.Evaluate();
            _Animancer.Playable.PauseGraph();

            // And also pause it whenever the animation finishes to save performance.
            state.Events.OnEnd = _Animancer.Playable.PauseGraph;

            // Normally the OnEnd event would be cleared whenever we play a new animation, but since there is only one
            // animation in this example we just leave it playing and pause/unpause the graph instead.
        }