时间:2021-05-20
本文实例为大家分享了Unity键盘WASD实现物体移动的具体代码,供大家参考,具体内容如下
1首先在场景中建立一个Capsule,将主摄像机拖到其物体下。
2.将脚本挂在Capsule物体下,WASD 控制移动方向,空格延Y轴向上移动,F延Y轴向下移动
using System.Collections;using System.Collections.Generic;using UnityEngine; public class MoveCam : MonoBehaviour{ private Vector3 m_camRot; private Transform m_camTransform;//摄像机Transform private Transform m_transform;//摄像机父物体Transform public float m_movSpeed=10;//移动系数 public float m_rotateSpeed=1;//旋转系数 private void Start() { m_camTransform = Camera.main.transform; m_transform = GetComponent<Transform>(); } private void Update() { Control(); } void Control() { if (Input.GetMouseButton(0)) { //获取鼠标移动距离 float rh = Input.GetAxis("Mouse X"); float rv = Input.GetAxis("Mouse Y"); // 旋转摄像机 m_camRot.x -= rv * m_rotateSpeed; m_camRot.y += rh*m_rotateSpeed; } m_camTransform.eulerAngles = m_camRot; // 使主角的面向方向与摄像机一致 Vector3 camrot = m_camTransform.eulerAngles; camrot.x = 0; camrot.z = 0; m_transform.eulerAngles = camrot; // 定义3个值控制移动 float xm = 0, ym = 0, zm = 0; //按键盘W向上移动 if (Input.GetKey(KeyCode.W)) { zm += m_movSpeed * Time.deltaTime; } else if (Input.GetKey(KeyCode.S))//按键盘S向下移动 { zm -= m_movSpeed * Time.deltaTime; } if (Input.GetKey(KeyCode.A))//按键盘A向左移动 { xm -= m_movSpeed * Time.deltaTime; } else if (Input.GetKey(KeyCode.D))//按键盘D向右移动 { xm += m_movSpeed * Time.deltaTime; } if (Input.GetKey(KeyCode.Space) && m_transform.position.y <= 3) { ym+=m_movSpeed * Time.deltaTime; } if (Input.GetKey(KeyCode.F) && m_transform.position.y >= 1) { ym -= m_movSpeed * Time.deltaTime; } m_transform.Translate(new Vector3(xm,ym,zm),Space.Self); }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了unity实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下首先创建一个头部,编写脚本利用WASD控制头部的移动。Vector3up=new
在Unity中,我们经常需要让摄像机跟随一个物体移动,如果物体是水平移动的,而自身没有发生任何的偏转,那么我们可以直接将摄像机放在该物体下。这样就可以实现它们一
本文实例为大家分享了Unity实现移动物体到鼠标点击位置的具体代码,供大家参考,具体内容如下目的:移动物体到鼠标点击处屏幕所对应的空间位置,并使物体正对着点击的
前面,学了物体的移动功能,现在来学一下C#实现鼠标控制摄像机(视角)移动。代码如下:C#脚本(在Unity5.5.1下能运行):usingSystem.Coll
本文实例为大家分享了Unity3d如何通过射线使物体移动的具体代码,供大家参考,具体内容如下实现:usingSystem.Collections;usingSy