【Unity动画系统】Unity动画系统Animation详解,参数细节你是否弄清?

2023-12-29 07:36

本文主要是介绍【Unity动画系统】Unity动画系统Animation详解,参数细节你是否弄清?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述


👨‍💻个人主页:@元宇宙-秩沅

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 秩沅 原创

👨‍💻 收录于专栏:Unity基础实战

🅰️



文章目录

    • 🅰️
    • Unity中现存两套动画系统Legacy动画系统和Mecanim动画系统
    • 🎶(==1==) 动画中帧的概念
    • 🎶(==2==) Animation窗口预览模式以及参数的介绍
      • Animation的基本参数
      • 关键帧模式下的动画编辑
      • 曲线模式下的动画编辑
      • **Animation Clip 组件的相关参数(Normal状态下)**
      • **Animation Clip 组件的相关参数(Debug状态下)**
    • 🅰️


Unity中现存两套动画系统Legacy动画系统和Mecanim动画系统

  • Legacy动画系统:功能相对简单 核心组件Animation;
  • Mecanim动画系统:当前主要的动画系统,功能相对复杂,核心组件Animator;

Unity的动画系统是一种强大的工具,可以用来创建和控制游戏对象的动画。它提供了一套灵活的功能,让开发者能够创建复杂的运动和转换效果,包括移动、旋转、缩放、淡入淡出等。
Unity的动画系统基于关键帧动画的概念。开发者可以在时间轴上设置关键帧,然后Unity会根据这些关键帧来自动计算中间帧。这使得创建复杂的动画非常简单,只需设置起始和结束状态,然后让Unity自动填充中间的帧。
Unity的动画系统支持多种动画曲线类型,包括线性、贝塞尔曲线、步进曲线等。这些曲线可以用来调节动画的速度和缓动效果,使动画表现更加平滑和自然。
除了基本的动画功能,Unity还提供了一些高级功能,如动画事件、动画层、混合树等。动画事件可以用来触发特定的动作或事件,动画层可以在同一个游戏对象上添加多个动画,混合树可以用来与其他动画系统进行交互。
总的来说,Unity的动画系统非常强大且易于使用,它为开发者提供了丰富的功能和工具,使得创建和控制游戏对象的动画变得更加简单和灵活。


🎶(1 动画中帧的概念


在Unity中,动画是通过关键帧来定义的。每个关键帧指定了一个对象在特定时间点上的属性值,例如位置、旋转和缩放。当动画播放时,Unity会自动在关键帧之间进行插值,以平滑地过渡对象的属性值。

  • 一个动画可以包含多个帧,每帧对应于一个关键帧。帧之间的时间间隔称为帧率,通常以每秒帧数(FPS)来表示
  • 例如,如果一个动画以30FPS的帧率播放,那么每个关键帧之间的时间间隔就是1/30秒。
  • 假设某个动画的帧率为60帧每秒(每帧1/60秒),意味着该动画1秒钟最多会有60次改变机会
    每一帧的间隔时间是 1s/60 ≈ 16.67毫秒
    也就是说 我们最快可以每16.67毫秒改变一次对象状态

在Unity中,可以通过动画窗口来创建和编辑动画。在动画窗口中,可以在时间轴上添加关键帧,并设置每个关键帧的属性值。此外,还可以通过拖动和缩放时间轴来调整关键帧的位置和时间。
帧的概念在Unity中非常重要,它们定义了动画的运动和变化。通过设置不同的关键帧,可以实现物体的移动、旋转和缩放等动画效果。


🎶(2 Animation窗口预览模式以及参数的介绍


Animation的基本参数


  • Ctrl + 6 :打开动画窗口 Animation
  • Preview——>预览模式
    在这里插入图片描述

1.录制: ———在这里插入图片描述
2.第几帧:———在这里插入图片描述

  • 关键帧模式和曲线模式
    (关键帧模式适合匀速动画的需求)
    (曲线模式适合动画中又变速动画的需求)
    在这里插入图片描述
  • 添加关键帧和添加事件

在这里插入图片描述

  • 动画事件轴
    (一格一帧,0到1就是60格也就是60帧,Update——>可看作1秒60帧)
    在这里插入图片描述

  • 切换动画
    在这里插入图片描述

  • 窗口的额外属性

在这里插入图片描述

关键帧模式下的动画编辑


  • 添加属性——.(属性为对象任意的组件)
    在这里插入图片描述

曲线模式下的动画编辑


在这里插入图片描述

Add Key:添加关键帧
Delete Key:删除关键帧
Clamped Auto:切线模式,自动设置切线
Auto:旧版切线模式,和Clamped Auto基本类似,主要用于老动画系统,建议不使用除非是老动画
Free Smooth:自由设置切线
Flat:切线设置为水平
Broken:单独控制左右曲线切线

Lfet Tangent___左边的切线
Free:自由设置
Linear:直线
Constant:常量切换
Weighted:权重切换


Animation Clip 组件的相关参数(Normal状态下)

在这里插入图片描述在这里插入图片描述

Loop Time:循环动画
Loop Pose:无缝循环运动
Cycle Offset:循环动画在哪个事件段开始循环


Animation Clip 组件的相关参数(Debug状态下)


  • Sample Rate —— 改变一秒多少帧和Animation的额外属性中改变帧属性作用一致
  • Wrap Mode——播放模式(Pingpong 从头到尾播放然后再从尾到头播放)
    在这里插入图片描述在这里插入图片描述

🅰️


⭐【Unityc#专题篇】之c#进阶篇】

⭐【Unityc#专题篇】之c#核心篇】

⭐【Unityc#专题篇】之c#基础篇】

⭐【Unity-c#专题篇】之c#入门篇】

【Unityc#专题篇】—进阶章题单实践练习

⭐【Unityc#专题篇】—基础章题单实践练习

【Unityc#专题篇】—核心章题单实践练习


你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!


在这里插入图片描述


这篇关于【Unity动画系统】Unity动画系统Animation详解,参数细节你是否弄清?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/548801

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input