当前位置: 首页 > news >正文

Unity-Statemachinebehaviour状态机行为脚本

状态机行为脚本是什么?

状态机行为脚本时一类特殊的脚本,继承指定的基类

它主要用于关联到状态机中的状态矩形上我们可以按照一定规则编写脚本

当进入、退出、保持在某一个特定状态时我们可以进行一些逻辑处理

简单解释就是为 Animator Controller 状态机窗口中的某一个状态添加一个脚本

利用这个脚本我们可以做一些特殊功能

比如

  1. 进入或退出某一状态时播放声音

  2. 仅在某些状态下检测一些逻辑,比如是否接触地面等等

  3. 激活和控制某些状态相关的特效

如何使用状态机脚本

  1. 新建一个脚本继承 StateMachineBehaviour 基类

  2. 实现其中的特定方法进行状态行为监听

    OnStateEnter 进入状态时,第一个 Update 中调用

    OnStateExit 退出状态时,最后一个 Update 中调用

    OnStateIK OnAnimatorIK 后调用

    OnStateMove OnAnimatorMove 后调用

    OnStateUpdate 除第一帧和最后一帧,每个 Update 上调用

    OnStateMachineEnter 子状态机进入时调用,第一个 Update 中调用

    OnStateMachineExit 子状态机退出时调用,最后一个 Update 中调用

  3. 处理对应逻辑

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;public class lesson18 : StateMachineBehaviour
{public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){if(stateInfo.IsName("HumanoidIdle"))Debug.Log("进入状态");}public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){if (stateInfo.IsName("HumanoidIdle"))Debug.Log("退出状态");}public override void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){if (stateInfo.IsName("HumanoidIdle"))Debug.Log("OnAnimatorIK被调用");}public override void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){if (stateInfo.IsName("HumanoidIdle"))Debug.Log("OnAnimatorMove被调用");}public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){if (stateInfo.IsName("HumanoidIdle"))Debug.Log("除第一帧和最后一帧,每个 Update 上调用");}}

效果

http://www.dtcms.com/a/411644.html

相关文章:

  • 网站问题图片房子网站有哪些
  • 孝感应城网站建设长春网站建设 找源晟
  • 如何设置网站服务器常州做网站哪家便宜
  • 单片机引脚的高电平和低电平范围值
  • 设计师可以做兼职的网站创建网站的基本步骤
  • 网站后台开发做什么凡科网网站建设
  • 什么是合同管理系统?6个核心功能介绍
  • 数据采集技术:03 有关实时采集
  • 双有源桥DAB仿真控制simulink模型大合集,simulink仿真模型。
  • 石家庄的网站的公司沈阳个人网站制作
  • 网站建设属于移动互联网青岛网站seo诊断
  • Mish激活函数:一种自正则化的非单调神经激活函数
  • Stanford CS336 assignment1(上)
  • 做网站一般几个人完成做简历的网站 知乎
  • 【思考】作为“纯硬件”的ADC芯片,它是如何识别并处理SPI命令的?
  • 申请自助建站多点网络网站制作系统
  • 郑州网站优化seo网站的设计思路怎么写
  • 影刀 RPA:定时推送信息,高效便捷省心
  • 深度学习Pytorch入门(1):手撕CIFAR 10影像分类
  • Next.js 和VUE 区别对比总结
  • 网站建设这块是怎么挣钱的网络稿件投稿平台
  • 安徽建设银行 招聘网站wordpress自媒体博客模板
  • 基于大模型的换衣试装应用开发实战:从零构建虚拟试衣系统
  • 微信小程序学习(三)
  • 数据库迁移实战:最小化停机时间的方法
  • 十大免费ppt模板免费下载网站活动营销策划方案
  • 高端网站建设知识十大仓库管理软件
  • 路径平滑连接方法
  • 商业空间设计师岗位职责上海高玩seo
  • iis 网站启动不了企业网站建设 租用服务器