目录
一、简介
Avatar Controller适用于第三人称的人物控制,包括相机控制,目前初始版本v0.0.1包含对Avatar三个动画的控制:Idle静止、Walk行走、Sprint奔跑,通过Speed参数控制BlendTree,如图所示:
阈值分别如下:
该工具已经上传至我的开发框架SKFramework中,如图所示:
SKFramework框架开源地址:
https://github.com/136512892/SKFramework
二、使用说明
1.人物控制
为Avatar人物添加Avatar Controller组件,实现人物控制
Avatar移动通过Rigidbody刚体组件驱动,因此需要同时添加刚体组件,假设人物重70公斤,将Mass设为70,Freez Rotation设为true,如图所示:
为Avatar添加Collider碰撞器,并设置适当大小:
为Avatar添加Animator组件,并指定Animator Controller:
2.相机控制
为Camera相机添加Avatar Camera Controller组件,实现相机控制:
三、参数说明
1.Avatar Controller
Main Camera:主相机 用于跟随人物
Sprint Key:加速按键 按下该键时 人物进入奔跑状态
Walk Threshold:行走阈值 与Animator BlendTree中阈值相对应
Sprint Threshold:奔跑阈值 与Animator BlendTree中阈值相对应
Rotate Speed:旋转值使用插值方式 插值的速度
2.Camera Controller
Avatar:Avatar人物
Horizontal Sensitivity:鼠标水平方向灵敏度
Vertical Sensitivity:鼠标垂直方向灵敏度
Rot Y Min Limit:旋转y值的最小值限制
Rot Y Max Limit:旋转y值的最大值限制
Rotation Lerp Time:插值到目标旋转值所需的时间
Height:相机距人物的高度
Min Distance Limit:相机距人物最小距离限制
Max Distance Limit:相机距人物最大距离限制
Scroll Sensitivity:鼠标滚轮滚动的灵敏度
Invert Scroll Direction:是否翻转鼠标滚轮滚动的方向
Obstacle Layer:避障检测时障碍物的Layer层
其中Obstacle Layer用于避障检测,例如在场景中放置一个障碍物,将其Layer层级指定为Default,假设它是障碍层:
将Obstacle Layer也设为Default:
如图所示,当相机与人物之间被障碍物遮挡时,相机会向前拉进越过障碍物: