【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.rhkb.cn/news/228398.html

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

相关文章

【DevOps 工具链】搭建 项目管理软件 禅道

文章目录 1、简介2、环境要求3、搭建部署环境3.1. 安装Apache服务3.2. 安装PHP环境(以php7.0为例 )3.3. 安装MySQL服务 4、搭建禅道4.1、下载解压4.2、 配置4.2.1、 启动4.2.2、自启动4.2.3、确认是否开机启动 5、成功安装 1、简介 禅道是国产开源项目管…

Java基础语法(注释,关键字,字面量,变量,数据类型,标识符,键盘录入,IDEA安装,类,模块,项目)

文章目录 day02 - Java基础语法1. 注释使用的技巧注意点 2. 关键字2.1 概念2.2 第一个关键字class 3. 字面量区分技巧 4. 变量4.1 什么是变量?4.2 变量的定义格式4.2.1 格式详解4.2.2 常用的数据类型4.2.3 变量的注意事项 4.3 变量的练习 5. 数据类型5.1 Java语言数…

机器学习作业--PCA

目录 特征约减: 为什么进行特征约减? 怎么获得更具有代表性的数据? 怎么找到主成分,满足上述条件? 代码: 学习资料:PCA算法 - 知乎 (zhihu.com) 特征约减: 将高维的特征向量X…

【Qt之Quick模块】6. QML语法详解_3 QML对象特性

概述 每一个QML对象类型都包含一组已定义的特性。当进行实例时都会包含一组特性,这些特性是在对象类型中定义的。 一个QML文档中的对象类型声明了一个新的类型,即实例出一个类型。 其中包含以下特性。 the id attribute : id特性property a…

vmware部署docker+springboot+MySQL(超详细)

一、前期准备 (一)安装jdk #docker search openjdk #docker pull openjdk:8 (二)确认网络 如果局域网其他终端(如手机访问),虚拟机网络连接需要选择《桥接》模式,而且,需要使用有线连接,不能使用Wi-Fi,切忌切忌! 并且要选择实际的那个有线连接。比如我这里是“R…

初始SpringBoot:详解特性和结构

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java项目分享》 《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一 文章目录 前言一、SpringBoot…

数据结构,题目笔记

哈希表 线性探测再散列 【算法数据结构|哈希查找|哈希冲突|除留余数法|线形探测法|例题讲解】https://www.bilibili.com/video/BV1514y1P7BK?vd_source1a684a3a1b9d05485b3d6277aeeb705d 【二次探测再散列法】 【【…

安防视频监控系统EasyCVR实现H.265视频在3秒内起播的注意事项

可视化云监控平台/安防视频监控系统EasyCVR视频综合管理平台,采用了开放式的网络结构,可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,同时…

Hadoop安装笔记2单机/伪分布式配置_Hadoop3.1.3——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

紧接着上一篇博客:Hadoop安装笔记1: Hadoop安装笔记1单机/伪分布式配置_Hadoop3.1.3——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理-CSDN博客https://blog.csdn.net/Zhiyilang/article/details/135…

CocoaPods安装及‘__rvm_make -j8‘处理

CocoaPods是一个用Ruby写的、负责管理iOS项目中第三方开源库的工具,CocoaPods能让我们集中的、统一管理第三方开源库,为我们节省设置和更新第三方开源库的时间。 安装步骤 1.查看ruby版本 ruby -v 2.通过rvm来安装或升级Ruby,依次执行 cu…

【ChatGPT 默认强化学习策略】PPO 近端策略优化算法

PPO 近端策略优化算法 PPO 概率比率裁剪 演员-评论家算法演员-评论家算法:多智能体强化学习核心框架概率比率裁剪:逐步进行变化的方法PPO 目标函数的设计重要性采样KL散度 PPO 概率比率裁剪 演员-评论家算法 论文链接:https://arxiv.org…

基于Vite创建简单Vue3工程

首先安装node.js环境,没有node.js环境,便没有npm命令。 1、Vue3创建执行命令 D:\TABLE\test>npm create vuelatestVue.js - The Progressive JavaScript Framework√ 请输入项目名称: ... vue_test √ 是否使用 TypeScript 语法&#xff…

Pix2Pix如何工作?

一、说明 在本指南中,我们将重点介绍 Pix2Pix [1],它是用于配对图像翻译的著名且成功的深度学习模型之一。在地理空间科学中,这种方法可以帮助传统上不可能的广泛应用,在这些应用中,我们可能希望从一个图像域转到另一个…

Vue - 使用Element UI Upload / importExcelJs进行文件导入

1 情景一 需求背景:后端配合,点击"导入"按钮,弹出“导入”弹窗,将电脑本地Excel表格数据导入到页面中表格位置(需要调用后端接口),而页面中表格通过后端接口获取最新数据。 实现思路…

从0到1入门C++编程——01 C++基础知识

文章目录 一、工具安装二、新建项目三、设置字体、注释、行号四、C基础知识1.数据类型2.输入输出3.运算符4.选择、循环结构5.跳转语句6.数组7.函数8.指针9.结构体 一、工具安装 学习C使用到的工具是Visual Studio,Visual Studio 2010旗舰版下载链接:点此…

【python_数据分组】

对excel按照标签进行分组,例如按照“开票主体和对方公司”进行分组,并获取对应的明细。 表格如下: def main(excel_data):result {}for d in excel_data:if str(d[0])str(d[1]) in result:result[str(d[0])str(d[1])].append([d[0],d[1],…

java生产设备效率管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web生产设备效率管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为ac…

在Mac上恢复SD卡数据的 6 个有效应用程序

慌!SD卡里的照片和视频不小心删了,Mac设备上还恢复不了数据! 遇到这种情况,你需要的是一款可靠的Mac适用的SD卡恢复软件。我们为你准备了一份最佳的SD卡恢复软件列表,并且还有详细的评论。另外,我们还会给…

用katalon解决接口/自动化测试拦路虎--参数化

不管是做接口测试还是做自动化测试,参数化肯定是一个绕不过去的坎。 因为我们要考虑到多个接口都使用相同参数的问题。所以,本文将讲述一下katalon是如何进行参数化的。 全局变量 右侧菜单栏中打开profile,点击default,打开之后…

Big-endian与Little-endian详尽说明

大端与小端存储详尽说明 大端与小端存储详尽说明 大端与小端存储详尽说明一. 什么是字节序二. 什么是大端存储模式三. 什么是小端存储模式四. 大小端各自的特点五. 为什么会有大小端模式之分六. 为什么要注意大小端问题六. 大小端判定程序七. 大端小端的转换1)16位大…