毕设之旅第1站---角色控制1

本文详细介绍了在Unity中实现角色控制的过程,包括导入模型、建立状态机和编写代码控制角色的Idle、行走和跑步。首先,创建Player并添加Animator组件,接着创建状态机,设定不同动作的BlendTree。最后,通过代码控制角色的移动,实现平滑的运动转换。

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

角色idle,行走,跑步


第一步:导入模型

创建一个Plane,作为临时地面。

创建一个Capsule,命名为《Player》,去掉Mesh,保留collider,center的Y值设为1,作为角色的控制柄。

把model放在player下。为model添加animatior组件。


第二步:状态机

创建一个“Animator Controller”,命名为“Leevy”,赋值给modle。

打开Leevy,创建一个BlendTree,命名为“ground”,进入“ground”,Blend type为1D,修改Parameters为forward,最大值设为2,并添加3个Add motion field,依次拖入“idel”,"walk","run",三个animation。通过修改forward的值,来控制角色的基本动作。


第三步:代码控制

《PlayerKeyInput》,《PlayerController》

《PlayerKeyInput》模块,该模块是玩家键盘按键设置模块。把按键输入转化为信号,来控制角色。

为了不使信号转变太过生硬,这里使用SmoothDamp函数,

为了更好的控制,添加一个falg,来控制玩家能否控制角色移动

Update()里,把按键转化为坐标系里的(-1,1)信号。

把按键信号,转化为移动信号,即求的(x,y)的长度,这里牵扯到一个数学问题,斜向是,移动信号量为根号2,到达跑步的forward值。根据一个方程式来解决这个问题。

《PlayerController》里,来接收input模块传来的信号量,控制forward,来控制角色动作。

首先获得“PlayerKeyInput”脚本,刚体,状态机。

把信号转化为控制,Update():

FixUpdate():里控制角色移动量:

到此:角色可以行走,跑步,转向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值