UnityAPI手册-2019.4官网版
文集大纲加载中……
本文档使用 MrDoc 发布
-
+
首页
Collision.contacts
# [Collision](https://docs.unity3d.com/cn/2019.4/ScriptReference/Collision.html).contacts public ContactPoint[] **contacts** ; ## 描述 物理引擎生成的接触点。应避免使用它,因为它会产生内存垃圾。改用 [GetContact](https://docs.unity3d.com/cn/2019.4/ScriptReference/Collision.GetContact.html) 或 [GetContacts](https://docs.unity3d.com/cn/2019.4/ScriptReference/Collision.GetContacts.html)。 每个接触均包含一个接触点、法线和碰撞的两个碰撞体(请参阅 [ContactPoint](https://docs.unity3d.com/cn/2019.4/ScriptReference/ContactPoint.html))。 从内部 [OnCollisionStay](https://docs.unity3d.com/cn/2019.4/ScriptReference/Collider.OnCollisionStay.html) 或 [OnCollisionEnter](https://docs.unity3d.com/cn/2019.4/ScriptReference/Collider.OnCollisionEnter.html),能够 始终确保 `contacts` 至少有一个元素。 ``` using UnityEngine; public class ExampleScript : MonoBehaviour { void OnCollisionStay(Collision collision) { foreach (ContactPoint contact in collision.contacts) { print(contact.thisCollider.name + " hit " + contact.otherCollider.name); // Visualize the contact point Debug.DrawRay(contact.point, contact.normal, Color.white); } } } ``` ``` // A grenade // - instantiates an explosion Prefab when hitting a surface // - then destroys itself using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Transform explosionPrefab; void OnCollisionEnter(Collision collision) { ContactPoint contact = collision.contacts[0]; Quaternion rot = Quaternion.FromToRotation(Vector3.up, contact.normal); Vector3 pos = contact.point; Instantiate(explosionPrefab, pos, rot); Destroy(gameObject); } } ```
da
2022年5月25日 10:48
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码