animator 控制移动_利用OnAnimatorove函数控制人物的移动

本文介绍了在Unity中通过不同方式控制人物移动的方法,包括使用Transform.translate,Rigidbody.MovePosition()和Rigidbody.velocity。着重讨论了如何结合Animator组件,在OnAnimatorMove函数中实现角色的平滑移动和转向,同时控制动画状态。
摘要由CSDN通过智能技术生成

unity中控制人物移动有很多方法,经过这么长时间的学习后,我总结了一些;利用transform的translate方法控制人物移动;(结合动画的控制就不说了)

float mx = Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime;

float mz = Input.GetAxis("Vertical") * moveSpeed * Time.deltaTime;

transform.translate(mx,0,mz);

2.利用Rigidbody组件rigidbody.MovePosition()方法进行移动(包含动画控制部分),鼠标控制人物移动;void  FixedUpdate()

{

float h=Input.GetAxis("Horizontal");

float v=Input.GetAxis("Vertical");

Move(h,v);

Turning();

Animating(h,v);

}

void Move(float h,float v)

{

Vector3 movement;

movement.Set(h,0,v);

movement=movement.normalized*speed*Time.deltaTime;

rigidbody.MovePosition(transform.position+movement);

}

void Turning()

{

Ray camRay=Camera.ma

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值