本文将告诉大家如何在 Unity3D 中通过键盘或鼠标进行控制 Unity3D 的相机移动。在 Unity3D 中的相机相当于人的视角,通过移动相机可以用来修改咱界面看到的画面
在 Unity3D 中,通过创建脚本的方式,让脚本附加到某个物体上,即可让脚本作用到某个物体上。而这个物体可以是相机。咱先创建一个空白的 Unity3D 项目,接下来创建一个 C# 脚本,当然了,这几个步骤还需要大家自己去摸索一下界面或者看一下新手教程视频哈
新建一个 Move.cs 的 C# 脚本文件,接下来右击此文件使用 C# 项目打开,在 VisualStudio 中添加如下代码
代码语言:javascript复制using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Animations;
public class Move : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
public float Speed = 10;
// Update is called once per frame
void Update()
{
var horizontalAsixName = "Horizontal";
var horizontal = Input.GetAxis(horizontalAsixName);
var verticalAsixName = "Vertical";
var vertical = Input.GetAxis(verticalAsixName);
var z = 0f;
if (Input.GetButton("Fire1"))
{
z = 1f;
}
else if (Input.GetButton("Fire2"))
{
z = -0.1f;
}
transform.Translate(new Vector3(horizontal, vertical, z) * Time.deltaTime * Speed, Space.World);
}
}
以上代码即可实现通过上下左右或 wasd 键盘控制物体上下左右移动,然后通过鼠标的左键和右键进行前进和后退
通过 Input.GetAxis 传入参数,即可获取水平或垂直方式的移动量,因为不同的业务下需要的速度不相同,因此咱以上还添加了 Speed 字段用于配置速度。在 Unity3D 里面的规矩标准和 dotnet 通用的有一点不相同的是允许公开 Behavior 等的字段
而 Z 轴方向,用来控制前进和后退的,就通过 Fire1 和 Fire2 分别获取左键和右键,通过此方式即可完成代码。更多请参阅 Unity3d 连续按键处理和单次按键处理
下一步就是将此 Move.cs 文件拖放到相机上即可