前言:本系列文档基于Unity 2019.4版本进行整理
一 系统要求
1.1 Unity Editor
Windows 需要Win7(SP1+)及以上系统,仅限64位版本;CPU要求X64架构;GPU要求DX10以上 Mac 需要Sierra 10.12.6以上系统;仅限X64架构;GPU要求Metal兼容型 Intel 和 AMD
1.2 Unity Player
Android 4.4(API 19)以上系统;CPU为ARMv7或ARM64;GPU要求OpenGL ES 2.0以上或Vulkan。 Build环境有Android SDK (9/API 28)、Android NDK (r19) 和 OpenJDK。 IOS 10以上系统;A6以上芯片;GPU目前只使用Metal Build环境要求macOS 10.12.6+ 和 Xcode9.4+ Windows 需要Win7(SP1+)及以上系统,GPU要求DX10以上
更多
二、 Unity Hub
建议从非cn域名的官网下载Unity Hub(没有其他附加内容) 不使用Unity Hub直接安装Unity Editor的情况,将无法通过Unity Hub 添加模块。
Unity Hub 防火墙配置 出站 TCP 端口 443 (HTTPS):Hub 使用此端口连接到 Unity 服务,从而可提供用户登录、Unity Editor 更新、Unity Collaborate 以及 Hub 本身更新等功能。如果不打开此端口,Unity Hub 仍可使用,但会禁用在线功能。 出站 TCP/UDP 端口 53 (DNS):Hub 使用此端口快速确定互联网连接是否可用。如果不打开此端口,则即使端口 443 已打开,Hub 也会认为没有可用的互联网连接。 入站 TCP 端口 39000,仅接受来自 localhost 的连接:Hub 监听此端口以接受来自本地计算机上运行的 Editor 实例的连接。必须打开此端口才能接受来自 localhost 连接。
三、 快捷键
快捷键 | 功能 |
---|
F | 定格所选项(即,在包含文件夹中显示所选资源) | Tab | 在第一列和第二列之间移动焦点(两列) | Ctrl/Cmd + F | 聚焦搜索字段 | Ctrl/Cmd + A | 选择列表中的所有可见项 | Ctrl/Cmd + D | 复制所选资源 | Delete | 删除并显示对话框 (Win) | Delete + Shift | 删除而不显示对话框 (Win) | Delete + Cmd | 删除而不显示对话框 (OSX) | Enter | 开始重命名所选项 (OSX) | Cmd + 向下箭头 | 打开所选资源 (OSX) | Cmd + 向上箭头 | 跳转到父文件夹(OSX,两列) | F2 | 开始重命名所选项 (Win) | Enter | 打开所选资源 (Win) | Backspace | 跳转到父文件夹(Win,两列) | 向右箭头 | 展开所选项(树视图和搜索结果)。如果该项已展开,则将选择其第一个子项。 | 向左箭头 | 折叠所选项(树视图和搜索结果)。如果该项已折叠,则将选择其父项。 | Alt + 向右箭头 | 将资源显示为预览时展开项 | Alt + 向左箭头 | 将资源显示为预览时折叠项 |
可以从 Unity 的主菜单访问 Shortcuts Manager:
- 在 Windows 和 Linux 上,选择 Edit > Shortcuts。
- 在 macOS 上,选择 Unity > Shortcuts。
四 Scene视图相关
4.1 场景可见性
Unity 的场景可见性控件可用于在 Scene 视图中快速隐藏和显示游戏对象,而无需更改它们在游戏中的可见性。 Unity 将场景可见性设置保存到项目的 Library 文件夹中名为 SceneVisibilityState.asset 的文件中。 更多
4.2 绘制模式
绘制模式 | 功能 |
---|
Shaded | 显示表面时使纹理可见。 | Wireframe | 使用线框表示形式绘制网格。 | Shaded Wireframe | 显示网格纹理并叠加线框 | Render Paths | 使用颜色代码显示每个游戏对象的渲染路径 | Alpha Channel | 以 Alpha 渲染颜色。 | Overdraw | 将游戏对象渲染为透明的“轮廓”。 | Mipmaps | 使用颜色代码显示理想的纹理大小 | Texture Streaming | 根据游戏对象在纹理串流 系统中的状态 |
在Render Paths中: 蓝色表示延迟着色 绿色表示延迟光照 黄色表示前向渲染 红色表示顶点光照
更多
五、 资源
5.1 唯一ID
在 Assets 文件夹中放置诸如纹理之类的资源时,Unity 将检测到已添加新文件,因为 Editor 经常根据已知的资源列表来检查 Assets 文件夹的内容。 Unity 找到新文件时会向此资源分配唯一 ID。这是 Unity 在内部使用的 ID,用于引用资源,以便 Unity 可以移动或重命名此资源而不会破坏任何内容。 Unity 为项目的 Assets 文件夹中的每个资源或文件夹创建了一个 .meta 文件,就像它们出现在系统文件浏览器中一样。然而,这些 .meta 文件在 Project 窗口中不可见,因为默认情况下,它们会被隐藏。您可以显示这些文件,方法是从 Mode 项目设置中选择 Visible Meta Files。 更多
5.2 Package Manager位置
可使用 Package Manager 窗口来管理项目中的资源包。但是,如果您需要直接访问资源文件,可以在以下路径中找到这些文件:
- macOS:~/Library/Unity/Asset Store
- Windows:C:\Users\accountName\AppData\Roaming\Unity\Asset Store
5.3 YAML格式
Unity 的场景格式是用 YAML 数据序列化语言实现的。YAML 是一种开放格式,点击查看格式规范。场景中的每个对象都作为单独 YAML 文档写入到文件。 YAML格式的描述 YAML场景文件的一个示例 YAML类ID参考
5.4 直接修改资源
在 Unity 中可以编写永久修改源资源的脚本。
//Editor退出运行模式时,材质会重置
renderer.material.shader = invincibleShader;
//Editor退出运行模式时,材质不会重置
renderer.sharedMaterial.shader = invincibleShader;
以下资源同上:
- 材质:renderer.material 和 renderer.sharedMaterial
- 网格:meshFilter.mesh 和 meshFilter.sharedMesh
- 物理材质:collider.material 和 collider.sharedMaterial
六、 非一致缩放
非一致缩放是指变换组件中的 Scale 具有不同的 x、y 和 z 值;例如 (2, 4, 2)。相反,一致缩放则具有相同 x、y 和 z 值;例如 (3, 3, 3)。在一些特殊情况下,非一致缩放可能很有用,但这种缩放方式会导致一致缩放所没有的一些奇怪现象:
- 某些组件不完全支持非一致缩放。例如,有些组件具有由 radius 属性定义的圆形或球形元素,这些组件包括__球形碰撞体 (Sphere Collider)、胶囊碰撞体 (Capsule Collider)、光源 (Light)__ 和__音频源 (Audio Source)__。在这种情况下,圆形形状不会像预期的那样在非一致缩放下变成椭圆形,而是仍然保持圆形。
- 当子对象具有非一致缩放的父项并且相对于该父项旋转时,子对象可能看起来是倾斜或“截断”的。有些组件支持简单的非一致缩放,但在有这种倾斜的情况下无法正常工作。例如,倾斜的__盒型碰撞体 (Box Collider)__ 无法准确匹配渲染网格的形状。
- 出于性能原因,如果父项非一致缩放,子对象在旋转时不会自动更新其缩放比例。因此,当缩放比例最终_更新_时,子对象的形状可能会突然发生变化,例如在子对象与父项分离的情况下。
更多
七、 欧拉角与四元数
欧拉角受到万向锁 (Gimbal Lock) 的影响。当依次施加三个旋转时,第一个或第二个旋转可能导致第三个轴的方向与先前两个轴之一相同。 四元数的数学原理 四元数局限性: 单个四元数不能表示任何方向超过 180 度的旋转。 四元数的数字表示在直观上难以理解。
不在此讨论的内容
|