UnityAPI手册-2019.4官网版
文集大纲加载中……
本文档使用 MrDoc 发布
-
+
首页
Animator.GetBehaviour
# [Animator](Animator.html).GetBehaviour public T **GetBehaviour** (); ## 描述 返回匹配类型 `T` 或从 `T` 派生的第一个 [StateMachineBehaviour](StateMachineBehaviour.html)。如果未找到,则返回 null。 ``` using UnityEditor; using UnityEngine; public class RunBehaviour : StateMachineBehaviour { // OnStateUpdate is called at each Update frame between OnStateEnter and OnStateExit callback override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { Transform transform = animator.GetComponent<Transform>(); RaycastHit hitInfo; Vector3 dir = transform.TransformDirection(Vector3.forward); if (Physics.Raycast(transform.position + new Vector3(0, 1.5f, 0), dir, out hitInfo, 10)) { if (hitInfo.collider.tag == "Obstacle") { animator.GetBehaviour<SlideBehaviour>().target = transform.position + 1.25f * hitInfo.distance * dir; if (hitInfo.distance < 6) animator.SetTrigger("Slide"); } } } } public class SlideBehaviour : StateMachineBehaviour { public Vector3 target; public float slideMatchTargetStart = 0.11f; public float slideMatchTargetStop = 0.40f; // OnStateUpdate is called at each Update frame between OnStateEnter and OnStateExit callback override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { animator.MatchTarget(target, new Quaternion(), AvatarTarget.Root, new MatchTargetWeightMask(new Vector3(1, 0, 1), 0), slideMatchTargetStart, slideMatchTargetStop); } } ```
da
2022年5月24日 00:01
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码