29784人加入学习
(126人评价)
Unity API常用方法和类详细讲解(基于Unity5.6)
价格 免费
承诺服务

UnityENgine下Ojbect有的静态方法

Destroy();建议使用这个。

DestroyImmediately();立刻销毁

Destroy(Component),销毁组件,

Destroy(GameObject,时间)

DontDestroyOnLoad(GameObject);转换场景时不会销毁

FindObjectOfType();根据组件类型查找组件,查找到一个满足条件的就返回,剩下的不管。

FindObjectsOfType<组件>();返回所有的

组件 通过enabled 来控制开关。

Transforms[] ts = FindObjectsOfType<Transform>();不查找未激活的物体。

Object 代表所有东西。都可以放进去。

Instantiate(object);

Instantiate(Ojbect,Transform parent);

Instantiate(Object,parent, Space);

Instantiate(Object,position,rotation,);

Instantiate(Object,position,rotation,parent);

 

 

[展开全文]

GameObject .Component.Ojbect关系

游戏 - 场景 - 物体 - 组件

共同的基类, UnityEngine.Object 里面有name.

通过组件获取name也是游戏物体的名字。

 

 

 

 

[展开全文]

如何禁用和启用一个游戏物体

transform每一个物体都用。

GameObject.tag标签

GameObject.activeInHeriacrchy物体是否出去激活状态。。父物体如果被禁用,子物体的状态也就是false。这个更现实一点。常用。

GameObject.activeSelf. 自身状态。不管父物体怎么样

GameObject.SetActive(true 或者 false);

 

 

[展开全文]

给游戏物体,代码添加组件。

GameObject go = new GameObject();

go.addComponent<组件>;

[展开全文]

创建游戏物体的三种方法。

1.GameObject go = new GameOjbect;("Cube")

2.Instantiate(Prefab,位置,旋转);

Instanctiate(游戏场景中其他物体);进行克隆

3.Primitive 原始。

GameObject.CreatePrimitive(PrimitiveType.Plane);

GameObject.CreatePrimitive(PrimitiveType.Cube)

 

 

 

[展开全文]

transform.Translate(Vector3.forward*TIme.deltaTIme*speed);

不加 Time.deltaTime 的话,移动,一秒移动近50米,加上之后保证是以一秒一米的基准来移动。

Time.timescale = 1;

Time.timescale = 0;

每次Time.deltaTime会乘以timescale。要使物体暂停就必须移动的时候有time.deltatime.

realtimeSinceStartUp.测试是否耗费性能

通过增加执行次数来测试。

float time1 = Time.realTimeSinceStartUP;

执行一万次方法

float time2 = Time.realTImeSinceStartUp;

然后查看,time1和time2的插值,和其他方法去做比较。单位是秒。

 

 

 

[展开全文]

Time类

Time.deltaTime 每一帧所占用的时间。

fixeddelteTIme 固定的

fixedTime从游戏开始,到现在所运行的时间,

time,

frameCount游戏开始到现在多少帧

timescale使游戏加速,暂停

realtimeSinceStartup.游戏暂停也会运行

smoothDeltatime 平滑的变动。

Time.timeSceneLevelLoad 从场景加载后,运行了多长时间  重新开始。

Time.unscaledTime 游戏从开始到现在运行的时间。

Time.fixed Timestep0.02 一秒50帧

Time.time 时间。

ProjectSetting Time

 

 

 

[展开全文]

Event Function的顺序,AwakeOnEnable

OnDisable   SetActive.

FixedUpdate 一秒固定调用60帧。

yield Wait For FixedUpdate 在fixedUpdate 里进行等待。

update lateupdate 根据电脑性能来,

OnmouseXX

OnGizmos Scene场景下的图标

OnApplicationPause 

void Awake 

void OnEnable 

void Reset

void Start

void FixedUpdate 

控制运动保持平滑。

void update 

void lateUpdate

void GUI

void OnApplicationPause

void OnApplicationQuit

void OnDisable

void OnDestroy

[展开全文]

什么是事件函数。

Start, update 

Monobehaviour继承自Behaviour 继承自Component 继承自Ojbect

Update 帧数根据电脑不一样,执行次数不一样。

脚本生命周期

Reset 编辑器模式下,触发,Reset方法。

void Reset();

点击小齿轮reset的时候,还有脚本刚添加到物体上的时候会触发。

做测试。。测试方法是干什么的。

 

 

[展开全文]

 Help/Unity Manual 

Help/Scripting References 

组件化了,没有的话,官网 unity旧版本,

About unity 查看版本,

下载时下载安装程序,对应版本。

Documention 文档。

Manual 手册,教程手册,中等详细程度。尽量看英文版,基础教程。

API 介绍各个类,变量,方法介绍。

 

 

[展开全文]

API 应用程序编程接口

unity 提供的一些方法。

有印象,编码一下,记不起来就去查询一下。

积累还不够,初始混沌时期。

 

[展开全文]

sharedMesh:直接赋值;

Mesh:重新复制

[展开全文]

公开方法

Move:(速度乘以时间间隔)没有重力的影响

SimpleMove:简单移动;给速度(speed)就可以

isGround:是否位于地面上;

void OnControllerColliderHit(ControllerColliderHit hit)

{

Debug.Log(hit.Collider)

}

[展开全文]

Input.mouxePosition; 

Debug.DrawRay(ray.origin,ray.direction )

Debug.DrawRay:绘制射线;

Debug.DrawLine:绘制长射线;

Debug.DrawLine(ray.origin,ray.origin+ray.direction *100);

ray.origin:开始点;

ray.direction :方向;

[展开全文]

Physics2D.Raycast():2D射线检测

Physics.RaycastAll();检测碰撞到的所以物体;返回类型是一个数组;

[展开全文]

Physics.Raycast(ray):无限长射线检测;返回类型布尔值;

Physics.Raycast(ray,1):一米内射线检测;

RaycastHit hit;(out参数,存储碰撞物体);

hit.collider:获取碰撞器;

hit.point:获取碰撞位置;

(参数)LayerMask.GetMask(""):指定和哪一层发生碰撞;

 

[展开全文]

静态变量

Application.

Application.Company Name:公司名;

Application.Product Name:产品名字;

Application.installMode:安装模式;

Application.isEditor:判断是否在编辑器模式下运行;

Application.isFocused:是否处于焦点;

Application.isMobilePlatform:是否在移动平台上运行;

Application.isPlaying:是否正在播放;

Application.platform:判断当前的运行环境;

Application.runInBackground:设置是否在后台运行;

静态方法

Application.OpenURL():打开网站;

Application.Quit():退出;编辑器模式下无法退出

Application.CaptureScreenshot()游戏截图

 UnityEditor.EditorApplication.isPlaying = false;编辑器模式下退出;

 

[展开全文]

Camera.main :通过标签查找Camera组件;

ray=mainCamera.ScreenPointToRay(Input.mouxePosition):将屏幕上的点转成射线;返回值Ray;

RaycastHit hit;存储碰撞到的游戏物体;(out 类型的引用参数)

Physics. Raycast(ray,out hit)射线检测; 

ray.origin:射线的原点;

ray.direction:射线的方向;

 

[展开全文]

授课教师

SiKi学院老师

课程特色

图文(1)
下载资料(2)
视频(71)