一、简介
Avatar Controller适用于第三人称的人物控制,包括相机控制,目前初始版本v0.0.1包含对Avatar三个动画的控制:Idle静止、Walk行走、Sprint奔跑,通过Speed参数控制BlendTree,如图所示:
阈值分别如下:
该工具已经上传至我的开发框架SKFramework中,如图所示:
为Avatar人物添加Avatar Controller组件,实现人物控制
Avatar移动通过Rigidbody刚体组件驱动,因此需要同时添加刚体组件,假设人物重70公斤,将Mass设为70,Freez Rotation设为true,如图所示:
为Avatar添加Collider碰撞器,并设置适当大小:
为Avatar添加Animator组件,并指定Animator Controller:
为Camera相机添加Avatar Camera Controller组件,实现相机控制:
Main Camera:主相机 用于跟随人物 Sprint Key:加速按键 按下该键时 人物进入奔跑状态 Walk Threshold:行走阈值 与Animator BlendTree中阈值相对应 Sprint Threshold:奔跑阈值 与Animator BlendTree中阈值相对应 Rotate Speed:旋转值使用插值方式 插值的速度
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:
如图所示,当相机与人物之间被障碍物遮挡时,相机会向前拉进越过障碍物: