百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Unity引擎学习,适合零基础的Unity入门第一课。

nanshan 2025-02-11 12:56 16 浏览 0 评论

Unity 是市场上领先的实时开发平台之一,底层运行时代码用 C++ 编写,所有开发脚本均用 C# 编写。无论是想构建游戏、电影和动画电影,还是在虚拟世界中渲染建筑或工程概念,Unity 都有支持的基础设施。

Unity Hub

Unity Hub 允许下载多个 Unity 编辑器并将你的项目集中到一个地方。由于 Unity 升级不向后兼容,因此必须使用与创建项目时相同的 Unity 版本来打开项目。可以将项目更新到最新的 Unity 版本,但这可能需要进行一些调试才能解决功能错误。

安装 Unity Hub 的系统要求如下:

操作系统:

  • 仅限 Windows 7 SP1+、8、10,64 位版本
  • Mac OS X 10.12+
  • Ubuntu 16.04、18.04 和 CentOS 7

GPU:

  • 具有 DX10(着色器模型 4.0)功能的显卡

Unity Hub 界面包含四个选项卡:Projects、Learn、Community 和 Installs(项目、学习、社区和安装)。

  • Projects - 包含添加到 Unity Hub 的所有 Unity 项目的列表。此选项卡用于创建新项目,添加其他接收的项目。创建新项目时,会将其添加到列表,同时添加的还包括 Unity 版本、目标平台和项目上次修改日期。
  • Learn - 提供 Unity 创建的项目和教程以帮助您学习。
  • Community 选项卡提供与 Unity 社区互动的渠道链接,例如 Unity 论坛和 Unity Pulse - Unity 的反馈平台。
  • Installs:包含已安装的所有 Unity 版本的列表。可以在此选项卡中安装其他版本的 Unity,并向已安装的现有版本添加其他模块。

Unity 版本

可以安装多个版本的 Unity。如果正在处理使用不同版本的 Unity 创建的各种项目,这将非常有用。如果是从头开始并且没有版本依赖性,请考虑安装最新的 LTS 发行版 Unity。LTS 版本(长期支持)是稳定的 Unity 版本,最适合长期开发和发布项目。Unity 还为其所有版本提供了非 LTS 版本。

即将发布的 Beta 版本也可使用,但是,除非熟悉 Unity 编辑器并熟悉调试,才建议使用 Beta 版本。

安装的每个 Unity 版本都支持模块。这些模块提供额外的开发支持,例如开发工具、平台、文档和语言包。安装 Unity 版本后,可以从 Installs 选项卡中向 Unity 版本添加其他模块。

通过 Unity Hub 添加新 Unity 版本时,Unity 仅提供最新的 Unity 版本、LTS 版本和 Beta 版本。可以从 Unity Download Archive 中查找和下载旧版本。

平台

平台模块对于 Unity 至关重要,因为它使您能够在部署应用时定位不同的平台。就 XR 开发而言,Unity 支持以下平台:

  • ARKit
  • ARCore
  • Microsoft HoloLens
  • Windows Mixed Reality
  • Magic Leap
  • Oculus
  • OpenXR
  • PlayStation VR

以下是支持 XR 开发的最常见平台:

  • Universal Windows Platform (UWP)
  • Android
  • iOS

Universal Windows Platform

要针对 Windows 构建和运行,必须安装 Unity Universal Windows Platform Build Support 平台模块。只有当你在 Windows 电脑上使用 Unity 时,Universal Windows Platform 才会显示在平台列表中。还需要 Windows 10 和 Visual Studio 2019(16.8 或更高版本)。Visual Studio 需要以下工作负载:

  • Desktop development with C++
  • Universal Windows Platform (UWP) development
  • Game development with Unity

在 UWP 工作负载中,请确保安装时包含以下组件:

  • Windows 10 SDK version 10.0.19041.0 or 10.0.18362.0
  • USB Device Connectivity
  • C++ (v142) Universal Windows Platform tools

Android

要为 Android 构建和运行项目,必须安装 Unity Android Build Support 平台模块。还需要安装 Android Software Development Kit (SDK) 和 Native Development Kit (NDK),以便在 Android 设备上构建和运行代码。默认情况下,Unity 会安装基于 OpenJDK 的 Java Development Kit。

可以将 Android 设备连接到计算机,以进行 USB 调试并将应用安装到设备上。USB 调试要求在设备上启用 Developer 选项。启用后,可以使用 USB 电缆将设备连接到计算机。如果在 Windows 计算机上进行开发,则可能需要安装特定于设备的 USB 驱动程序。

iOS

要为 iOS 构建和运行项目,必须安装 Unity iOS Build Support 平台模块。虽然不需要 Apple 开发人员帐户即可在设备上构建,但建议设置 Apple 开发人员帐户,以充分利用 Unity 在 iOS 上的潜力。

脚本编辑器

Unity 需要代码编辑器或集成开发环境 (IDE) 来编辑脚本。此类软件包含基于文本的代码编辑器、代码调试器和其他有用的编程工具。Unity Hub 作为模块来为 Visual Studio 提供此支持。不过,也可以使用自己选择的编辑器。包括:

  • Visual Studio Code
  • Project Rider
  • Atom
  • MonoDevelop

选择脚本编辑器是个人喜好问题。如果不确定选择哪个编辑器,推荐使用 Visual Studio。

创建项目

项目是在 Unity Hub 的 Projects 选项卡中创建的。选择 New 按钮默认为项目选择最新的 Unity 版本。如果安装了多个 Unity 版本,则可以选择 New 旁边的下拉菜单来指定版本。

模板

Unity Hub 提供三种不同类型的模板:

  • Core Templates:这些模板中的大多数都针对想要开发的应用程序类型,可作为满足需求的快速入门。但是,2D 和 3D 核心模板可作为可公开使用的空白画布。
  • Sample Templates:这些模板提供以前开发的应用程序,即可用于测试或了解有关引擎的更多信息的示例。
  • Learning Templates:这些模板包含成熟的教程。这些是熟悉 Unity 和了解有关引擎开发基础知识的绝佳起点。

设置

可以在“Settings”中为项目提供名称和位置。请考虑以最容易区分项目的方式命名和组织你的 Unity 项目。

Unity 编辑器界面被组织成多个窗口,可以根据个人布局偏好重新排列。下面的编辑器图像显示了最常用窗口的默认位置:

  • A、工具栏
  • B、层次结构窗口
  • C、场景视图
  • D、游戏视图
  • E、检查器窗口
  • F、项目窗口
  • G、状态栏

工具栏和状态栏不是窗口,而是 Unity 编辑器的常用默认功能,无法重新排列。

工具栏

工具栏提供对最基本工作功能的访问。可以在 Unity 编辑器顶部找到工具栏。工具栏由几组控件组成,每组控件与编辑器的不同部分相关。

变换工具(Transform Tools)

使用场景视图中的变换工具来操纵场景。工具栏中的第一个工具是手形工具,它允许平移场景。移动、旋转、缩放、矩形变换和变换工具(按顺序显示)允许编辑单个对象。如果选择了四个变换工具之一,选定的对象还会在场景视图中显示一个 Gizmo。

变换 Gizmo

切换变换 Gizmo (Transform Gizmo)会影响场景视图。

播放、暂停和步进

使用游戏视图中的播放、暂停和步进按钮。

Unity Collaborate

从 Collab 下拉菜单启动 Unity Collaborate。

Cloud (云)

单击 “Cloud” 按钮打开 Unity 服务窗口。

Unity Account (Unity 帐户)

可以从帐户下拉菜单访问 Unity 帐户。

Layers

可以从 Layers 下拉菜单中控制哪些对象出现在场景视图中。

Layout

可以更改视图的排列,然后保存新布局或从 Layout 下拉菜单中加载现有布局。

Hierarchy 窗口

Hierarchy 窗口是场景中每个对象(或 GameObject)的层次化文本表示。场景中的每个项目在层次结构中都有一个条目,因此这两个窗口本质上是相互关联的。层次结构揭示了 GameObjects 如何相互连接的结构。可以使用 Hierarchy 窗口对场景中使用的 GameObjects 进行排序和分组。

默认情况下,Hierarchy 窗口按创建顺序列出 GameObjects。可以在场景中上下拖动选定的 GameObject 以更改它们的顺序。当在场景视图中添加或删除 GameObjects 时,也可以从 Hierarchy 窗口中添加或删除它们。Hierarchy 窗口还可以包含其他场景,每个场景都包含自己的 GameObjects。

父子关系

Unity 使用父子层次结构或父子关系的概念来对 GameObjects 进行分组。一个对象可以包含继承其属性的其他 GameObjects。可以将 GameObjects 链接在一起,以帮助移动、缩放或转换 GameObjects 集合。当移动顶层对象或父 GameObject 时,也会移动所有子 GameObjects。

可以创建嵌套的父子 GameObjects。所有嵌套对象仍然是原始父 GameObject 或根 GameObject 的后代。子 GameObjects 继承父 GameObject 的移动和旋转。

GameObject 可见性

可以在场景视图中隐藏 GameObjects,而不会改变其在应用程序中的可见性。这些控制对于处理难以查看和选择特定 GameObjects 的大型或复杂场景非常有用。要隐藏或显示 GameObject,请单击场景可见性(Scene visibility)图标。

场景视图

场景视图允许直观地导航和编辑场景。场景视图可以显示 3D 或 2D 视角,具体取决于正在处理的项目类型。您可以使用场景视图选择和定位场景、角色、摄像机、灯光和所有其他类型的游戏对象。

场景导航

场景视图有一组导航控件,可帮助快速高效地移动:

  • Scene Gizmo
  • Move、Orbit 和 Zoom 工具
  • Center 工具

Scene Gizmo

Scene Gizmo 出现在场景视图的右上角。它显示场景视图相机的当前方向,并允许快速修改视角和投影模式。

Scene Gizmo 在立方体的每一侧都有一个锥形臂。最前面的臂标记为 X、Y 和 Z。单击任何锥形轴臂可将场景视图相机捕捉到它所代表的轴上(例如:顶视图、左视图和前视图)。还可以右键单击立方体以调出一个带有视角列表的菜单。要返回默认视角,请右键单击 Scene Gizmo,然后单击 Free。

可以打开或关闭透视 (Perspective)。这会将场景视图的投影模式在透视和正交(有时称为“等距”)之间切换。为此,请单击 Scene Gizmo 中心的立方体或其下方的文本。正交视图没有透视,与单击其中一个圆锥轴臂结合使用可获得正面、顶部或侧面视图。

如果场景视图处于尴尬的视点(上下颠倒,或者只是你觉得混乱的角度),请按住 Shift 键并单击 Scene Gizmo 中心的立方体以返回透视视图,该视图的角度是从侧面和略微从上方观察场景。

单击 Scene Gizmo 右上角的挂锁以启用或禁用场景的旋转。禁用场景旋转后,右键单击鼠标会平移视图而不是旋转视图。这与手动工具相同。

注意:在 2D 模式下,Scene Gizmo 不会出现,因为唯一的选项是让视图垂直于 X、Y 平面。

Move、Orbit 和 Zoom

工具栏中的手形工具有三种可互换的模式:移动、轨道和缩放。移动模式以手形表示,可以通过单击和拖动来移动相机。

轨道模式以眼睛图标表示,可以通过按 ALT/Option + 左键单击并拖动来围绕当前枢轴点轨道运行相机。

缩放模式以带有加号的放大镜图标表示,可以通过按 ALT/Option + 右键单击并拖动来缩放场景视图。

对于每种模式,可以按住 Shift 键来增加移动和缩放的速度。

Center 工具

为了更好地查看对象,可以将场景视图置于 GameObject 上。为此,请在 Hierarchy 中选择 GameObject,将鼠标移到场景视图上,然后按 F。即使 GameObject 正在移动,也可以使用 Shift+F 将视图锁定到 GameObject。

游戏(Game)视图

游戏视图通过场景摄像机模拟最终渲染的游戏外观。单击工具栏中的播放按钮时,将进入播放模式并开始模拟。在播放模式下,所做的任何更改都是临时的,退出播放模式时将重置。需要一个或多个摄像机 GameObjects 来控制玩家在使用应用程序时看到的内容。

检查器(Inspector)窗口

检查器窗口允许查看和编辑当前选定 GameObject 的所有属性。由于不同类型的 GameObject 具有不同的属性集,因此每次选择不同的 GameObject 时,检查器窗口的布局和内容都会发生变化。层次结构中的组件也可以重新排序。当选择了两个或更多项目时,可以在检查器窗口中编辑它们共有的所有属性。Unity 将提供的值复制到所有选定项目。检查器窗口显示选定项目的数量。

项目(Project)窗口

项目窗口显示可在项目中使用的资产(Assets)库。当资产导入项目时,它们会出现在这里。项目窗口是在应用程序中导航和查找资产和其他项目文件的主要方式。

浏览器的左侧面板以分层列表的形式显示项目的文件夹结构 (A)。当从列表中选择一个文件夹时,Unity 会在右侧窗格中显示其内容。

单个资产 (B) 在右侧面板中显示为各种指示其类型的图标(例如,脚本、材料、子文件夹)。要调整图标大小,请使用面板底部的滑块;如果将滑块移到最左侧,它们将被分层列表视图替换。滑块左侧的空间显示当前选定的项目,如果正在执行搜索,则包括该项目的完整路径。

项目结构列表上方是收藏夹部分 (C),可以在其中保存常用项目以方便访问。可以将项目从项目结构列表拖到收藏夹,也可以在那里保存搜索查询。

项目窗口还包含一个工具栏,其中包含用于创建资产和子文件夹、搜索项目文件夹以及切换项目窗口中包的可见性等操作。

状态栏

状态栏提供有关各种 Unity 进程的通知,以及快速访问相关工具和设置。

作为一款广泛使用的游戏开发引擎,Unity在游戏行业中占据着重要的地位,与国内外的一些大厂,如EA、腾讯、网易、完美世界等都有着长期深度的合作。

一方面,Unity提供运营工具及服务,助力游戏的运营与商业化;另一方面,Unity也提供教育及可视化产品,给中小独立开发者提供了强大的创作支持。

其实,除了传统的游戏开发领域,Unity在汽车及高端制造、建筑制造、影视文娱等领域也有着广泛的应用。

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: