【Unity】Animator动画倒播,与StartRecording动画录制

一、Animator动画倒播

正常我们修改速度,只需要修改Animator.speed即可,但如果设置为负值,Animator系统会自动将其改为0值。

1.创建动画速度参数

(1)设置动画

我们需要创建表示速度的动画参数Speed,将其付给需要倒播的动画片段上的Multiplier,作为速度的乘数。

最终速度的值则是,Animator.speed * 此动画片段的speed * Multiplier

注意:此过程需要在Unity编辑器配置。使用代码自动修改也需要Edtior下修改,不可在运行时使用。

(2)在运行时修改Speed参数的值

只要将动画的Speed参数改为负值,即可完成倒播。

                anim.SetFloat("Speed", -1);

注意:此方法倒播,可以执行动画上挂载的事件。

2.调用StartPlayback,使速度可以设置为负值

Animator.StartPlayback

public void StartPlayback ();

描述

将动画器设置为播放模式。

在播放模式中,可以通过设置时间值来控制动画器。动画器不通过游戏逻辑更新。使用 playbackTime 显式操作时间进度。

与其对于的方法是:StopPlayback。

调用StartPlayback, 可以将Animator的speed正确的设置为负值。

注意:调用StartPlayback后,无法使用动画事件。

如需在此情况下使用动画事件,则需要在Update中自定义动画事件逻辑。

相关推荐
先生沉默先2 小时前
unity使用代码在动画片段中添加event
unity
浅陌sss3 小时前
Unity性能优化 --- 减少OverDraw
unity·性能优化·游戏引擎
向宇it4 小时前
【从零开始入门unity游戏开发之——C#篇30】C#常用泛型数据结构类——list<T>列表、`List<T>` 和数组 (`T[]`) 的选择
java·开发语言·数据结构·unity·c#·游戏引擎·list
keep-learner4 小时前
Unity Dots理论学习-2.ECS有关的模块(1)
学习·unity·游戏引擎
虾球xz5 小时前
游戏引擎学习第62天
学习·游戏引擎
唐沢9 小时前
Unity 读Excel,读取xlsx文件解决方案
unity·excel
虾球xz13 小时前
游戏引擎学习第61天
java·学习·游戏引擎
两水先木示16 小时前
【Unity3D】Jobs、Burst并行计算裁剪Texture3D物体
unity·jobs·burst
Thomas_YXQ1 天前
Unity3D Huatuo技术原理剖析详解
unity·unity3d·游戏开发·性能调优·热更新
火云洞红孩儿1 天前
基于AI IDE 打造快速化的游戏LUA脚本的生成系统
c++·人工智能·inscode·游戏引擎·lua·游戏开发·脚本系统