个人开发Unity3d游戏中常用API函数

1.Instantiate

原型:public static Object Instantiate(Object originalVector3 positionQuaternion rotation);

作用:生成对象实例。可用于新生成子弹/炮弹/物体,也可用于刷新敌人

注:

1)该函数返回值在monodevelop中查看返回值为GameObject,官方api手册中为Object

2)该函数共有4个不同的版本对应不同的传参,以上为最常用版本

3)获取新生成的物体的属性/组件时,需要定义变量储存以便访问,如:

Game Object p = Instantiate ();

Rigidbody m = p.GetComponent<Rigidbody> ();

2.位移函数

(1)transform.Translate

原型:public void Translate(Vector3 translationSpace relativeTo = Space.Self);

作用:使某物在三维世界中“瞬移”

例:transform.Translate (new Vector3 (0, 0, 1) * moveSpeed * Time.deltaTime);

注:参数为矢量,必须带方向,可加速度变量乘在参数内

(2)velocity(对于刚体)

原型:public Vector3 velocity;

例:r.velocity = shootPoint.forward * shootPower;

注:赋值刚体速度,同样也为矢量,适用物理定律

3.transform.RotateAround

原型:public void RotateAround(Vector3 pointVector3 axis, float angle);

作用:使某物绕另一物体的哪一跟轴旋转

例:transform.RotateAround (center.GetComponent<Transform>().position,Vector3.up,-70 * Time.deltaTime);

使transform绕着center的y轴旋转,速度为70

4.Physics.OverlapSphere

原型:

public static Collider[]  OverlapSphere( Vector3  position, float  radius, int  layerMask = AllLayers,  QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
作用:用于捕捉以position为圆心的一个圆内的所有碰撞器,返回值会碰撞器数组,一般用于 OnCollisionEnter()触发碰撞检测时获取碰撞物(如手雷爆炸等)
例:Collider[] cols = Physics.OverlapSphere (transform.position,explosionRadius);
5.Rigidbody.AddExplosionForce
原型:public void AddForce(Vector3 forceForceMode mode = ForceMode.Force);
作用:增加力场在某点上,可用于爆炸等场景模拟
例: rb.AddExplosionForce (explosionPower,transform.position,explosionRadius);
在rb上增加一个力量为explosionPower,位置为自己,爆炸半径为explosionRadius的力
6.Destory
原型: public static void  Destroy ( Object   obj , float  t  = 0.0F);
作用:在场景中删除某物
例:Destroy (gameObject); //删除gameObject
   Destroy (se,delayClearExplosion); //在delayClearExplosion秒后删除se

待更新

·事件函数:

事件函数总览:


void Reset():当脚本被附加在GameObject上或者在面板中点击脚本的reset键时执行

void FixedUpdate():以固定帧率调用,有可能会出现一帧被调用多次,用于与运动相关的代码控制

·Time类

captureFramerate:将游戏速度减缓至(1/数值)时间,便于进行游戏截图

 Time.captureFramerate = 25;

deltaTime:计算每帧之间的间隔事件,常用于时间累积,或者控制跟运动相关的代码时,在参数中相乘

frameCount:计算到目前为止的总帧数(frameCount当所有Awake都执行完毕后开始计算,在Awake执行期间,值为未定义)

timeScale:控制游戏运行速度,影响几乎所有Time类成员(主要影响deltaTime)可用于游戏暂停,默认值为1,数值大于1为加速,小于1为减速,为0时暂停且FixedUpdate()将不会执行


  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity3D用的API包括Component、Transform、GameObject、Object和Time等。\[1\]这些API可以用于处理游戏对象的组件、变换、实例化和销毁等操作。例如,可以使用Component来获取和管理游戏对象的组件,使用Transform来控制游戏对象的位置、旋转和缩放,使用GameObject来创建、查找和销毁游戏对象,使用Object来处理资源的加载和释放,使用Time来获取游戏的时间信息。此外,还有一些见的API函数,如Instantiate函数用于实例化预制件,Start函数和Update函数用于处理游戏对象的初始化和更新等。\[2\]\[3\]这些API函数Unity开发使用的工具,可以帮助开发者实现各种功能和效果。 #### 引用[.reference_title] - *1* [Unity3D数字孪生笔记——UnityAPI篇](https://blog.csdn.net/Lcl_huolitianji/article/details/120875486)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Unity3DAPI](https://blog.csdn.net/u011360242/article/details/77046732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【Unity 3DAPI的讲解以及在C#脚本的执行(附源码)](https://blog.csdn.net/jiebaoshayebuhui/article/details/128510864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值