前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity3d 入门 控制相机移动

Unity3d 入门 控制相机移动

作者头像
林德熙
发布2021-05-17 09:52:35
2.4K0
发布2021-05-17 09:52:35
举报

本文将告诉大家如何在 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 文件拖放到相机上即可

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档