1.Unity入门

1.unity项目的各个文件夹

文件夹名称 Name 作用
Assets 资源文件夹 保存游戏中所有的资源。
Library 库文件夹 保存当前项目需要的库文件。
Logs 日志文件夹 Unity工作过程中的日志文件
Packages 包管理文件夹 存放工程的包配置文件和development状态具体包
ProjectSettings 项目设置文件夹 保存项目的设置信息。
Temp 临时文件夹 保存项目的临时数据。

UPM用的,类似于隔壁nuget、npm、pip一样类型的东西,包管理工具。这个目录用来存放工程的包配置文件。和development状态具体包。(对于不知道这玩意干嘛的情况来说,只要知道它会存放当前工程的包配置信息就行了,可以粗略的理解为这是另一种projectsetting目录)

关于日志文件:https://baike.baidu.com/item/日志文件/1505348?fr=aladdin

2.Unity的六个面板

面板 Name 作用
Scence 场景面板 用于预览当前的场景
Game 游戏面板 游戏的预览(运行)窗口
Project 项目面板 用于管理当前项目中所有的资源
Console 控制台面板 用于输出显示游戏运行过程中的调试信息
Inspector 检视(属性)面板 用于查看和编辑游戏物体和项目资源的具体信息
Hierarchy 层级面板 用于显示当前场景中的所有资源,在这个面板中可以往场景中添加资源

注:
  1.可以通过 Project 面板的右上角的三条杠,选中 owe column layout / two column layout 来相应的改变 单 / 双 列的显示
  2.可以通过 Unity 软件最右上角的选项 layout 来改变当前的各个面板的布局,里面有系统定义的几个布局,或者可以自己直接拖动面板来进行修改。
  3.其中 Project 面板内的 Assets:对应该项目文件夹中的 Assets 文件夹。所以 Project 面板相当于在 unity 中打开的项目文件夹。
  4.Assets 中创建文件夹步骤:光标移至 Assets 上单击右键,会弹出菜单-->Create-->Folder,然后改名。
  4.游戏在运行状态时,做过的任何操作都不会被保留。

3.Scene面板与场景

3.1.场景

3.1.1简介

场景:是有多个游戏物体组合后的一个整体。

3.1.2创建与保存场景

①File菜单-->New Scene或(Ctrl + N):新建场景
②File菜单-->Save Scene或(Ctrl + S):保存场景

场景的后缀为 “.unity”

3.1.3管理场景

在 Assets 文件夹中创建 Scene 文件夹用于管理场景文件。

3.2.Scene面板的基础操作

3.2.1工具栏

界面左上角的工具栏,分别对应键盘上的 Q、W、E、R、T、Y。


操作的工具栏

工具栏功能如下:
手型:平移场景的观察角度,左右上下
十字箭头:可以按某一轴或某一平面,移动物体的位置(箭头:固定方向移动; 面:于该面移动)
旋转:可以旋转物体
缩放:可以缩放物体(箭头:按某一轴缩放; 面:等比例缩放)

3.2.2 Alt 操作

Alt + 鼠标左键:按照某一中心点,旋转观察角度
Alt + 鼠标右键:拉远拉近

3.2.3 鼠标功能

鼠标左键:选中场景中的物体
鼠标中键:按下-->平移场景的观察角度;滚动-->拉远拉近
鼠标右键:旋转场景的观察角度

3.2.4 飞行模式

按下鼠标右键不松开后,可以使用 w、s、a、d 进行移动

3.2.5 Scene的观察模式

在 Scene 面板的右上角的世界坐标轴的下面:
  Persp:透视模式,近大远小。
  ISO:正交模式,远近一样大,2.5D的感觉。

Persp

4.Scene中物体的基础操作

4.1.创建

在 Hierarchy 面板中右键 -->3D Object -->选中物体

4.2.聚焦

①在 Hierarchy 面板中左键单击物体 + F
②在 Hierarchy 面板中双击物体

4.3.自身坐标系与世界坐标系

对于任意坐标系,颜色与轴向的对应关系一致:X(红色)、Y(绿色)、Z(蓝色),有颜色的均为正方向

①自身坐标系:是以物体自身为参照的坐标系。
②世界坐标系:是游戏场景中的方向。在游戏场景中世界坐标系是不会随物体的改变而改变的。

注意:可以通过工具栏旁的“Local”、“Global”来切换物体身上的坐标系显示效果。其中 Local 是切换成自身坐标系,Global 则是切换成世界坐标系。

Local

Center

4.4.Pivot与Center 中心点工具

Center: Unity自己根据模型的mesh来计算的中心位置,与模型真实中心点没关系。
Pivot: 该物体的真正中心点。

注意:
  当要改变的是模型的坐标、角度、大小,指的是相对于 Pivot 进行的操作,(选择 Pivot 工具)
  若操作的是多个物体。选择 Center 工具后旋转,全部所选物体hi围绕着 Center 中心点旋转。而旋转 Pivot 工具后旋转,每一个所选物体会围绕着自己的真正中心点旋转。
  Transform 组件的 position 属性指的就是 Pivot 中心点。

4.5.等距移动、缩放、旋转

按下 CTRL 不放,使用移动工具,不论是上下还是左右,都是以默认一米为单位移动的。
按下 CTRL 不放,使用缩放工具,都是以默认0.1倍为单位移动的。
按下 CTRL 不放,使用旋转工具,不论是上下还是左右,都是以默认15°为单位旋转的。

如果要修改默认值也可以,在 Edit 菜单--> Snap setting


Snap setting

注意:unity中的 Cube 物体的边长为1米。

4.6.顶点吸附功能

①选中物体后,在工具栏选择移动工具
②按下键盘 V 键不放
③鼠标移到该物体所要吸附的顶点后,按下左键不放
④移动鼠标,将物体移动到所要吸附物体的顶点


顶点吸附

5.3D物体

5.1.材质球与贴图

5.1.1.介绍

材质球:Material ,物体的质地,物体看起来是什么做的。
贴图:Texture,用于材质球的显示,相当于给物体套层皮。

5.1.2. 管理材质球与贴图

在Assets 中创建 “Materials” 文件夹,用于管理材质球。
在Assets 中创建 “Textures” 文件夹,用于管理贴图。

材质球文件的后缀是“.mat”。

5.1.3.创建与使用

①创建

在 Hierarchy面板里的 Assets 文件夹中的 Materials 文件夹上,右键弹出菜单->Create->Material 。

②编辑

①在 Hierarchy 面板中鼠标选中需要编辑的材质球;
②点击“Albedo”前的圆点,在弹出的“贴图选择界面”选择需要的材质;

Albedo: 纹理贴图(漫反射贴图)

③使用

①将材质球拖拽到 Hierarchy 面板上相应的物体上;
②将材质球拖拽到 Scene 面板上相应的物体上。

④Shader

Shader:着色器。
通过着色器来编辑材质球的效果。


Shader

5.2.父子关系

5.2.1.原则

  1. 移动父亲,儿子会跟着移动,就像移动电脑上的一个文件夹,文件夹中的资源会跟着一块移动一样。
  2. 在 Hierarchy 面板中,任意两个物体都可以建立父子关系。

5.2.2.如何建立父子关系?

①在 Hierarchy 面板中,将选中的(子)物体拖到(父)物体中。
②在 Hierarchy 面板中,选中(父)物体后,右键create一个新(子)物体,将自动建立父子关系

5.3.预制体

5.3.1简介

预制体(Perfabs):预先准备好的物体,可以拿来重复利用。

5.3.2.管理

在 Assets 文件夹中建立 "Perfabs"文件夹用于管理。

5.3.3.创建

直接从 Hierarchy 面板里将要创建成预制体的物体拖拽到 Project 面板的 Perfabs 文件夹里。

预制体的后缀为 “.prefab”。

5.3.4.使用

①将预制体直接拖拽到 Hierarchy 面板;
②将预制体直接拖拽到 Scene 面板;
都可以在场景中创建一个相应的物体。

5.3.5.预制体与非预制体的区别

①非预制体的名字是黑色,预制体名字是蓝色;
②在 Inspector 面板,非预制体是图标颜色是白色的,预制体的图标是蓝色的。
③在 Inspector 面板,预制体比非预制体多了一个 “Prefab 选项”。

5.3.5.预制体的好处

只要编辑其中的一个,然后在 Inspector 面板中的 Prefab 选项里点击 Overrides-->“Apply All”,所有的同类预制体都会改变。包括场景中的所有同类预制体和 Perfabs 文件夹内的同类预制体。

6.物体与Transform组件

6.1.物体与组件的关系

组件:Component,游戏物体的组成零件。
在 Inspector 面板中就有一部分组件。而每一个物体包括 Light 和 Camera 都是由一个个组件构成的。而这些组件就在 Compone 菜单内。

6.1.1.添加

1.在 Hierarchy 面板中选中物体后,点击 Component 菜单->选择组件
2.在 Hierarchy 面板中选中物体后,在 Inspector 面板中找到最下方的 Add Component 点击后搜索并添加。

6.1.2.移除

在 Hierarchy 面板中选中物体后,在 Inspector 面板中找到组件后,左键单击右侧的齿轮 或 右键弹出菜单 --> Remove Component

6.1.3.禁止与选用

点击在组件名字前的方框(复选项), 进行切换。

6.1.4重置

在 Hierarchy 面板中选中物体后,在 Inspector 面板中找到组件后,左键单击右侧的齿轮 或 右键弹出菜单 --> Reset

6.1.5使用组件方法

方法 作用
gameObject.GetComponent < 组件 >(); 获取相应组件的引用。并返回该组件类型的值

使用脚本所在物体身上的某一个组件方法的时候,要先查找该游戏物体身上该组件,然后返回该组件类型的字段,要用同类型的字段保存。

注意: 该字段要先被赋值,比如:

Transform字段 = gameObject.GetComponent<Transform>();

6.2.Transform组件

6.2.1.简介

6.2.2.属性

属性 作用
Position 位置
Rotation 旋转
Scale 缩放

6.2.3.基础的方法

1.方法

方法 作用
Transform字段.Translate(Vector3, Space); 按照某一坐标系沿着某一方向移动物体的位置。通过直接修改坐标,所以会发生穿模。
  1. 相关参数

Vector3(构造体):三维向量。
向量,可以表示一个方向,也可以表示一个位置。
比如 Vector3.forward向前走,速度为每秒一米
如何调整速度:在方向后加上* 几倍不允许使用 double类型,因为double无法隐式转换成 float ,但是 int 可以,所以如果是0.5倍,就要写成 * 0.5f,每秒半米。

Space[enum]:空间。是一个枚举类型。有以下两个枚举值。
Space.Self:表示物体自身的坐标系。
Space.World:表示物体所在的世界坐标系。

7.脚本

7.1. 是什么?

脚本:Scrpit,用于控制游戏的逻辑。

7.2. 管理

在Assets 文件夹中创建 “Scripts” 文件夹,管理脚本资源。

7.3. 创建

在Assets 文件夹上右键-->Create-->C# Script,马上改名。
C# 脚本文件的后缀是“.cs”。

7.4. 简介

Start()方法: 当游戏运行起来,就会马上执行,且只执行一次。
Update()方法: 循环调用,每帧调用一次。一秒钟大概执行60 次。

帧:我们的游戏画面是在不停的刷新的,每刷新一次,就是一帧。

输出调试的方法:Debug.Log ();

Start()和Update()方法都是Unity3D 内部的“事件方法”,不需要我们人工调用,系统会自动调用和管理这些“事件方法”。且这两个方法的返回值均为空(void)

7.5. 使用脚本

①直接将脚本拖拽到 Hierarchy 面板上物体身上;
②直接将脚本游戏物体的 Inspector 面板上;
只要运行游戏,脚本就会执行。

8.Console 面板

Console:控制台。用于输出显示游戏运行过程中的调试信息。

Console

功能按钮:
Clear:清除功能,清除控制台中的全部信息;
Collapase:折叠功能,将相同的内容合并成一条显示,更新后面的数字;
Clear on Play:游戏每次运行时自动清除上一次运行的内容;

9. 鼠标键盘输入

9.1.获取键盘输入

  1. 相关方法
方法 作用
Input.GetKey(KeyCode.索引码); 按下某键后,持续返回true
Input.GetKeyDown(KeyCode.索引码); 按下某键的一瞬间,返回true
Input.GetKeyUp(KeyCode.索引码); 抬起某键的一瞬间,返回true

返回值:bool 类型
参数:KeyCode.索引码 比如KeyCode.A 键盘上的A
KeyCode是一个枚举类型(Enum)
KeyCode:键码,保存了键盘按键“索引码”

9.2.获取鼠标输入

  1. 相关方法
方法 作用
Input.GetMouseButton(值); 按下某键后,持续返回true
Input.GetMouseButtonDown(值); 按下某键的一瞬间,返回true
Input.GetMouseButtonUp(值); 抬起某键的一瞬间,返回true

返回值:bool 类型
参数:鼠标按键索引值,0->左键, 1->右键, 2->中键。
比如Input.GetMouseButtonDown(0);表示左键按下时一瞬间返回true

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容