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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容