欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Unity实现人物平滑转身

程序员文章站 2022-09-04 14:29:53
今天要实现的功能是利用wasd或是方向键实现人物平滑转身。 1.首先搭建一个简易的场景和人物,我在这里利用一个圆柱加一个cube代表人物,其次保证人物模型的本地坐标与世界坐标保持统一...

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

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

Unity实现人物平滑转身

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);
  
 
  }
 }
 
}

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