Unity学习笔记(一)

一直对游戏兴趣浓厚,在玩游戏的过程中萌生了自己设计开发游戏的想法,之前也收藏了不少教程,但都一直放在收藏夹吃灰。最近痛下决心,用爱发电,制作一款属于自己的游戏,一定是一件挺有意思的事。在B站上寻得一宝藏UP,简单入门了C#后,开始了我的Unity之旅。

Unity入门

B站宝藏UP:邵发

教程地址:https://www.bilibili.com/video/BV1TZ4y1o76s

Unity安装

https://unity.cn/

选择LTS版本安装,先装Unity Hub,注册登录,然后装Editor

这里选择2020.3.25f1c1

创建项目

Unity Hub-项目-新建
注意登录状态,个人许可证是否到期

窗口布局

打开Editor,主要窗口如下:

  • Hierarchy 层级:节点管理器
  • Scene 场景:3D场景视图
  • Game 游戏:运行游戏
  • Inspector 检查器:展示选中节点详细属性
  • Project 项目:展示项目目录结构
  • Console 控制台:调试,debug

窗口布局可自定义,回到默认窗口布局:
Window-Layouts-default

界面字体大小调整:
Edit-Preferences-UI Scaling-取消勾选Use default desktop setting-调整Use custom scaling value

场景Scene

场景概述

定义:游戏中的场景,背景,关卡。
创建项目后,会自动创建默认场景:SampleScene

  • Project窗口-Assets-Scenes-SampleScene
  • Hierarchy窗口-SampleScene
  • Scene窗口中,仅有主摄像机(Main Camera)和定向光源(Directional Light)

游戏物体

定义:游戏中的对象,如角色、道具、建筑物、动物植物等
添加立方体:GameObject-3D Object-Cube
基本操作:

  • 选中物体:左键Object,呈橙色轮廓
  • 放大/缩小:鼠标滚轮
  • 移动Object:左上工具栏-Move Tool-拖动坐标轴
  • 右键Rename,重命名Object
  • 右键Duplicate,复制Object
  • 右键Delete,删除Object
  • 右侧Inspector-显示Object组件,如位置、转角、大小等属性

3D视图(Scene)

基本组件:

  • 导航器 Gizmo:世界坐标方向
  • 栅格 Grid:XZ坐标平面,表示地平面
  • 天空盒 Skybox:世界背景,表示天空和大地
    视角基本操作:
  • 旋转:Alt + LMB(Left Mouse Button)
  • 缩放:鼠标滚轮或Alt + RMB(Right Mouse Button) 精细缩放
  • 平移:MMB(Middle Mouse Button),效果同Hand Tool
    导航器 Gizmo 操作:
  • 快速恢复y轴向上:Shift+LMB中间小方块
  • 俯视图:LMB y轴
  • 右视图:LMB x轴
  • 前视图:LMB z轴

世界坐标系

3D世界坐标系(左手系)
物体的坐标,由(x, y, z)定义,可以在Inspector中设置
一般来说,y轴表示上下,x/z轴表示东西南北

视野中心

定义:当前3D视图中心点位置。旋转视图时,视图是围绕中心点旋转的。在Unity中,是不支持围绕自定义物体旋转视图的。
框显所选:选中Object,按F键,置于视图中心(或双击Hierarchy中的Object对象)。此时旋转视图时,是围绕Object旋转的。注意:选中Object后,鼠标焦点必须位于Scene窗口中,此时按F键才有效。
出生点:添加一个新Object,位于视图中心。注意:出生点不是在(0, 0, 0),而是在当前视图中心

透视与正交

透视视图 Perspective:近大远小
正交视图 Orthographic:又称等距视图 Isometric。点击Gizmo下面的Persp即可切换透视与正交视图。
透视视图下,物体近大远小。正交视图下,物体的显示与距离无关。
一般使用透视视图,正交视图常用于物体的布局、对齐等操作,如正交顶视图、正交右视图、正交前视图。
摄像机的广角 Field 默认60度。广角越大,位于边缘的Object透视畸变越厉害。可以设为30-40度。

3D原生物体Object

Unity自带的基本模型:

  • Cube:立方体
  • Sphere:球体
  • Capsule:胶囊体
  • Cylinder:圆柱体
  • Plane:平面

Unity的尺寸单位,一般来说约定Grid中1格=1米
原生模型一般用于联系,真正的模型应在建模软件中制作,然后导出到Unity。CG建模软件有:3Dmax/Maya/Blender/Cinema4D/Zbrush 等等。

物体操作

  • Move Tool:移动工具,快捷键W
  • Rotate Tool:旋转工具,快捷键E
  • Scale Tool:缩放工具,快捷键R
    操作模式,保持默认,轴心模式和世界坐标系
  • Pivot 轴心 / Center 中心点
  • Global 世界坐标系 / Local 局部坐标系

    物体的移动

    选中Move Tool,
  • 沿坐标轴移动
  • 沿坐标平面移动
  • 可在Inspector中精确指定,使用Transform-Reset重置到世界中心
    tips:当物体位置重叠时,最好在Hierarchy窗口中选中物体,即使物体被遮盖也可以操作

物体的旋转

选中Rotate Tool,

  • 逆时针为正,顺时针为负
  • 可在Inspector中精确指定
  • 按住Ctrl键,角度增量为15度
  • Edit-Grid and Snap Settings 栅格吸附设置

物体的缩放

选中Scale Tool,

  • 轴向缩放:拖动坐标轴
  • 整体缩放:拖动物体中心

进阶操作

  • 多选
    • 按Ctrl或Shift键,点选物体
    • 在3D视图中,鼠标框选
  • 复制
    • 选中物体,Ctrl+D复制物体
    • 右键选Duplicate
  • 聚焦
    • 选中物体,按F键,置于视图中心
    • 或者Hierarchy中双击物体
  • 激活Active
    • 选中物体,在检查器中激活/禁用物体,取消勾选物体
  • 对齐
    • 目视对齐
    • 进入正交视图操作

模型

网格

网格Mesh,存储了模型的形状数据

  • 模型形状由若干个面围成
  • 模型是空心的
  • Mesh包含面、顶点坐标、面的法向等数据
  • Unity中,所有物体的表面都是由若干三角面围成的,Mesh中记录了面和顶点数据
  • 面数越多,物体表面越精细,GPU负担也越重,类似分辨率。如高模:面数极多、高精细度的模型

材质

材质Material,存储物体表面细节数据

  • 颜色
  • 金属/非金属
  • 光滑/粗糙
  • 透明/半透明/不透明
  • 凹陷/凸起
    添加材质:
  • 添加一个目录
  • 添加一个材质:Project窗口-Assets-右键Create-Material
    • Albedo,指定表面颜色
    • 给材质命名
  • 指定材质
    • 选中材质,将材质拖到物体上
    • 选中材质,直接拖到Inspector-Mesh Renderer-Materials中

纹理

纹理 Texture,也称为贴图,用一张图定义物体的表面颜色。
在 Unity 中,为材质添加贴图:

  • 准备图片文件,添加一个 Textures 目录
  • 添加一个贴图:将图片拖入 Textures 目录
  • 添加贴图:Inspector-展开最下面-拖动图片到Albedo前面
    image-20220427222020210

  • 删除贴图:选中Albedo前面的图片,按backspace
    注意:建模师提供的模型,本身已包含了网格、材质、贴图

外部模型

Unity 标准模型格式:FBX
在建模软件中,将模型导出为 FBX 格式即可。
步骤:

  • 添加 Models 目录
  • 添加 模型 (*.fbx) 和 贴图 文件
  • 观察:
    • 在 fbx 文件中,包含了 Mesh 和 Material
    • 独立在外的贴图文件
    • 右下角的 Preview 预览窗口
    • 在 Project 窗口中,调节显示

更多模型细节

在 Unity 中,

  • 一个平面是没有厚度的
  • 平面的正面可见、背面透明。或者说,平面的背面不会被渲染。(玩家不会从地下观察地面情况)
  • 同样地,物体表面也是正面可见、背面透明的。
  • 默认的,物体具有一个材质 Default-Material ( Unity自带)。如果把物体材质删除,选中Meterial按backspace,此时材质显示为None,则以紫色显示

模型文件的使用

在一个 FBX 模型文件中,一般包含:

  • Mesh 网格 ,定义物体形状
  • Material 材质 ,定义物体表面光学特性
  • Texture 贴图 ,定义物体表面像素颜色
  1. FBX 文件第一种使用方式:
  • 选择 *.fbx 文件,直接拖到层级窗口
  • 观察节点图标
  • 选中节点,观察 Inspector 中的操作按钮

贴图:

  • 有的模型需要贴图文件
  • 贴图文件的路径是约定好的。置于与 fbx 相同目录,或者置于同级 Textures 目录

材质:

  • 模型可以定义多个材质
  • 在 Materials 属性中定义了一个数组
    image-20220427225846277
  1. FBX 文件第二种使用方式,材质的重映射 Remap:
  • 选中 *.fbx 资源文件
  • 在 Inspector 中切到 Materials 属性

    • Use Embeded Materials

    • On Demand Remap : 映射新的材质

  • 点 Apply 应用设置

或者,使用外部材质 Use External Materials:

  • 选中 fbx 文件
  • Location : Use External Materials 使用外部材质
  • 点 Apply 应用,则将内嵌材质解压缩到 Materials 目录
  • 直接修改 Materials 目录下的材质文件
  1. FBX 文件第三种使用方式:分解重组
  • 选择 fbx 中的 网格,拖放到Hierarchy
  • 选择 fbx 中的 材质,或者自定义一个材质,拖放到Inspector-Materials
  • 如果存在贴图,则使用 fbx 配套的材质贴图
0%