Unity-游戏常用API

1、Vector3

属性方法 详解
normalized 返回一个规范化向量
magnitude 返回向量的模
sqrMagnitude 返回向量的模的平方
zero 静态属性,返回Vector3(0,0,0)
one 静态属性,返回Vector3(1,1,1)
forward 静态属性,返回Vector3(0,0,1)
back 静态属性,返回Vector3(0,0,-1)
left 静态属性,返回Vector3(-1,0,0)
right 静态属性,返回Vector3(1,0,0)
up 静态属性,返回Vector3(0,1,0)
down 静态属性,返回Vector3(0,-1,0)
Angle 静态方法,返回两个向量的夹角
Distance 静态方法,返回两个点间的距离
Lerp 静态方法,插值运算
Dot 静态方法,两个向量点乘
Cross 静态方法,两个向量叉乘

Unity的Lerp插值运算

float result = Mathf.Lerp(float a, float b, float time)
Vector3 res = Vector3.Lerp(Vector3 startPos, Vector3 endPos, float time)
以上两种方法均为插值运算,第一个是一维插值,第二个是三维插值,其方法含义以第一个方法为例,代表的意义是:
result = a + (b-a) * time, 其中time值在【0,1】范围内起作用,
当time=0时,result = a, 当time=1时,result=b, 当time>1时,result=b
可以利用插值运算来实现各种平滑效果,比如相机的平滑移动,物体的匀速运动

相机的平滑移动:

相机由当前位置移动到targetTrans位置,smooth可调节移动的速度

void Update(){
    //smooth为平滑度
    cameraTrans.position = Vector3.Lerp(cameraTrans.position, targetTrans.position, smooth);
}

物体的匀速运动

物体由startPos位置移动到endPos位置,匀速移动,花了duration时间

public Vector startPos;
public Vector endPos;
public float duration;
public float time;
 
void Update(){
    time += Time.deltaTime;
    transform.position = Vector3.Lerp(startPos, endPos, time/duration)
}

2、Quaternion

属性方法 详解
Identity 单位旋转,相当于无旋转
eulerAngles 旋转为欧拉角
Quatemion 使用x、y、z、w分量构造四元数
Angle 返回两个旋转之间的角度
Euler 通过欧拉角创建一个四元数
LookRotation 返回forward向量与参数向量旋转相同的四元数,可以理解为看向某向量

3、Debug

属性方法 详解
Log 在“控制台”中输出一条消息
Logwarning 在“控制台”中输出一条警告消息
LogError 在“控制台”中输出一条错误消息
DrawLine 在指定的起始点和终点之间绘制一条直线
DrawRay 在指定的起始点向一个向量绘制一条直线
Debug.DrawLine(new Vector3(0,0,0), new Vector3(0,10,0), Color.red);
Debug.DrawRay(new Vector3(0, 0, 0),new Vector3(5, 5, 5),Color.blue);

4、GameObject

属性方法 详解
activeInHierarchy 游戏物体在场景中真正的激活状态,返回值为bool类型
activeSelf 游戏物体在场景中设置的激活状态
tag 游戏物体的标签
layer 游戏物体的图层
transform 游戏物体的transform
name 游戏物体的名称,为继承属性
AddComponent 添加组件
GetComponent 得到某个组件
GetComponents 得到多个组件
GetComponentInChildren 在子物体上得到组件
GetComponentInParent 在父物体上得到组件
SetActive 设置物体的激活状态
Find 静态方法,在场景中根据名称寻找游戏物体并返回
FindWithTag 静态方法,在场景中根据标签寻找游戏物体并返回
FindGameObjectsWithTag 静态方法,在场景中根据标签寻找多个游戏物体并返回
Destroy 静态方法,移除并销毁一个游戏物体,为继承方法
Instantiate 静态方法,复制一个游戏物体,一般用此方法实例化预制件,为继承方法
DontDestroyOnLoad 静态方法,设置此游戏物体在切换场景时不会销毁,为继承方法

5、Time

属性方法 详解
deltaTime 上一帧到这一帧所花的时间
fixedDeltaTime 固定间隔时间
time 游戏开始到现在所花的总时间
timeScale 时间缩放值,默认为1.0

6、Mathf

属性方法 详解
Deg2Rad 角度转弧度
Rad2Deg 弧度转角度
PI 圆周率
Abs 绝对值
Sin/Cos/Tan 正弦/余弦/正切
Asin/Acos/Atan 反正弦/反余弦/反正切
Clamp 将数字限制到一个范围内
Clamp01 将数字限制在0~1内
Lerp 线性插值
Max 返回最大值
Min 返回最小值
Sqrt 返回平方根

7、Application

属性方法 详解
dataPath 游戏数据文件夹路径
persistentDataPath 持久化游戏数据文件夹路径
streamingAssetsPath StreamingAssets文件夹路径
temporaryCachePath 临时文件夹路径
runInBackground 控制在后台时是否运行
OpenURL 打开一个URL
Quit 退出

8、Scene

Unity提供Scene结构体来代表一个场景

属性方法 详解
buildIndex 返回场景在Build Settings中的索引
isLoaded 返回场景是否已经加载
name 场景名称
path 场景的相对路径
GetRootGameObject 返回场景中的所有根游戏物体

SceneManager类:场景的管理

属性方法 详解
sceneCount 当前已加载场景的数量
CreateScene 创建一个场景
GetActiveScene 得到当前激活场景
GetSceneByName 通过名称返回已加载场景
LoadScene 加载场景
LoadSceneAsync 异步加载场景
SetActiveScene 激活场景
UnloadSceneAsync 移除并销毁场景

9、Transform

属性方法 详解
position 在世界坐标系中的位置
rotation 在世界坐标系中的旋转
eulerAngles 在世界坐标系中的欧拉角旋转
localPosition 相对于父物体的位置
localRotation 相对于父物体的旋转
localScale 相对于父物体的缩放
localEulerAngles 相对于父物体的欧拉角旋转
forward 在世界坐标系中的自身坐标系的蓝色轴向量
up 在世界坐标系中的自身坐标系的绿色轴向量
right 在世界坐标系中的自身坐标系的红色轴向量
LookAt 旋转物体使forward向量指向目标点,也就是看向某个目标点
Rotate 旋转物体
RotateAround 绕着某点旋转物体
Translate 在某一方向与距离上进行移动
childCount 当前Transform的子Transform个数
parent 当前Transform的父Transform
DetachChildren 解除所有子Transform的关联
Find 查找对应子Transform
GetChild 得到对应子Transform
isChildOf 是否为子Transform
SetParent 设置父Transform

posted on   Shazam_sjtu  阅读(171)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示