当前位置: 移动技术网 > IT编程>开发语言>c# > Unity实现人物平滑转身

Unity实现人物平滑转身

2020年03月09日  | 移动技术网IT编程  | 我要评论

今天要实现的功能是利用wasd或是方向键实现人物平滑转身。

1.首先搭建一个简易的场景和人物,我在这里利用一个圆柱加一个cube代表人物,其次保证人物模型的本地坐标与世界坐标保持统一,如图所示

2.在人物身上添加playercontroller脚本,源码如下:

using unityengine;
using system.collections;
 
public class playercontroller : monobehaviour {
 float ver = 0;
 float hor = 0;
 public float turnspeed = 10;
 
 // use this for initialization
 void start () {
 
 }
 
 // update is called once per frame
 void update () {
 hor = input.getaxis("horizontal");
 ver = input.getaxis("vertical");
 
 }
 void rotating (float hor, float ver)
 {
 //获取方向
 vector3 dir = new vector3 (hor,0,ver);
 //将方向转换为四元数
 quaternion quadir = quaternion.lookrotation(dir,vector3.up);
 //缓慢转动到目标点
 transform.rotation = quaternion.lerp(transform.rotation,quadir,time.fixeddeltatime*turnspeed);
 
 
 
 }
 
 void fixedupdate(){
 
 
 if(hor!= 0 ||ver!= 0 ){
  //转身
  rotating(hor,ver);
  
 
  }
 }
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网