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

Raycast重载

  1. 发射一个Ray。
  2. 发射一个指定长度的Ray。
  3. 发射一个Ray,返回碰撞信息给RaycastHit变量。RaycastHit变量可以获取collider或者transform等等有用的东西,还能获得collider.gameObject也就是游戏物体。
  4. 发射一个指定长度的Ray(Mathf.Infinity可以作为无限大使用在这里),可以忽略除了该Layer以外的所有物体。(LayerMask.GetMask("LayerName"))(GetMask支持传递字符串数组("LayerName1", "LayerName2"))。
  5. 发射一个指定长度的Ray,返回碰撞信息到RaycastHit。
  6. 发射一个指定长度的Ray,返回碰撞信息到RaycastHit,可以选定碰撞Layer。

 

[展开全文]
魔法少女米奈子 · 2018-11-12 · 该任务已被删除 0

API-03 EventFunction

Script Lifecycle Flowchart

 

1.Reset : Reset is called in the Editor when the script is attached or reset.

[展开全文]
LonhYing · 2018-11-12 · 该任务已被删除 0

Asnyc异步加载场景,可以放

[展开全文]
魔法少女米奈子 · 2018-11-11 · 该任务已被删除 0

Application获取datapath

[展开全文]
魔法少女米奈子 · 2018-11-11 · 该任务已被删除 0

用刚体的position改位置比用transform的position改位置快。

[展开全文]
魔法少女米奈子 · 2018-11-11 · 该任务已被删除 0

Quaternion.LookRotation把一个欧拉方向转换成

[展开全文]
魔法少女米奈子 · 2018-11-11 · 该任务已被删除 0
  1. Random.Range(min,max)生成的随机数包含min不包含max。
  2. System.DataTime.Now.Ticks。返回当前实际时间与时间戳的间隔。
[展开全文]
魔法少女米奈子 · 2018-11-11 · 该任务已被删除 0
  1. Vector3.Project(vector, onNormal)   这个函数可以返回vector在onNormal方向上的投影长度。
  2. Vector3.Reflect(inDirection,inNormal)   返回一个inDirection的反射向量,inNormal是法线。
  3. Vector3.Slerp,按照角度进行插值。比如让大炮插值转向某个要攻击的目标。
[展开全文]
魔法少女米奈子 · 2018-11-10 · 该任务已被删除 0

Vector结构体中的静态方法包含了几乎所有的向量运算,Lerp也有(由某个坐标插值到某个坐标)。

[展开全文]
魔法少女米奈子 · 2018-11-10 · 该任务已被删除 0

c#中结构体和类的区别,结构体是值类型,类是引用类型,所以transform.position的实际意义其实是position是transform类中的一个值,是一个整体,我们直接修改transform中的结构体中的值是不可以的,但是单独修改一个结构体变量的值是可以的,也就是说某结构体如果不作为类的成员的话他就可以当做引用类型来看到,但是在类中结构体就是一个值。

[展开全文]
魔法少女米奈子 · 2018-11-10 · 该任务已被删除 0

Input.mousePosition返回一个屏幕像素坐标,屏幕左下角是0.0,因为屏幕是二维坐标,所以z轴恒为0。如果需要使用鼠标的世界坐标需要用到Camera里面的方法。

[展开全文]
魔法少女米奈子 · 2018-11-10 · 该任务已被删除 0

Mathf.PingPong(递增的值,弹性长度);  用该函数会在长度之间随着递增的值来回动(最小默认是0)。(在某个最小值非0的值之间运动只要在用PingPong函数之前加一个数字就好了,比如在5-10之间运动就5+Mathf.PingPong(值,10));。

[展开全文]
魔法少女米奈子 · 2018-11-10 · 该任务已被删除 0

用 Lerp做运动或者动画都有一个特点就是先快后慢,需要这种效果的时候就要用Lerp。

[展开全文]
魔法少女米奈子 · 2018-11-10 · 该任务已被删除 0

Mathf.Clamp(hp,0,100); 妙用,小于最小返回最小,中间返回自身,大于最大返回最大。

[展开全文]
魔法少女米奈子 · 2018-11-10 · 该任务已被删除 0

OnMouseUpAsButton可以检测是否单击了某个物体。

[展开全文]
魔法少女米奈子 · 2018-11-10 · 该任务已被删除 0

使用方法的时候出现了问题可以到官方的文档里面去看官方的演示和说明,会告诉你到底这个API怎么用。

注意:开启协程和关闭协程的方式是对应的,也就是说如果你的协程使用方法名进行开启,那么关闭该协程也可以使用方法名,反之你就要定义一个IEnumerator变量去保存该协程,然后用StarCoroutine(变量)和StopCoroutine(变量)进行配套使用。

[展开全文]
魔法少女米奈子 · 2018-11-10 · 该任务已被删除 0

API-02

 

[展开全文]
LonhYing · 2018-11-12 · 该任务已被删除 0

API-01

 

[展开全文]
LonhYing · 2018-11-10 · 该任务已被删除 0

依附在游戏物体上的脚本,即使勾选框被取消,这个脚本的Awake()和Start()方法还是会运行;Update方法不运行

[展开全文]
抒写 · 2018-11-09 · 该任务已被删除 0

API20

协程:Coroutine

StartCoroutine

StopCoroutine

Tips:StartCoroutine and StopCoroutine 必须用相同的重载方式,才能起作用。开启和关闭的方法要对应。

StartCoroutine("MethodName")

StopCoroutine("MethodName")

 

StartCoroutine(IEnumerator routine)

StopCoroutine(IEnumerator routine)

 

example:

void Update( ){

if(Input.GetKeyDown(KeyCode.A){

StartCoroutine("ChangColor");

}

if(Input.GetKeyDown(KeyCode.Space){

StopCoroutine("ChangColor");

}

}

OR

private IEnumerator ie;

void Update( ){

ie=ChangColor();

if(Input.GetKeyDown(KeyCode.A){

StartCoroutine(ie);

}

if(Input.GetKeyDown(KeyCode.Space){

StopCoroutine(ie);

}

}

 

IEnumerator ChangColor(){

While(true){

gameObject.GetComponent<MeshRender>().material.color=Color.Lerp(Color.White,Color.Red,1);

}

}

 

[展开全文]
LonhYing · 2018-11-09 · 该任务已被删除 0

授课教师

SiKi学院老师

课程特色

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