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

Application获取datapath

Application.datapath

Editor中返回一个工程目录

StreamingAssets 这个文件夹放得是什么格式,就会是什么格式,不会被转换

Application.StreamingAssetsPath获取这个文件夹的路径

下面两个Editor模式中使用的

Application.persostentDataPath想要保存的东西

temporaryCachePath 临时目录

 

[展开全文]
J博士 · 2018-06-23 · 该任务已被删除 0

Camera.main

通过标签来寻找相机,是唯一的。

ScreenPointToRay

Ray ray = mainCamera.ScreenPointToRay(new Vector3(200, 200, 0));
Debug.DrawRay(ray.origin, ray.direction * 10, Color.yellow);

像素位置起点指的是屏幕位置

[展开全文]
J博士 · 2018-06-23 · 该任务已被删除 0

[展开全文]
J博士 · 2018-06-23 · 该任务已被删除 0

通过刚体控制游戏物体旋转,能效更好

操作比较多的情况下MoveRotation比较节约性能

[展开全文]
J博士 · 2018-06-23 · 该任务已被删除 0

Reset 方法是脚本被激活或者重置后第一个调用的方法.

[展开全文]
齐圣 · 2018-06-22 · 该任务已被删除 0

通过刚体组件修改位置的话,transform会更新,性能会更高

冻结XZ轴后,会倾斜的物体就不会到了

MovePosition(Vector3 position)会有插值,会更加平滑

[展开全文]
J博士 · 2018-06-20 · 该任务已被删除 0

平滑的旋转

Slerp

 

[展开全文]
J博士 · 2018-06-20 · 该任务已被删除 0

Euler();可以把一个欧拉角变成一个四元数

Quaternion.LookRotation(Vector3 forward,Vector3 upwards=Vector3.up);

游戏中给一个向量给主角,返回一个四元数,

两个向量想剪,然后把Y轴调为0就可以忽略高度差

[展开全文]
J博士 · 2018-06-20 · 该任务已被删除 0

四元数(结构体)

变量

eulerAngles 欧拉角 一般情况下可以和四元素转换

this[]  //x,y,z,w

w

x

y

z

 

[展开全文]
J博士 · 2018-06-20 · 该任务已被删除 0

静态方法

ColorHSV 颜色的随机生成

静态变量

Random.value 生成一个0到1之间的小数包含0到1

Random.state 获取当前的状态,获取这个状态后,就可以按照当前的状态生成随机数

Random.rotation

Random.insideUnitCircle;在圆内随机生成一个位置,返回的是一个2维向量

Random.insideUnitSphere在球体内随机生成一个位置,返回的是一个3维向量

 

 

[展开全文]
J博士 · 2018-06-18 · 该任务已被删除 0

Random.Range(a,b); 生成一个a到b范围的数,不包含b,加上f的话就包含小数。

InitState 传播一个初始数随机数(伪随机数)

Random.InitState();

System.DataTime.Now.Ticks(时间的计时周期)

[展开全文]
J博士 · 2018-06-18 · 该任务已被删除 0

向量相加相减注意方向

相加首尾相加,各个相加

Player-Enemy 敌人指向玩家的位置

Enemy-Player 玩家指向敌人的位置

乘除不改变方向,除非是负的

 

[展开全文]
J博士 · 2018-06-18 · 该任务已被删除 0

Vector3既可以表示坐标,也可表示向量

Vector3.Cross 叉乘运算 计算两个向量的垂直向量

Vector3.Project 计算一个向量在另一个向量上的投影

Vector3.Slerp 插值 但是计算的是方向 角度

 

 

[展开全文]
J博士 · 2018-06-18 · 该任务已被删除 0

Vector2中的方法

普通方法

Equal

Normalize 自身单位化,会对向量产生影响

Set

ToString

静态方法

Angle 取得两个向量的夹角

ClampMagnitude(Vector2 vector,float maxlenth) 将向量限定在这个长度之内

Dot()

Lerp(Vector2 a,Vector2 b,float t ) 插值运算

可以用坐标移动

LerpUnclamped(Vector2 a,Vector2 b,float t);

0返回啊,1返回b,0.5返回ab二分之一。>1的话 限定百分比

Max

Min

MoveTowards(a,target,Time.deltaTime) 坐标运动

Reflect

Scale

[展开全文]
J博士 · 2018-06-17 · 该任务已被删除 0

Vector2中的方法

普通方法

Equal

Normalize 自身单位化,会对向量产生影响

Set

ToString

静态方法

Angle 取得两个向量的夹角

ClampMagnitude(Vector2 vector,float maxlenth) 将向量限定在这个长度之内

Dot()

Lerp(Vector2 a,Vector2 b,float t ) 插值运算

可以用坐标移动

LerpUnclamped(Vector2 a,Vector2 b,float t);

0返回啊,1返回b,0.5返回ab二分之一。不限定

Max

Min

MoveTowards

Reflect

Scale

 

 

 

[展开全文]
J博士 · 2018-06-17 · 该任务已被删除 0

Vector2 是一个结构体

结构体是值类型

对象是引用类型

tramform.positon=new Vector3(3,3,3);
Vector3 Pos=transform.positon;
pos.x=10;
transform.position=pos;

 

[展开全文]
J博士 · 2018-06-17 · 该任务已被删除 0

Vector2即可表示2维向量,也可表示坐标

变量

magnitude 长度

normalized 单位化长度 返回当前向量的单位长度

sqeMagnitude 还未求平方根的长度 

this[int] 取坐标 0是X 1是Y

 

[展开全文]
J博士 · 2018-06-17 · 该任务已被删除 0

anyKey

anyKeyDown

 

Input.MousePosition

Camera.main.screenPointToRay屏幕坐标转换成一个射线检测到鼠标有没有点到游戏物体

 

[展开全文]
J博士 · 2018-06-15 · 该任务已被删除 0

GetAxis();返回值是一个float类型

Nagetive 负值

Positive 正值

GetAxisRaw(); 只有瞬时值和零

[展开全文]
J博士 · 2018-06-15 · 该任务已被删除 0

虚拟的按键(自己定义的按键)

GetButton 
GetButtonDown

GetButtonUp

 

Nagetive Button

Positive Button

一个Button 的名字可以对应多个按键,而且形象

[展开全文]
J博士 · 2018-06-15 · 该任务已被删除 0

授课教师

SiKi学院老师

课程特色

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