【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中自定义动画事件逻辑。

相关推荐
charon87788 小时前
UE ARPG | 虚幻引擎战斗系统
游戏引擎
小春熙子9 小时前
Unity图形学之Shader结构
unity·游戏引擎·技术美术
Sitarrrr12 小时前
【Unity】ScriptableObject的应用和3D物体跟随鼠标移动:鼠标放置物体在场景中
3d·unity
极梦网络无忧12 小时前
Unity中IK动画与布偶死亡动画切换的实现
unity·游戏引擎·lucene
逐·風20 小时前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
_oP_i21 小时前
Unity Addressables 系统处理 WebGL 打包本地资源的一种高效方式
unity·游戏引擎·webgl
代码盗圣1 天前
GODOT 4 不用scons编译cpp扩展的方法
游戏引擎·godot
Leoysq1 天前
【UGUI】实现点击注册按钮跳转游戏场景
游戏·unity·游戏引擎·ugui
PandaQue1 天前
《潜行者2切尔诺贝利之心》游戏引擎介绍
游戏引擎
_oP_i1 天前
unity中 骨骼、纹理和材质关系
unity·游戏引擎·材质