Unity是一套具有完善体系与编辑器的跨平台游戏开发工具,也可以称之为游戏引擎。
游戏引擎是指一些编写好的可重复利用的代码与开发游戏所用的各功能编辑器。
Unity目前已超过50%的游戏引擎市场占有率。
官网:https://unity.com/cn
下载Unity Hub,注册Unity账号
然后安装编辑器,推荐安装LTS
长期支持版,这里选择2022.3.42f1c1
因为Visual Studio for Mac在2024年8月31日停用,所以我们将主要介绍Visual Stuiod Code的使用。
微软在2023年8月4日发布了Unity for Visual Stuio Code扩展,代替了以前的Debugger for Unity扩展。
.NET环境安装:https://dotnet.microsoft.com/en-us/download
VSCode扩展安装:Unity
将Unity项目的脚本编辑器设置为VSCode
在Unity中双击脚本,就可以打开Visual Studio Code,点击F5就可以构建项目了。
在第一次构建时,会有如下提示
编辑器安装完成之后,就可以开始创建项目了,点击(项目 - 新项目)
项目模板是基于不同类型项目的共同最佳实践而提供预选的设置。这些设置针对Unity支持的所有平台上的2D和3D项目进行了优化。
渲染管线 | 适用的项目模板 |
---|---|
内置渲染管线(Built-in Render Pipeline):默认渲染管线,适用于原型设计或者对画质要求不高的游戏,适用于低端设备。 | 2D(Built-in Render Pipeline)、3D(Built-in Render Pipeline)、2DMobile, 3D Mobile |
通用渲染管线(URP):对平台支持广泛,在性能上也有较好表现,适合移动端、桌面端、网页端游戏。 | Universal 2D、Universal 3D |
高清渲染管线(HDRP):适合大型3A游戏,对画面有高清渲染需求,适合桌面游戏和主机游戏项目。 | High Definition 3D |
Assets
:存放项目所有资源的主要文件夹,就是资源面板里的内容Library
:临时文件和缓存文件夹,由Unity自动生成,包括资源索引、元数据等。一般情况下不需要修改或管理。若出现问题,可以尝试删除让Unity重新生成Logs
:Unity编辑器和运行时的日志文件夹,由Unity自动生成,包含详细的运行日志以及错误信息,不建议删除Packages
:Unity Package Manager(UPM)使用的文件夹,包含引用的各种包和资源。不建议删除ProjectSettings
:包含项目的配置文件,例如输入设置、编辑器设置等,不建议删除Temp
:临时文件夹,用于存放在编辑和运行时可能需要的临时数据,不建议删除UserSettings
:存放用户特定设置的文件夹,如布局、偏好等。不建议删除,但如果没有特定的用户设置需要保留,可以删除该文件夹中的内容,Unity会在需要时重新生成.vsconfig
:Visual Studio Code的配置文件,定义项目在VS Code中的设置和依赖项。如果不使用Visual Studio Code作为IDE,或者不需要特定的配置文件,可以删除这个文件Assembly-CSharp.csproj
和 Assembly-CSharp-Editor.csproj
:这两个是Unity项目的C#项目文件,分别用于项目运行时代码和编辑器扩展的代码。不建议删除,如果不使用C#进行编码或者不需要在Visual Studio中打开项目,可以删除这两个文件.sln
:Visual Studio生成的解决方案文件,用于整合Unity项目和C#项目。不建议删除,如果不使用Visual Studio或其他支持的IDE进行开发,可以删除该文件Hierarchy
:层级窗口Scene
: 场景窗口,3D视图窗Game
:游戏播放窗口Inspector
:检查器窗口,属性窗口Project
:项目窗口Console
: 控制台窗口按住鼠标中键:平移视图
按住右键:围绕视图中心点旋转
按住右键可以使用(W、S、D、A、Q、E)来移动视图
**注意:**Unity创建物体的时候默认会生成在视图的中心点,而不是世界原点,可以选中物体后使用快捷键F
来将视图中心点移动到物体
移动、旋转、缩放等功能,可以使用(Q、W、E、R)等快捷键,操作模式如下
Pivot
:轴心 / Center 中心点Global
:世界坐标系 / Local 局部坐标系透视图下,物体近大远小。正交视图下,物体的显示与距离无关,可以通过右上角坐标下面的Persp(透视)和ISO(正交)进行切换
复制:(Ctrl + D)
删除:(Delete、Ctrl + back)
聚焦:选中物体按(F)
一个场景可以理解为一个环境,由许多的物体搭建而成,Unity将这些物体称游戏对象GameObject。
游戏对象是Unity中的基本实体,可以是图片、文本、三维物体等。是一种容器,可以挂载组件,游戏对象至少要有Mesh Filter(网格组件)和Mesh Renderer(渲染组件)才能渲染,即在编辑面板、游戏面板中看到。
在Unity中,游戏物体是不具备任何功能的,如果想要为其添加功能,那么就需要为它添加该功能的组件,而每一个组件其实就是一个引擎内部的组件脚本或是由自己编写的组件脚本。也就是说,一个游戏物体( Game Object)会包含多个组件( Component ),每一个组件又是一个组件脚本。
例如这个Cube物体,实际上就是(空物体 + Mesh Filter网格组件 + Mesh Renderer渲染组件 + Box Collider碰撞器组件)构成的。
脚本也是一种组件,用来定义逻辑的代码文件,通常使用C#编写,并附加到游戏对象上以控制其行为。
一个可重复使用的游戏对象模板,允许在项目中创建、配置和存储游戏对象的副本。直接从Hierarchy面板中拖动到资源面板即可形成预制体。
定义了游戏对象表面的外观和光照效果,常与纹理(Texture)结合使用,纹理就是附加到物体表面的贴图。
用于控制游戏对象的运动和变换,包括动画和场景中的其他动画效果。
涉及到碰撞、重力和其他物理行为,使游戏对象具有真实的物理特性。