Unity 常用函数API记录[持续更新]

Unity实例化与动态加载
本文介绍了在Unity中如何使用Instantiate方法实例化对象,并通过Resources.Load动态加载prefab预设,最后将创建的对象挂载到指定节点上,如UIRoot,以进行测试或展示。

实例化对象

Instantiate

var clone:GameObject=Instantiate(obj,obj.transform.position,obj.transform.rotation);

动态加载 prefab 预设

Resources.Load()

挂在到某个节点上

// 挂载到UIroot上.用于测试查看
GameObject go = GameObject.Find("UI Root");
if (go != null)
{
   m_View.gameObject.transform.SetParent(go.transform);
}
### Unity 碰撞检测 API 和接触相关功能 在 Unity 中,碰撞检测主要通过 `OnTriggerXXX` 和 `OnCollisionXXX` 方法实现。这些方法用于处理对象之间的交互行为,具体取决于它们的物理属性配置。 #### 1. **触发器事件 (OnTriggerXXX)** 触发器事件发生在至少有一个游戏对象启用了 Collider 的 Is Trigger 属性的情况下。以下是常见的触发器回调函数: - **OnTriggerEnter(Collider other):** 当另一个Collider进入此触发器区域时调用[^1]。 - **OnTriggerExit(Collider other):** 当另一个Collider离开此触发器区域时调用。 - **OnTriggerStay(Collider other):** 只要另一个Collider停留在该触发器区域内就会持续调用[^1]。 示例代码展示了如何记录与特定对象的接触情况: ```csharp void OnTriggerEnter(Collider other) { Debug.Log("A物体的OnTriggerEnter被调用,被接触的物体为" + other.name); } ``` #### 2. **碰撞事件 (OnCollisionXXX)** 碰撞事件适用于未启用 Is Trigger 的刚体或带有 Rigidbody 组件的对象之间的真实物理碰撞。以下是一些常用的碰撞回调函数: - **OnCollisionEnter(Collision collision):** 当两个Collider首次发生碰撞时调用。 - **OnCollisionExit(Collision collision):** 当两个Collider停止接触时调用[^1]。 - **OnCollisionStay(Collision collision):** 如果两个Collider仍然处于接触状态,则会反复调用[^1]。 下面是一个简单的例子来说明碰撞检测逻辑: ```csharp void OnCollisionEnter(Collision collision) { Debug.Log("A物体的OnCollisionEnter被调用,被碰撞的物体为" + collision.gameObject.name); } ``` #### 3. **二维版本** 对于2D项目,Unity 提供了类似的接口,例如 `OnCollisionEnter2D` 和 `OnTriggerEnter2D`,其工作原理相同但专为2D场景设计[^2]。 ```csharp private void OnCollisionEnter2D(Collision2D collision) { print("碰撞的物体为" + collision.gameObject.name); } ``` #### 4. **注意事项** 为了使上述任何一种类型的检测生效,通常需要满足某些条件: - 对于 `OnCollisionXXX` 类型的方法,涉及的游戏对象需附加 Rigidbody 或 Rigidbody2D 组件[^1]。 - 至少一方应具备动态特性(即非静态),以便能够响应外部力量的影响[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值