1.1 Unity 界面与工作流程


文档摘要

1.1 Unity 界面与工作流程 1.1 Unity 界面与工作流程 欢迎来到 Unity 的世界!作为一款强大的跨平台游戏引擎,Unity 提供了直观且功能丰富的界面,以及一套高效的工作流程,帮助开发者将创意转化为现实。本章节我们将深入探索 Unity 编辑器的界面组成,并逐步解析其核心工作流程,为你打下坚实的基础。 1.1.1 Unity 界面详解 Unity 编辑器界面是开发者与引擎交互的主要窗口,它由多个面板和工具栏组成,每个部分都承担着不同的职责。熟悉这些组件的功能和用途,是高效使用 Unity 的前提。

1.1 Unity 界面与工作流程

1.1 Unity 界面与工作流程

欢迎来到 Unity 的世界!作为一款强大的跨平台游戏引擎,Unity 提供了直观且功能丰富的界面,以及一套高效的工作流程,帮助开发者将创意转化为现实。本章节我们将深入探索 Unity 编辑器的界面组成,并逐步解析其核心工作流程,为你打下坚实的基础。

1.1.1 Unity 界面详解

Unity 编辑器界面是开发者与引擎交互的主要窗口,它由多个面板和工具栏组成,每个部分都承担着不同的职责。熟悉这些组件的功能和用途,是高效使用 Unity 的前提。

以下是 Unity 编辑器界面的主要组成部分:

  1. 菜单栏 (Menu Bar)

  2. 工具栏 (Toolbar)

  3. 场景视图 (Scene View)

  4. 游戏视图 (Game View)

  5. 层级窗口 (Hierarchy Window)

  6. 项目窗口 (Project Window)

  7. 检视器窗口 (Inspector Window)

  8. 控制台窗口 (Console Window)

  9. 动画窗口 (Animation Window) (可选,根据需要展开)

  10. 材质窗口 (Material Window) (可选,根据需要展开)

我们逐一详细介绍这些组件。

1. 菜单栏 (Menu Bar)

菜单栏位于 Unity 编辑器窗口的最顶部,提供了访问 Unity 所有功能和设置的入口。它按照功能类别组织,包括:

  • File (文件)

    • New Project (新建项目):创建新的 Unity 项目。

    • Open Project (打开项目):打开已存在的 Unity 项目。

    • Save (保存) / Save As (另存为):保存当前场景或项目。

    • Build Settings (构建设置):配置项目构建平台和参数。

    • Build & Run (构建并运行):构建项目并立即运行。

    • Exit (退出):退出 Unity 编辑器。

  • Edit (编辑)

    • Undo (撤销) / Redo (重做):撤销或重做操作。

    • Cut (剪切) / Copy (复制) / Paste (粘贴):剪贴板操作。

    • Duplicate (复制):复制选定的游戏对象或资源。

    • Delete (删除):删除选定的游戏对象或资源。

    • Project Settings (项目设置):访问和修改项目全局设置,如物理、图形、输入等。

    • Preferences (偏好设置):访问和修改 Unity 编辑器的用户偏好设置,如界面主题、快捷键等。

  • Assets (资源)

    • Import New Asset (导入新资源):导入外部资源文件,如模型、纹理、音频等。

    • Import Package (导入包) / Export Package (导出包):导入或导出 Unity 包,方便资源共享和项目迁移。

    • Create (创建):创建新的资源类型,如文件夹、脚本、材质、动画等。

  • GameObject (游戏对象)

    • Create Empty (创建空对象):创建一个空的 GameObject。

    • 3D Object (3D 对象) / 2D Object (2D 对象):创建预设的 3D 或 2D 游戏对象,如立方体、球体、精灵等。

    • UI (用户界面):创建 UI 元素,如按钮、文本、图像等。

    • Effects (特效):创建特效系统,如粒子系统、光照探针等。

    • Audio (音频) / Video (视频) / Camera (摄像机) / Light (灯光):创建音频源、视频播放器、摄像机和灯光等组件。

  • Component (组件)

    • Physics (物理) / Physics 2D (2D 物理):添加物理组件,如刚体、碰撞器等。

    • Mesh (网格) / Rendering (渲染) / Animation (动画) / Audio (音频) / Video (视频) / UI (用户界面) / Layout (布局) / Event (事件) / Navigation (导航) / Script (脚本):添加各种类型的组件,扩展游戏对象的功能。

  • Window (窗口)

    • General (通用):访问常用的窗口,如 Scene (场景)、Game (游戏)、Hierarchy (层级)、Project (项目)、Inspector (检视器)、Console (控制台) 等。

    • Asset Management (资源管理) / AI (人工智能) / Animation (动画) / Audio (音频) / Cinematics (电影) / Package Manager (包管理器) / Rendering (渲染) / UI (用户界面) / Version Control (版本控制) / Analysis (分析) / Testing (测试):访问更专业的窗口,根据项目需求选择使用。

  • Help (帮助)

    • Unity Manual (Unity 手册):打开 Unity 官方手册文档。

    • Scripting API Reference (脚本 API 参考):打开 Unity 脚本 API 文档。

    • Unity Learn (Unity Learn 学习平台):访问 Unity 官方学习资源。

    • Unity Asset Store (Unity 资源商店):访问 Unity 资源商店,购买或下载资源。

    • Check for Updates (检查更新):检查 Unity 编辑器是否有新版本更新。

    • About Unity (关于 Unity):查看 Unity 编辑器的版本信息。

2. 工具栏 (Toolbar)

工具栏位于菜单栏下方,提供了常用操作的快捷方式。工具栏主要分为几个区域:

  • Transform Tools (变换工具)

    • Hand Tool (手型工具):用于平移场景视图。快捷键:H 或鼠标中键。

    • Translate Tool (移动工具):用于移动游戏对象。快捷键:W

    • Rotate Tool (旋转工具):用于旋转游戏对象。快捷键:E

    • Scale Tool (缩放工具):用于缩放游戏对象。快捷键:R

    • Rect Tool (矩形工具):主要用于 UI 元素的缩放和布局。快捷键:T

    • Multi Tool (多功能工具):整合了移动、旋转和缩放功能。快捷键:Y

  • Pivot & Local/Global (轴心点和本地/全局坐标系)

    • Pivot / Center (轴心点 / 中心点):切换变换操作的轴心点模式。Pivot 基于对象的轴心点,Center 基于对象的几何中心。

    • Global / Local (全局 / 本地):切换变换操作的坐标系。Global 基于世界坐标系,Local 基于对象自身的坐标系。

  • Play, Pause, Step (播放、暂停、步进)

    • Play (播放):进入游戏运行模式。快捷键:Ctrl + P 或 点击播放按钮。

    • Pause (暂停):暂停游戏运行。快捷键:Ctrl + Shift + P 或 点击暂停按钮。

    • Step (步进):单步执行游戏帧。快捷键:Ctrl + Alt + P 或 点击步进按钮。

  • Collaboration (协作) 和 Layers (图层) 以及 Layouts (布局)

    • Unity Cloud Services (Unity 云服务) (如果已启用):用于项目协作和云服务功能。

    • Layers (图层):用于管理场景中的图层,控制对象的渲染顺序和碰撞检测。

    • Layouts (布局):用于保存和加载不同的编辑器窗口布局。可以自定义和切换不同的工作区布局,以适应不同的工作流程。

3. 场景视图 (Scene View)

场景视图是 Unity 编辑器的核心视图之一,它允许开发者在三维或二维空间中可视化地编辑场景。你可以在场景视图中:

  • 导航场景:使用鼠标和键盘操作,自由移动、旋转和缩放视角,观察场景的不同部分。

    • 鼠标右键 + WASD/QE: 飞行模式导航。

    • 鼠标中键拖拽: 平移视图。

    • 鼠标滚轮: 缩放视图。

    • 按住 Alt + 鼠标左键拖拽: 围绕轴心点旋转视图。

    • 按住 Alt + 鼠标中键拖拽: 平移视图 (以轴心点为中心)。

    • F 键: 将视图焦点对准选定的游戏对象。

  • 选择和操作游戏对象:在场景视图中选择游戏对象,并使用工具栏中的变换工具 (移动、旋转、缩放) 对其进行操作。

  • 场景编辑:直接在场景视图中拖拽、放置、调整游戏对象的位置、旋转和缩放,构建游戏场景。

  • 绘制模式:场景视图提供多种绘制模式,可以切换不同的视觉效果,帮助开发者更好地理解场景。

    • Shaded (着色模式):默认的着色模式,显示材质、纹理和光照效果。

    • Wireframe (线框模式):只显示对象的线框结构。

    • Shaded Wireframe (着色线框模式):同时显示着色和线框。

    • Texture Only (仅纹理模式):只显示纹理。

    • Render Mode (渲染模式):允许选择不同的渲染模式,如 Albedo、Normals、Specular 等,用于调试和分析渲染效果。

  • 灯光和阴影预览:场景视图可以实时预览灯光和阴影效果,方便调整光照设置。

4. 游戏视图 (Game View)

游戏视图模拟最终玩家在游戏中看到的画面。它是从场景中 Main Camera (主摄像机) 的视角渲染的。游戏视图主要用于:

  • 预览游戏效果:在编辑器中实时预览游戏运行时的画面效果,包括摄像机视角、渲染效果、UI 布局等。

  • 测试游戏玩法:在游戏视图中运行游戏,测试游戏玩法、交互逻辑和用户体验。

  • 调整摄像机:调整主摄像机的位置、旋转、视野等参数,控制游戏画面的呈现效果。

注意: 游戏视图只显示主摄像机看到的画面。如果场景中没有主摄像机,游戏视图将显示一片空白。

5. 层级窗口 (Hierarchy Window)

层级窗口以树状结构显示当前场景中所有的游戏对象 (GameObject)。它清晰地展示了场景中对象的父子关系和组织结构。层级窗口主要用于:

  • 查看场景结构:快速了解场景中包含哪些游戏对象,以及它们之间的层级关系。

  • 选择游戏对象:在层级窗口中选择游戏对象,可以在场景视图和检视器窗口中同步选中。

  • 组织场景:通过拖拽游戏对象,改变它们的父子关系,创建合理的场景组织结构。

  • 重命名游戏对象:双击游戏对象名称,可以重命名对象,方便管理和识别。

  • 创建和删除游戏对象:在层级窗口中右键单击,可以创建新的游戏对象或删除已有的对象。

  • 搜索游戏对象:使用层级窗口顶部的搜索框,可以快速查找特定名称的游戏对象。

6. 项目窗口 (Project Window)

项目窗口用于管理 Unity 项目中的所有资源 (Assets)。资源包括场景文件、脚本文件、模型文件、纹理文件、音频文件、材质文件、动画文件等等。项目窗口类似于操作系统的文件管理器,它展示了项目资源的目录结构和文件列表。项目窗口主要用于:

  • 浏览和管理资源:查看项目中的所有资源,创建、删除、重命名、移动资源文件和文件夹。

  • 导入资源:将外部资源文件导入到 Unity 项目中。

  • 创建新资源:在项目窗口中右键单击,可以创建新的资源类型,如文件夹、脚本、材质、动画等。

  • 查找资源:使用项目窗口顶部的搜索框,可以快速查找特定名称或类型的资源。

  • 资源预览:选中资源文件,可以在项目窗口底部预览资源内容,如模型预览、纹理预览、音频播放等。

7. 检视器窗口 (Inspector Window)

检视器窗口用于显示和编辑当前选定的游戏对象或资源的属性和组件。它是 Unity 编辑器中最常用的窗口之一。检视器窗口会根据选定的对象类型动态显示不同的属性和组件。检视器窗口主要用于:

  • 查看对象属性:显示游戏对象的基本属性,如名称、标签 (Tag)、图层 (Layer)、是否激活 (Active) 等。

  • 查看和编辑组件:显示游戏对象附加的所有组件,并允许修改组件的属性值。例如,Transform 组件的位置、旋转、缩放,Mesh Renderer 组件的材质,Rigidbody 组件的质量、阻力等。

  • 添加和移除组件:点击检视器窗口底部的 "Add Component" 按钮,可以为游戏对象添加新的组件。右键单击组件标题栏,可以移除组件。

  • 脚本编辑:如果选定的资源是脚本文件,检视器窗口会显示脚本编辑器,允许编辑脚本代码。

8. 控制台窗口 (Console Window)

控制台窗口用于显示 Unity 编辑器和脚本运行时产生的消息,包括:

  • Error (错误):显示脚本运行时发生的错误信息,通常会导致程序中断或功能异常。

  • Warning (警告):显示脚本运行时发生的警告信息,通常表示潜在的问题或不规范的操作,但不一定会导致程序崩溃。

  • Log (日志):显示脚本中使用 Debug.Log() 输出的普通日志信息,用于调试和信息输出。

  • Clear (清除):清除控制台窗口中的所有消息。

  • Collapse (折叠):将重复的消息折叠显示,减少冗余信息。

  • Error Pause (错误时暂停):勾选后,当发生错误时,游戏运行会自动暂停,方便调试。

控制台窗口是调试脚本和查找错误的重要工具。

9. 动画窗口 (Animation Window) (可选)

动画窗口用于创建和编辑游戏对象的动画。它可以直观地编辑动画的关键帧和曲线,控制对象在时间轴上的属性变化。动画窗口通常用于制作角色动画、UI 动画、特效动画等。

  • 创建动画剪辑 (Animation Clip):在动画窗口中创建新的动画剪辑,定义动画的名称和时长。

  • 添加动画属性:选择要动画化的游戏对象和属性,如 Transform 组件的位置、旋转、缩放,材质的颜色,UI 元素的透明度等。

  • 编辑关键帧 (Keyframe):在时间轴上添加关键帧,设置不同时间点的属性值。

  • 编辑动画曲线 (Curve Editor):调整关键帧之间的动画曲线,控制属性值变化的缓动效果。

  • 预览动画:在动画窗口中预览动画效果。

10. 材质窗口 (Material Window) (可选)

材质窗口用于创建和编辑材质 (Material)。材质定义了游戏对象表面的外观属性,如颜色、纹理、光照反射、透明度等。材质窗口允许开发者调整材质的各种参数,创建不同的视觉效果。

  • 创建材质:在项目窗口中创建新的材质资源。

  • 选择 Shader (着色器):为材质选择合适的 Shader,Shader 决定了材质的渲染方式和可配置的属性。

  • 调整材质属性:根据所选 Shader 的不同,材质窗口会显示不同的属性面板,允许调整颜色、纹理、数值参数等。

  • 材质预览:材质窗口会实时预览材质效果。

1.1.2 Unity 工作流程详解

Unity 的工作流程可以概括为以下几个主要步骤:

  1. 启动 Unity 编辑器: 打开 Unity Hub,选择已有的 Unity 版本,启动 Unity 编辑器。

  2. 创建或打开项目:

    • 创建新项目: 在 Unity Hub 中选择 "Projects" -> "New project",选择项目模板 (2D, 3D, UR, HDRP 等),设置项目名称和存储路径,点击 "Create project" 创建新项目。

    • 打开现有项目: 在 Unity Hub 中选择 "Projects",在项目列表中选择要打开的项目,或者点击 "Add project from disk" 选择项目文件夹打开。

  3. 资源导入与管理: 将游戏所需的各种资源导入到 Unity 项目中。

    • 导入资源: 通过 "Assets" -> "Import New Asset" 或直接拖拽资源文件到项目窗口中导入资源。Unity 支持多种资源格式,如 FBX, OBJ, PNG, JPG, MP3, WAV 等。

    • 资源组织: 在项目窗口中创建文件夹,对资源进行分类和组织,保持项目结构的清晰和可维护性。

  4. 场景搭建与设计: 在场景视图中搭建游戏场景,包括地形、环境、建筑、道路等元素。

    • 创建场景: 默认情况下,Unity 会创建一个名为 "SampleScene" 的场景。可以通过 "File" -> "New Scene" 创建新的场景。

    • 场景编辑: 使用场景视图和工具栏,放置、移动、旋转、缩放游戏对象,构建场景布局。

  5. 游戏对象创建与配置: 在场景中创建游戏对象,并配置其基本属性,如名称、位置、旋转、缩放、标签、图层等。

    • 创建游戏对象: 通过 "GameObject" 菜单或在层级窗口中右键单击创建游戏对象。

    • 配置属性: 在检视器窗口中修改游戏对象的属性,如 Transform 组件的位置、旋转、缩放。

  6. 组件添加与调整: 为游戏对象添加组件,赋予其特定的功能和行为。

    • 添加组件: 在检视器窗口中点击 "Add Component" 按钮,选择要添加的组件类型。

    • 调整组件属性: 在检视器窗口中修改组件的属性值,配置组件的行为。

  7. 脚本编写与应用: 编写 C# 脚本,控制游戏逻辑、角色行为、交互机制等。

    • 创建脚本: 在项目窗口中右键单击,选择 "Create" -> "C# Script" 创建新的 C# 脚本文件。

    • 编写脚本: 使用 Unity 脚本编辑器 (默认是 Visual Studio 或 VS Code) 编写脚本代码。

    • 应用脚本: 将脚本组件添加到游戏对象上,使脚本代码生效。

  8. 运行与测试 (Play Mode): 进入游戏运行模式,测试游戏的功能和效果。

    • 进入 Play Mode: 点击工具栏中的 "Play" 按钮或按下 Ctrl + P 快捷键进入 Play Mode。

    • 游戏测试: 在 Game 视图中观察游戏运行效果,测试游戏玩法和交互逻辑。

    • 退出 Play Mode: 再次点击 "Play" 按钮或按下 Ctrl + P 快捷键退出 Play Mode。

  9. 迭代优化与调试: 根据测试结果,不断迭代优化游戏设计和代码,并进行调试,修复 Bug,提升游戏质量。

    • 迭代优化: 根据测试反馈,调整场景设计、游戏玩法、美术效果等。

    • 脚本调试: 使用控制台窗口查看错误和警告信息,使用断点调试脚本代码,查找和修复 Bug。

  10. 构建发布 (Build & Run): 完成游戏开发后,将项目构建为可执行文件或发布包,发布到目标平台。

    • 构建设置: 通过 "File" -> "Build Settings" 打开构建设置窗口,选择目标平台 (如 Windows, macOS, Android, iOS, WebGL 等),配置构建参数。

    • 构建项目: 点击 "Build" 或 "Build And Run" 按钮,开始构建项目。

以上工作流程是一个循环迭代的过程。开发者通常会在场景搭建、游戏对象配置、组件添加、脚本编写、运行测试、迭代优化等步骤之间反复循环,不断完善游戏项目。

1.1.3 代码实践:简单的场景交互

为了更好地理解 Unity 界面和工作流程,我们进行一个简单的代码实践:创建一个立方体,并编写脚本控制其移动和颜色变化。

步骤 1:创建 3D 项目

  • 启动 Unity Hub,点击 "New project"。

  • 选择 "3D" 模板,设置项目名称为 "UnityInterfaceDemo",选择存储路径,点击 "Create project"。

步骤 2:创建立方体

  • 在 Unity 编辑器中,点击 "GameObject" -> "3D Object" -> "Cube" 创建一个立方体游戏对象。

  • 在层级窗口中,可以看到名为 "Cube" 的游戏对象被创建。

  • 在场景视图中,可以看到场景中出现了一个白色立方体。

步骤 3:创建 C# 脚本

  • 在项目窗口中,右键单击 "Assets" 文件夹,选择 "Create" -> "C# Script"。

  • 命名脚本为 "CubeController",双击打开脚本文件 (默认使用 Visual Studio 或 VS Code)。

步骤 4:编写脚本代码

CubeController.cs 脚本中,输入以下代码:

using UnityEngine; public class CubeController : MonoBehaviour { public float moveSpeed = 5f; public Color[] colors = { Color.red, Color.green, Color.blue }; private int colorIndex = 0; private Renderer cubeRenderer; void Start() { cubeRenderer = GetComponent<Renderer>(); if (cubeRenderer == null) { Debug.LogError("Renderer component not found on this GameObject!"); } else { cubeRenderer.material.color = colors[colorIndex]; } } void Update() { // 移动立方体 float horizontalInput = Input.GetAxis("Horizontal"); float verticalInput = Input.GetAxis("Vertical"); Vector3 movement = new Vector3(horizontalInput, 0f, verticalInput) * moveSpeed * Time.deltaTime; transform.Translate(movement); // 切换颜色 (按下空格键) if (Input.GetKeyDown(KeyCode.Space)) { colorIndex = (colorIndex + 1) % colors.Length; if (cubeRenderer != null) { cubeRenderer.material.color = colors[colorIndex]; } } } }

代码解释:

  • public float moveSpeed = 5f;: 定义一个公共的浮点数变量 moveSpeed,用于控制立方体的移动速度,默认值为 5。在 Inspector 窗口中可以修改此值。

  • public Color[] colors = { Color.red, Color.green, Color.blue };: 定义一个公共的颜色数组 colors,包含红色、绿色和蓝色。在 Inspector 窗口中可以修改颜色数组。

  • private int colorIndex = 0;: 定义一个私有整数变量 colorIndex,用于记录当前颜色索引,初始值为 0。

  • private Renderer cubeRenderer;: 定义一个私有 Renderer 组件变量 cubeRenderer,用于获取立方体的渲染组件。

  • Start() 函数:在游戏对象初始化时执行。

    • cubeRenderer = GetComponent<Renderer>();: 获取当前游戏对象上的 Renderer 组件。

    • cubeRenderer.material.color = colors[colorIndex];: 设置立方体的材质颜色为颜色数组中的第一个颜色 (红色)。

  • Update() 函数:每帧执行一次。

    • float horizontalInput = Input.GetAxis("Horizontal");: 获取水平方向的输入值 (例如,按下 A/D 键或左右方向键)。

    • float verticalInput = Input.GetAxis("Vertical");: 获取垂直方向的输入值 (例如,按下 W/S 键或上下方向键)。

    • Vector3 movement = new Vector3(horizontalInput, 0f, verticalInput) * moveSpeed * Time.deltaTime;: 计算移动向量,乘以速度和时间间隔,实现平滑移动。

    • transform.Translate(movement);: 使用 transform.Translate() 函数移动立方体。

    • if (Input.GetKeyDown(KeyCode.Space)): 检测是否按下空格键。

    • colorIndex = (colorIndex + 1) % colors.Length;: 更新颜色索引,循环切换颜色数组中的颜色。

    • cubeRenderer.material.color = colors[colorIndex];: 更新立方体的材质颜色。

步骤 5:将脚本添加到立方体

  • 在层级窗口中,选中 "Cube" 游戏对象。

  • 在检视器窗口中,点击 "Add Component" 按钮,搜索 "CubeController",选择 "CubeController" 脚本添加到立方体。

  • 在检视器窗口中,可以看到 "Cube Controller (Script)" 组件被添加到立方体,并显示了 Move SpeedColors 属性,可以修改这些属性值。

步骤 6:运行测试

  • 点击工具栏中的 "Play" 按钮运行游戏。

  • 在 Game 视图中,可以使用 W/A/S/D 或方向键控制立方体移动。

  • 按下空格键可以切换立方体的颜色 (红色 -> 绿色 -> 蓝色 -> 红色 ...)。

  • 在运行过程中,可以在 Inspector 窗口中实时修改 Move SpeedColors 属性,观察效果变化。

步骤 7:保存场景

  • 点击 "File" -> "Save" 或 "File" -> "Save As" 保存当前场景。

通过这个简单的代码实践,你体验了 Unity 编辑器的基本界面和工作流程,包括创建游戏对象、编写脚本、添加组件、运行测试等。

1.1.4 总结

希望本章节的内容能够帮助你快速入门 Unity3D 开发!


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U