【Unity动画系统】Animator有限状态机参数详解

在这里插入图片描述


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

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

👨‍💻 本文由 秩沅 原创

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

🅰️


在这里插入图片描述


文章目录

    • 🅰️
    • Unity中现存两套动画系统Legacy动画系统和Mecanim动画系统
    • 🎶(==1==) Animator有限状态机的简介
    • 🎶(==2==) Animator有限状态机工作台参数的介绍
    • 🎶(==3==) Animator有限状态机组件参数的介绍
    • 🅰️


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

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

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



🎶(1 Animator有限状态机的简介

在这里插入图片描述

有限状态机(Finite State Machine,简称FSM)是一种计算模型,用于描述一个系统的行为

  • 什么是状态机

将事物的不同的行为抽象成状态,比如游戏中有一个敌人,它正在巡逻,那么他的状态可以分为这样:
休息:在一个位置停留一段时间
巡逻:根据预先设置好的线路来回走动,并且时不时的休息一段时间
追赶:巡逻期间如果遇到敌人,则追赶敌人
如果追赶到则攻击
追赶一段时间无法跟上则回去巡逻
攻击:攻击敌人,如果敌人逃跑则切换到追赶
回去休息/巡逻

  • 最简单的状态机

最简单的状态机实现代码就是基于switch的实现

  //假设我们只有一个值来控制当前玩家的状态string animName = "idle";switch (animName){case "idle"://待机动作逻辑break;case "move"://移动动作逻辑break;case "run"://跑步动作逻辑break;case "atk"://攻击动作逻辑break;}

🎶(2 Animator有限状态机工作台参数的介绍


  • 动画层级页签Layers,为动画添加更多的层级
    在这里插入图片描述

  • 参数页签Parameters,为动画机添加切换状态的参数
    在这里插入图片描述

  • 网格化布局区域
    (矩形代表状态,箭头代表切换条件)

在这里插入图片描述

  • 动画状态的参数条件简单切换
    (
    默认三大矩形:
    绿色Entry矩形:进入状态机流程
    红色Exit矩形:退出状态机流程
    Any State:任意状态,代表状态机中的任意状态)
    在这里插入图片描述

🎶(3 Animator有限状态机组件参数的介绍


  • Normal模式和Debug模式的对比
    在这里插入图片描述

在这里插入图片描述

  • Culling Mode:裁剪剔除模式
    在这里插入图片描述
  • 更新模式: UpdateMode
    在这里插入图片描述

🅰️


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

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

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

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

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

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

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


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


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/584499.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

校园跑腿小程序源码系统:取快递+寄快递+食堂超市跑腿 带完整的搭建教程

现如今,越来越多的校园生活服务需求涌现出来。为了满足学生们的日常需求,校园跑腿小程序应运而生。这款小程序集成了取快递、寄快递、食堂超市跑腿等功能,为学生们提供了一个方便、快捷的生活服务平台。 以下是部分代码的示例: 系…

openpose+smplx

boss不知道从哪淘换来的pose_iter_440000.caffemodel和basicModel_f_lbs_10_207_0_v1.0.0.pkl让我搞2d图像3d蒙皮,人都麻了,最后还是从头过了一下openpose和smplx。这里记录一下 openpose 这个是用来得到骨架坐标的,可以理解为(x,y,置信度)…

如何使用工具查看机系统信息,应用管理、文件管理

摘要 克魔助手是一款功能丰富的手机助手软件,提供了诸多实用的功能模块,包括手机系统信息显示、应用管理、文件管理、描述文件安装与测试、崩溃日志、实时日志、截图、活跃程序、性能监控和网络抓包等。本文将对克魔助手的界面概览和各功能模块进行详细…

数据结构面试题目

什么是数据结构?计算机存储、组织数据的方式。数据结构包括逻辑结构、物理结构和对数据的一系列操作。其中逻辑结构包括了线性结构(线性表、栈和队列)和非线性结构(树、图);物理结构包括顺序存储结构和链式…

UGUI:一个轻量级的TFTLCD彩色显示屏GUI库

目录 一、引言 二、移植说明 三、如何使用UGUI函数 2.1 UGUI函数介绍 2.2 窗口控件管理 2.3 如何建立一个按键 四、如何实现触摸控制 一、引言 UGUI是一个经过精心设计的轻量级TFT-LCD彩色显示屏GUI库,旨在为用户提供高效、稳定且易于使用的图形用户界面。该…

邮件营销最佳时段:提升邮件打开率与转化率的策略

在如今数字时代,电子邮件营销已成为企业推广及与客户互动的有效途径。但是,一个普遍的现象是:何时发送电子邮件才能更合理?本文将探讨电子邮件营销的出色推送机会,并提供一些有用的提议,以帮助企业更好地规…

Leetcode 2971. Find Polygon With the Largest Perimeter

Leetcode 2971. Find Polygon With the Largest Perimeter 1. 解题思路2. 代码实现 题目链接:2971. Find Polygon With the Largest Perimeter 1. 解题思路 这道题目算是这次双周赛最简单的一道题目了,只要先对所有的边进行排序之后使用贪婪算法考察每…

OrientDB使用教程:全面了解图数据库

图数据库在当今数据处理领域中扮演着越来越重要的角色,而OrientDB作为一种多模型的数据库,具有图数据库、文档数据库和对象数据库的特性,为应对不同场景提供了灵活的解决方案。本教程将简要介绍OrientDB的使用,包括基本概念、安装…

记录一次云服务器使用docker搭建kafka的过程

创建网络 一定要将zookeeper注册中心与kafka建在一个network中,不然在springboot 集成 kakfa的demo测试代码中进行消息发送时会超时,报错: E x c e p t i o n t h r o w n w h e n s e n d i n g a m e s s a g e w i t h k e y ‘ n u l l…

PostgreSql 索引使用技巧

索引种类详情可参考《PostgreSql 索引》 一、适合创建索引的场景 经常与其他表进行连接的表,在连接字段上应该建索引。经常出现在 WHERE 子句中的字段,特别是大表的字段,应该建索引。经常出现在 ORDER BY 子句中的字段,应该建索…

python subprocess run 和 Popen 的一些使用和注意事项

文章目录 一、run二、Popen NAME subprocess - Subprocesses with accessible I/O streams MODULE REFERENCE https://docs.python.org/3.9/library/subprocess The following documentation is automatically generated from the Python source files. It may be incomplete, …

第二百三十五回

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了PopupMenuButton相关的内容,本章回中将介绍如何在任意位置显示PopupMenu.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在上一章回中介绍了PopupMenuButton相关的内容,它主要…

Alibaba Cloud Linux 3.2104 LTS 64位系统可以选择吗?

阿里云Alibaba Cloud Linux 3.2104 LTS 64位镜像是可以选择的,它阿里云打造的Linux服务器操作系统发行版,针对云服务器ECS做了大量深度优化,完全兼容RHEL/CentOS生态和操作方式,如果是阿里云服务器ECS建议选择Alibaba Cloud Linux…

嵌入式开发——GD32F4之ADC查询

通道 ADC0 ADC1 ADC2 IN0 PA0 PA0 PA0 IN1 PA1 PA1 PA1 IN2 PA2 PA2 PA2 IN3 PA3 PA3 PA3 IN4

QGraphicsItem器件移动及旋转相关问题

一、前言 Qt的图形视图框架中,可以使用如下接口设置图元坐标: void QGraphicsItem::setPos(const QPointF &pos)Sets the position of the item to pos, which is in parent coordinates. For items with no parent, pos is in scene coordinates.…

【数据结构】排序之插入排序

排序目录 1.前言2. 排序的概念及其运用2.1 排序的概念2.2 排序的运用2.3 常见的排序算法 3. 插入排序3.1 基本思想3.2 直接插入排序3.2.1 直接插入排序实现3.2.1.1 分析3.2.1.2 代码实现 3.3 希尔排序3.3.1 希尔排序实现3.3.1.1 分析3.3.1.2 代码实现 4. 附代码4.1 sort.h4.2 s…

golang基础学习以及代码实例

一、Go语言基础 这是我整理非常全的go语言基础知识点以及代码实例,对GO有情趣的同学可以通过这个总结以及代码实例快速入门!加油同学们! 1 Go介绍 是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言…

Lumerical------按键中断程序执行

Lumerical------中断程序执行 引言正文 引言 在 Lumerical 中,很多时候我们需要通过 sweep 的方式来获取我们想要的结果,然而,有时候当我们运行程序后发现书写的脚本有问题时,我们想要强行终止程序的执行,该怎么办呢&…

一次JAVA调用C++的.so库的过程

1、准备好.so文件 2、java代码引入jna jar包 <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>5.9.0</version> </dependency>3、代码实现 package com.jimi.tracker.util;import c…

Linux文件系统中的目录

目录说明/Linux操作系统所有目录的入口binbinaries缩写&#xff0c;存放二进制可执行文件sbinsuperuser binaries缩写&#xff0c;存放二进制可执行文件&#xff0c;只有root才能访问etcetcetera缩写&#xff0c;存放系统配置文件usrunix sharedresources缩写&#xff0c;用于存…