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

wap手机网站制作搜狗收录提交入口网址

wap手机网站制作,搜狗收录提交入口网址,北京建站免费模板,用易语言做网站一.StateMachineBehaviour概述 状态机行为是一类特殊脚本。与将常规 Unity 脚本 (MonoBehaviour) 附加到单个游戏对象类似,您可以将 StateMachineBehaviour 脚本附加到状态机中的单个状态。因此可编写一些将在状态机进入、退出或保持在特定状态时执行的代码。这意味…

一.StateMachineBehaviour概述

状态机行为是一类特殊脚本。与将常规 Unity 脚本 (MonoBehaviour) 附加到单个游戏对象类似,您可以将 StateMachineBehaviour 脚本附加到状态机中的单个状态。因此可编写一些将在状态机进入、退出或保持在特定状态时执行的代码。这意味着您不必编写自己的逻辑来测试和检测状态的变化。

参考官方手册:状态机行为

二.StateMachineBehaviour脚本创建

如上图所示,选中状态节点,点击Add Behavior按钮创建脚本后,双击进入脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class attackState : StateMachineBehaviour
{// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state//override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)//{//    //}// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks//override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)//{//    //}// OnStateExit is called when a transition ends and the state machine finishes evaluating this state//override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)//{//    //}// OnStateMove is called right after Animator.OnAnimatorMove()//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)//{//    // Implement code that processes and affects root motion//}// OnStateIK is called right after Animator.OnAnimatorIK()//override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)//{//    // Implement code that sets up animation IK (inverse kinematics)//}
}

脚本继承StateMachineBehaviour并有五个虚方法,比较常用的是前面3个

三.案例演示

Demo说明:模型初始为idle状态,按下Q播放攻击动作,进入动作,动作进行中,动作结束时引擎会自动调用OnStateEnter,OnStateUpdate,OnStateExit

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class attackState : StateMachineBehaviour
{public int m_enterNum = 0;override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){m_enterNum++;Debug.Log(string.Format("OnStateEnter, m_enterNum = {0}", m_enterNum));}override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){Debug.Log("OnStateUpdate");}override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){Debug.Log("OnStateExit");}}

事件方法参数说明:

  • animator:脚本所在状态节点所在的animator组件
  • AnimatorStateInfo:以get属性为主的结构体
  • layerIndex:脚本所在状态节点的动画层索引

下面代码展示MonoBehaviour访问StateMachineBehaviour

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Robot : MonoBehaviour
{private Animator m_animator;private attackState m_attackState;void Start(){m_animator = GetComponent<Animator>();m_attackState = m_animator.GetBehaviour<attackState>();}void Update(){if (Input.GetKeyDown(KeyCode.Q)){m_animator.SetTrigger("attack");Debug.Log(string.Format("进入attack状态之前 m_enterNum = {0}", m_attackState.m_enterNum));}}
}

http://www.shuangfujiaoyu.com/news/41331.html

相关文章:

  • 淄博网站建设公司有多少家营销案例分享
  • 什么叫关闭网络代理杭州上城区抖音seo有多好
  • 建设公司排名抖音关键词优化排名靠前
  • 永定路网站建设搜索引擎营销包括
  • 食品电子商务网站建设论文自建站seo如何做
  • wordpress评论不准设置网站百度文库个人登录入口
  • 布吉做棋牌网站建设找哪家效益快北京seo公司网站
  • 易趣网的网站架构成人教育培训机构
  • 中山网站建设如何怎么在百度推广
  • 营口网站建设seo泛目录培训
  • 美妆网站建设环境分析企业网站设计与实现论文
  • 网站banner特效上海百度seo优化
  • 东兴移动网站建设网站日常维护有哪些
  • seo如何优化排名手机网站优化排名
  • app下载做任务赚钱网站免费b站推广网站不用下载
  • 360网站安全检测谷歌推广怎么做最有效
  • 无锡工程建设中心网站seo站内优化
  • 淮北做网站电话企业营销策略
  • 网站建设首选智投未来1百度推广注册
  • 软文网站开发安徽网站设计
  • 免费招聘网站建设苏州seo优化
  • 黄石做网站联系广州竞价外包
  • 做网站 需要买云服务器吗网站大全
  • 商丘网上房地产查询系统baiduseoguide
  • 欧美做暧网站百度识图网页版
  • 免费做图片的网站有哪些公司网站设计模板
  • 稳定的常州网站推广百度免费seo
  • 制作公司网站要多少费用呢手机制作网页
  • 如何用免费服务器做网站百度登录个人中心
  • 阿里企业邮箱设置优化大师官方免费