29784人加入学习
(126人评价)
Unity API常用方法和类详细讲解(基于Unity5.6)
价格 免费
承诺服务
  1. Time类
  2. 掌握类中的静态变量
  3. s
  4. deltaTime:当前帧所占用的时间
  5. fixedDeltaTime:
  6. fixedTime:
  7. frameCount
  8. timeScale
  9. Edit——》Project Settings ——》Time 设置帧率

看视频不够,还是自己乖乖看文档吧

[展开全文]
  1. 事件方法的执行顺序
  2. 具体顺序可参考官网文档的流程图
  3. OnDisable和OnEnable的切换
  4. FixedUpdate:每秒固定调用次数。跟帧没关系。
  5. OnTriggerXXX:触发器
  6. OnCollisionXXX:碰撞器
  7. yield WaitForFixedUpdate:等待啥?
  8. Update:根据游戏运行实际环境而定,帧率受实际运行环境影响。
  9. LateUpdate
  10. Update和LateUpdate调用次数是一致的。
  11. disable之后update系列的方法就会停止执行,当又设置回enable的时候,update系列方法会重新开始执行
  12. 把运动相关的逻辑放到FixedUpdate中实现,执行次数固定保证运动可控。
  13. OnDrawGizmos?

 

[展开全文]
  • 事件方法
  • Start Update
  • 生命周期
  • 创建的脚本默认继承自MonoBehavior——》Behavior——》Component——》Object
  • Object是顶级父类
  • FPS的次数,就是每一秒Update方法执行的次数
  • Unity Manual ——》Scripting ——》Excution Order of Events Functions
  • Editor模式下的事件方法,在构建之后不会触发
  • 添加到游戏物体身上时触发attach事件
  • reset事件方法
  • 相当于Unity为游戏物体提供了多个切面,可供开发者在各个事件触发的时间点上进行编程
  • 方法名称区分大小写
  • 写代码,对每一个事件方法做测试
[展开全文]

Animator 

speed 速度

setbool

setfloat 

setint

GetCurrentAnimatorStateInfo

[展开全文]

材质

mat = GetComponent<Meshrender>().material

 

[展开全文]

Mesh设置

控制物体显示。外观 

Material 皮肤

材质丢失。。导航网格还在。

mesh 重新复制一个。

和sharedmesh  使用同一个。

 

[展开全文]

Character Controller = collider + rigibody

通过代码调用

Move 

SimpleMove

OnControllerHit 

float h = Input.GetAxis("Horizontal");

float v = Input.GetAxis("Vertical");

CC.simpleMove(new Vector3(h,0,v)*speed);模拟重力。。

cc.Move(new Vector3(h,0,v)*Time.deltaTime*speed);

simpleMove和move的区别是后者需要添加Time.deltaTime.

OnControllerColliderHit(){

}

 

 

[展开全文]

camera.main.screenpointtoray(Input.mouseposition)

最好持有一个引用来持有mainCamera 这样会节约性能。

Debug.DrawRay(ray.original,ray.direction);

Raycastinfo hit;

Physics.Raycast(ray .out hit);

[展开全文]

Camera组件的作用以及一些属性

camera.

clipping Planes near 最近视野,

far 最远视野

field of View 视野大小。

创建cube。

Clear flags 清除之前的 

Depth only 越小,越后面。

allCameras 获取数组

current 

main 

 

[展开全文]

Touches 触摸事件

手机上来使用。

Input 类

GetTouch()

Input.touches.length 检测不到鼠标。

if(Input.touches.length>0)

Touch touch1 = Input.touches[0]

touch1.position.

TouchPhase phase = touch1.phase 当前手指的转台。

touch1.deltaPositoin

easyTouch

 

 

[展开全文]

如何通过www下载图片

用来下载

File 本地

http 服务器

ftp 匿名下载

https 

public string url = "地址"

IEnumerator Start()

{

WWW www = new WWW(url);

yield return www;

Render reder = GetComponent<Render>();

render.material.mainTexture = www.texture;

}

[展开全文]

拖拽有关的 

IbeginDragHandler

IDragHnadler

IEndDragHandler

IDropHander 在物体身上。背包系统。。

[展开全文]

鼠标相关接口事件

Handler .事件。 Pointer鼠标

给Image加事件。

usint UnityEngine.UI;

using UnityENgine.EventSystem

实现接口 IPointerDown.  点击后触发事件。

Raycast Target 射线检测。需要勾选。

IpointerClickHandler 接口

IpointerEnterHandler.

IpointerUpHander.

IpointerExit.

继承接口后,实现一下,

[展开全文]

通过代码添加UGUI事件

UiEventManager

Btn组件。

btn.onclick.addListener(方法);

slider.onvaluechaged.addlistener(方法待参数);

dropdown.onvaluechagne.addlistener(方法待参数)参数是Int32类型的。

toggle.onvaluechagned.addlistener(方法带参数);

[展开全文]

通过拖拽的方式监听UGUI

btn 加时间

slider onValudeChanged (float )

Dropdown Onvaluechanged(int)

[展开全文]

2d射线检测

Physcis2D.Raycast();确定添加了2D碰撞器。

Physics.RaycastAll,涉嫌上多有的物体都可以返回,成一个信息数组。

 

[展开全文]

射线检测重载方法

Ray ray = new Ray(transform.position+transform.forward,transform.forward);

RaycastInfo hit;

Physics.Raycast(ray,1);距离

Physice.raycast(ray,out hit);

hit.collider.

hit.point

 

LayerMask 指定Layer,

LayerMask.GetMask("Enemy1");只和指定的层发生碰撞。

GetMask("1","2","3");可以写很多个。

2d的也差不多。

[展开全文]

射线检测

射线有起点,方向,长度,

射线 有2d, 必需有collider

Ray ray = new Ray(transform.position,transform.forward);

Raycastinfo hitinfo ;

Physics.Raycast(ray )

 

 

 

[展开全文]

授课教师

SiKi学院老师

课程特色

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