U3D 动画

本文深入探讨Unity中的动画系统,包括Animator属性的使用,如layerCount和动画状态流转控制。讲解了过渡条件的与或关系,布尔与浮点值的设置,动画层的概念及其权重调整。此外,还介绍了如何使用IK进行动画控制,混合树的应用场景,以及RootMotion的作用。通过GetCurrentAnimatorStateInfo函数获取当前动画状态信息的方法也被详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Animator
属性
layerCount

如何控制动画状态流转
transition 条件之间的与或关系添加,添加多个transition就是条件的或关系
条件的或关系
在这里插入图片描述
条件的与关系
在这里插入图片描述

Set/Get Bool/Float

Layer
动画可以分层Layer,每层可以设置权重,层之间的关系可以选择addictive、override

GetLayerIndex  layer_index [0,-]
Set/GetLayerWeight

如何使用IK

目标枚举类 AvatarIKGoal
LeftFoot	The left foot.
RightFoot	The right foot.
LeftHand	The left hand.
RightHand	The right hand.
使用setweight设置哪个部位去够
使用setposition设置IK的目的点
animator.SetIKPositionWeight(AvatarIKGoal.RightHand, 1);
animator.SetIKPositionWeight(AvatarIKGoal.RightFoot, 1);
animator.SetIKPosition(AvatarIKGoal.RightHand, objToPickUp.position);

何处使用混合树
需要将动作混合的情况下,run,run-left,run-right
然后设置相应的float变量即可,同样使用SetFloat等函数

勾选Root motion则动画会控制角色移动

常用函数
animator.GetCurrentAnimatorStateInfo

stateinfor.IsName()
Does name match the name of the active state in the statemachine?
The name should be in the form Layer.Name, for example “Base.Idle”.

模型 FBX,一般动画也是FBX
有些模型不带有avatar,需要自己生成
生成AVATAR,根据骨骼自动对应

动画的调试界面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值