unity3D游戏开发之详解Animation类和Animator类.docx
- 文档编号:3325209
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:7
- 大小:72.04KB
unity3D游戏开发之详解Animation类和Animator类.docx
《unity3D游戏开发之详解Animation类和Animator类.docx》由会员分享,可在线阅读,更多相关《unity3D游戏开发之详解Animation类和Animator类.docx(7页珍藏版)》请在冰豆网上搜索。
unity3D游戏开发之详解Animation类和Animator类
unity3D游戏开发之详解Animation类和Animator类
详解 Animation类和Animator类
Animation类
animation组件用于播放动画。
可以指定动画剪辑到动画组件并从脚本控制动画播放。
在Unity的动画系统基于权重并且支持动画融合,叠加动画,动画混合,标签和完全控制动画播放的各个方面。
如果想播放一个简单的动画,可以使用Animation.Play;如果想在动画之间交叉淡入,可以使用Animation.CrossFade;如果想改变动画模式(循环,一次,乒乓),可以改变动画导入设置里面的动画帧的WrapMode,或者在运行时改变AnimationState.wrapMode的值; AnimationState可以用于改变动画的层,修改播放速度,并且直接控制融合与混合。
动画也支持枚举,所以你可以像这样在AnimationStates之间循环【狗刨学习网】:
// 使这个角色的所有动画的播放速度降为一半
for (var state :
AnimationState in animation) {
state.speed = 0.5;
}
Variables变量
clip 默认的动画剪辑。
playAutomatically 是否在开始的时候自动播放默认的动画
wrapMode 动画剪辑播放完成之后,应该如何操作
isPlaying 是否在播放任何动画?
this [string name] 返回名称为name的动画状态。
animatePhysics 如果打开这个选项,动画会在物理循环过程中被执行。
这个选项只有在结合运动学刚体的时候才有用。
animateOnlyIfVisible 如果打开这个选项,Unity可能在它认为用户不会看到当前动画的时候停止播放。
cullingType 控制动画组件的消隐。
localBounds 在本地坐标空间这个动画的动画组件的AABB。
Functions函数
Stop 停止所有当前Animation正在播放的动画。
Rewind 倒播名称为name的动画。
Sample 在当前状态对动画进行采样。
IsPlaying 名为name的动画正在播放吗?
Play 没有任何混合的播放动画。
CrossFade 在一定时间内淡入名称为name的动画并且淡出其他动画。
Blend 在接下来的几秒内混合名称为name的动画直到targetWeight
CrossFadeQueued 在前一个动画播放完成之后淡入淡出下一个动画。
PlayQueued 在前一个动画播放完成之后直接播放下一个动画。
AddClip 给动画添加一个名称为newName的动画剪辑。
RemoveClip 从动画列表移除剪辑。
GetClipCount 取得当前动画的动画剪辑数量。
SyncLayer 同步某层的动画的播放速度。
Animator 类
Mecanim动画系统中,通过Animator组件来控制动画的播放,设置和获取动画中的参数。
变量
isHuman 是否为人形动画。
Humanoid则返回true。
Generic 则返回false。
humanScale 人形动画Avatar缩放倍数。
(generic默认返回 1)
deltaPosition相对于上一帧Avatar位置变化量。
deltaRotation相对于上一帧Avatar旋转(朝向)变化量。
rootPosition 根节点(gameObject)位置。
rootRotation根节点(gameObject)朝向。
applyRootMotion 根节点受动画(animations)控制。
animatePhysics 如果为true,动画在物理循环中播放. 仅用来和动力学刚体(kinematic
rigidbodies)交互。
gravityWeight 重力值,取决于当前播放的动画。
bodyPosition 重心位置。
bodyRotation 重心方向。
stabilizeFeet 动画切换和混合时自动对齐脚
layerCount 动画控制器( AnimatorController)层数。
feetPivotActive脚底轴心权值. 为 0% 表示轴心在重心,为 100% 轴心在脚底。
pivotWeight 轴心权值;
pivotPosition 轴心当前位置。
isMatchingTarget 是否自动匹配。
speed播放速度。
( 1表示未缩放)。
targetPosition 目标点位置通过 SetTarget()函数设置。
targetRotation 目标点方向.通过SetTarget()设置。
cullingMode 裁剪模式.
avatar 获取和设置当前Avatar。
layersAffectMassCenter 附加层,影响重心。
函数
GetFloat 获取一个浮点数类型的参数。
SetFloat设置一个浮点数类型的参数。
GetBool获取一个布尔类型的参数。
SetBool 设置一个布尔类型的参数。
GetInteger获取一整数类型的参数。
SetInteger设置一个整数类型的参数。
GetVector获取一个向量类型的参数。
SetVector设置一个 向量类型的参数。
GetQuaternion获取一个四元数类型的参数。
SetQuaternion设置一个四元数类型的参数。
IsParameterControlledByCurve 参数是否通过曲线控制。
GetIKPosition 得到反向动力学的目标点位置。
SetIKPosition 设置反向动力学的目标点位置。
GetIKRotation 获取反向动力学目标点的方向。
SetIKRotation设置反向动力学的目标点方向。
GetIKPositionWeight 得到反向动力学位移权重。
(0表示原始位置。
1表示反向动力学
目标位置)
SetIKPositionWeight设置反向动力学位移权重。
GetIKRotationWeight 得到反向动力学方向权重。
SetIKRotationWeight 设置反向动力学方向权重。
SetLookAtPosition 设置观察方向(z轴正方向)。
SetLookAtWeight 设观察点方向权重。
GetLayerName 得到层的名称。
GetLayerWeight 得到层的当前权重。
SetLayerWeight 设置层的当前权重。
GetCurrentAnimatorStateInfo 获取当前动画控制器当前状态信息。
GetNextAnimatorStateInfo 得到当前动画控制器的下一个状态信息。
GetAnimatorTransitionInfo 得到指定动画控制器层上的转换信息。
GetCurrentAnimationClipState得到当前动画剪辑的状态信息。
GetNextAnimationClipState 获取下一个动画剪辑状态信息。
IsInTransition 是否正在进行状态切换
MatchTarget 自动对齐到目标位置和方向。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- unity3D 游戏 开发 详解 Animation Animator
![提示](https://static.bdocx.com/images/bang_tan.gif)