Unity 第三人称人物移动

您所在的位置:网站首页 unity角色移动代码 Unity 第三人称人物移动

Unity 第三人称人物移动

#Unity 第三人称人物移动| 来源: 网络整理| 查看: 265

1,创建一个简单的物体作为角色 在这里插入图片描述 2,为物体添加移动代码:本次使用的方式A、D键控制前后运动,W、S键控制转向

transform.Translate(0, 0, speed * Input.GetAxis("Vertical"));//Translate可以控制物体移动 transform.Rotate(0, speed *20* Input.GetAxis("Horizontal"),0);//Rotate可以控制物体转向

3,物体需要跳跃:当按下空格键,AddForce可以给物体一个力,而Vector.up可以控制力的方向向上

if(Input.GetKeyDown(KeyCode.Space)) { this.GetComponent().AddForce(Vector3.up * 6000); }

4,为了使得物体不摔倒,使用eulerAngles给物体一个角度判断`

if ((this.transform.eulerAngles.x > 90 && this.transform.eulerAngles.x 90 && this.transform.eulerAngles.z public float speed = 0.1f; //定义一个速度 void Update() { //控制物体的移动 transform.Translate(0, 0, speed * Input.GetAxis("Vertical")); transform.Rotate(0, speed *20* Input.GetAxis("Horizontal"),0); //实现跳跃的效果 if(Input.GetKeyDown(KeyCode.Space)) { this.GetComponent().AddForce(Vector3.up * 6000); } //防止物体倒下(如果是角色控制器可以直接面板调整) if ((this.transform.eulerAngles.x > 90 && this.transform.eulerAngles.x 90 && this.transform.eulerAngles.z public Transform player; public float speed_one=10f; public float speed_two=10f; //使用speed_one,speed_two可以调整玩家和相机的距离 private float smooth = 1f; void LateUpdate() { Vector3 camera_felow = player.position + Vector3.up * speed_one - player.forward * speed_two; transform.position = Vector3.Lerp(transform.position, camera_felow, Time.deltaTime * smooth); transform.LookAt(player.position); } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3