专栏首页林德熙的博客Unity3d 入门 控制相机移动

Unity3d 入门 控制相机移动

本文将告诉大家如何在 Unity3D 中通过键盘或鼠标进行控制 Unity3D 的相机移动。在 Unity3D 中的相机相当于人的视角,通过移动相机可以用来修改咱界面看到的画面

在 Unity3D 中,通过创建脚本的方式,让脚本附加到某个物体上,即可让脚本作用到某个物体上。而这个物体可以是相机。咱先创建一个空白的 Unity3D 项目,接下来创建一个 C# 脚本,当然了,这几个步骤还需要大家自己去摸索一下界面或者看一下新手教程视频哈

新建一个 Move.cs 的 C# 脚本文件,接下来右击此文件使用 C# 项目打开,在 VisualStudio 中添加如下代码

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 文件拖放到相机上即可

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【Unity3D】CharacterController控制人物的移动

    恬静的小魔龙
  • Unity3D OpenVR 虚拟现实 保龄球打砖块游戏开发

    据说水哥买了 Valve Index 设备,既然这个设备这么贵,不开发点有(zhi)趣(zhang)游戏就感觉对不起这个设备。本文将来开始着手开发一个可玩性不大...

    林德熙
  • Unity3D入门

    Unity3D是一款很不错的游戏引擎,主要开发语言是C#、JavaScript,当然还有Boo,然后给我Unity3D的官网Url: Unity3D官网    ...

    SmileNicky
  • Unity3D OpenVR SteamVR 点击菜单切换场景

    本文来告诉大家如何在基于 SteamVR 的 Unity3D 里面在用户点击菜单的时候,切换到新的场景的方法

    林德熙
  • Unity3D OpenVR SteamVR 获取输入动作按键 交互设备数据方法

    在开发 OpenVR 游戏或应用时,由于 VR 设备的交互形式和传统的形式不相同,因此获取输入交互设备数据如按键等的方式也有所不同。在 Steam VR SDK...

    林德熙
  • Unity3D使用Timeline实现过场动画

    在《Unity3D使用Cinemachine配合Timeline实现运镜效果》一篇中我们已经实现了简单的运镜效果,这一篇还是利用TimeLine做动画,然后通过...

    Vaccae
  • Unity3D OpenVR SteamVR 在头盔视觉前面常驻文本

    在开始之前,期望大家已阅读过基于 SteamVR 的 Unity3D 相关博客,如果还没了解相关知识,请参阅如下博客

    林德熙
  • Unity3D中使用Joystick Pack实现摇杆控制

    花了几个小时重新根据Unity3D的初学者教程做了一个简单的Demo,做完后确实对新人来说是个比较不错的学习项目,项目中控制人物移动是用的键盘的方向键,就想如果...

    Vaccae
  • 技能之AR技术入门

    AR真真假假,分不清~ 今天继续技能篇。往期技能文章有兴趣可以查阅: 5个用法,关于Gif。 技能之用iMovie制作预告片 AR跟VR都可以达到真假难辨的目...

    mixlab

扫码关注云+社区

领取腾讯云代金券