Unity基础知识汇总

2.Unity相关知识

2.1 Unity介绍

Unity成为一款可以轻松创建游戏和三维互动的开发工具,是一个专业跨平台游戏引擎

Unity操作快捷键

 

Ctrl

 

N

New Scene 新建场景

Ctrl

 

O

Open Scene 打开场景

Ctrl

 

S

Save Scene 保存

Ctrl

Shift

S

Save Scene as 保存场景为

Ctrl

Shift

B

Build Settings... 编译设置...

Ctrl

 

B

Build and run 编译并运行

Edit 编辑

Ctrl

 

Z

Undo 撤消

Ctrl

 

Y

Redo 重做

Ctrl

 

X

Cut 剪切

Ctrl

 

C

Copy 拷贝

Ctrl

 

V

Paste 粘贴

Ctrl

 

D

Duplicate 复制

Shift

 

Del

Delete 删除

 

 

F

Frame  selected 选择的帧

Ctrl

 

F

Find 查找

Ctrl

 

A

Select All 全选

Ctrl

 

P

Play 播放

Ctrl

Shift

P

Pause 暂停

Ctrl

Alt

P

Step 停止

 

2.2 脚本基础开发

Unity面向组件开发,游戏物体想要实现什么样的功能,只需要添加相对应的组件就可以了,此时会在属性面板上显示出来。可以像添加组件一样把脚本添加到游戏物体上。

脚本生命周期:

1.Awake

最早执行,在GameObejct对象的数据和状态的初始化后执行,只会触发一次。

tips:GameObject实例化到场景中后在激活的状态下才会初始化,如果GameObject从来未激活,它的脚本上的Awake永远不会被调用。

即时触发,GameObject第一次active的时候调用。

2.Start

在脚本第一次调用Update之前调用,只会触发一次。

3.OnEnable

在脚本状态由disabled变为enabled状态是触发一次,Unity内部可能将脚本初始置为diabled,所以如果我们实例化一个激活的GameObject,并且在挂上一个enabled了的脚本后把它加入场景会调用一次OnEnable,并且早于Start。

4.OnDisable

在脚本由enabled状态变为disabled状态的时候会调用。

tips:OnEnable和OnDisable事件的触发是即时的,并且这两个事件是综合考虑GameObject的active状态和脚本的enabled状态的。所以不要在OnEnable里面把脚本设置为disabled同时在OnDisable中把脚本设置为enabled,会导致死循环!!!

5.Update

在每一帧调用,用于实现各种行为逻辑

6.LateUpdate

在每一帧调用,但是是在Update之后触发。常用的一种情况是相机跟随移动角色:角色移动逻辑在Update里面实现,相机跟随逻辑在LateUpdate里面实现。

7.OnDestroy

在组件被销毁时调用,只有GameObject被激活过才会触发。

脚本常用类:

1.Component

2.GameObject

3.Transform

4. Vector3

1. Quaternion

Identity:该四元素无旋转。

LookRotation:创建一个旋转,沿着forward(Z轴)并且头部沿着Y轴的约束注释

2. Time

3. Mathf

预设体

组件的集合体 , 预制物体可以实例化成游戏对象.

创建预设体的作用: 可以重复的创建具有相同结构的游戏对象。

在脚本中,使用instantiate函数来进行预设体的实例化

Object tmpObj = Instantiate(prefabs, pos , Quaternion.identity);

 

 

2.3 物理引擎

1.键盘输入常用方法

GetKey:按键按下期间返回true

GetKeyDown:按键按下的第一帧返回true

GetKeyUp:按键松开的第一帧返回True

Input类简介

虚拟按键

具体代码和实现方式如下:

Float hor = Input.GetAxis(“Horizontal”);

鼠标事件

常用的鼠标属性和方法

 

碰撞器组件:

当我们在场景当中创建出来一个游戏物体的方式后,引擎会自动为这个游戏物体添加碰撞器组件,其主要功能是进行碰撞检测。

发生碰撞的条件:1、相对运动,2、两个碰撞器,2、一个刚体

 

刚体组件

刚体组件能受到你的作用,比如:重力,反作用力,阻力,外加力,爆炸力等等

以下是刚体组件的一些属性和常用方法

触发器:

发生触发的条件:1、两个碰撞器 2、一个触发器 3、一个刚体

 

射线

Unity提供了涉嫌集资:通过虚拟射线检测所碰撞到的物体

Ray ray = new Ray();

Bool Raycast(Ray ray,out RaycastHit hitInfo);

Rayray=Camera.main.ScreenPointToRay(Input.mousePostion);

从主摄像机到鼠标点击位置创建一条射线。

 

2.4 Unity2D和精灵

精灵:

图片精灵的意思(Flash引擎里也有图片精灵对象),将导入的图片类型设置为Sprite即可拖到场景面板里,带有随屏幕大小自动缩放功能,还可以加Collider进行射线检测,简单实用。图片精灵是用来绘制图集的控件,精灵可以在一张大图中去截取一部分(大图就是整体图像集合(Atlas),而截取的小图就是一个精灵),然后给精灵命名,使用时通过精灵的名称就能直接绘制,并且精灵还可以用来制作动画。

图层排序:2D游戏当中的图片之键没有深度关系,都处于同一个平面上,但在实际游戏当中需要为他们排序,按视觉上的空间先后顺序显示。

2D物理组件与3D物理引擎在功能上基本相似,当我们给精灵添加了个刚体之后,他就会受到2D物理引擎的控制。

2D碰撞和触发回调方法:

 

 

2D开发常用类:

创建序列帧动画,按Ctrl+F6打开Animation的编辑窗口,点击后可以添加属性,如果要更改动画中某一帧的位置、旋转和缩放,只需要点击+号即可,在Animation编辑窗口,在关键帧点击天津爱时间,此时可以选择脚本中的方法,但是该方法必须是public ,可访问状态

 

 

2.6 UGUI

UGUI的特点:灵活,快速和可视化,对于开发者而言,效率高,易于使用和扩展以及对Unity的兼容性高。

UGUI与GUI插件NGUI相比:

1. 由NGUI创始人参与开发

2. 与Unity结合更加密切

3. 自适应系统更加完善

4. 更方便的深度处理

5. 省去Altas,直接使用Sprite Pa

UGUI画布:是所有UI控件的根类,所有的UI控件补习都在画布上面。EventSystem是事件系统,负责监听用户的输入,创建UI控件是,当层级试图当中没有CANVAS和EventSystem,系统会帮我们自动创建。

画布的三种渲染模式模式:

1、Screen Space-Overlay:不需要UI摄像机,画布会一直出现在摄像机最前面

2、Screen Space-Camera:需要一个UICamera,支持U前方显示3D模型和粒子系统

3、World Space:UI控件成为3D场景中的一部分

LayoutGroup组件:对子控件进行布局,上面只能有一种布局组件,布局组件有以下三种:

1.Horizontal Layout Group (水平布局)

2.Ver tical Layout Group(垂直布局)

3.Grid Layout Group(网格布局)

1. UGUI画布也称为Canvas,UGUI是所有控件的父类

2. 所有UGUI控件都必须绘制在画布上面

3. 当创建UGUI控件工程当中没有Canvas的时候会自动创建

Canvas与EventSystem

Text控件是用来显示文本的文本控件

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值