/************************************************************************************************************************/ private void Update() { var time = Time.time; var timeSinceLastUpdate = time - _LastUpdateTime; if (timeSinceLastUpdate > 1 / _UpdatesPerSecond) { _Animancer.Evaluate(timeSinceLastUpdate); _LastUpdateTime = time; } }
} //抽象方法的接口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; }
/************************************************************************************************************************/ 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; }
/************************************************************************************************************************/ private void Awake() { // 应用启动状态并暂停渲染 var state = _Animancer.Play(_Open); state.NormalizedTime = _Openness; _Animancer.Evaluate(); _Animancer.Playable.PauseGraph(); // 并在动画结束时暂停它以保存当前状态 state.Events.OnEnd = _Animancer.Playable.PauseGraph; // 通常情况下,当我们播放一个新的动画时,OnEnd事件会被清除,但是因为在这个例子中只有一个动画,所以我们让它继续播放并暂停/取消暂停渲染. }
/************************************************************************************************************************/ 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. }