Unity3D碰撞检测射线.docVIP

  • 10
  • 0
  • 约1.44千字
  • 约 3页
  • 2017-06-07 发布于重庆
  • 举报
Unity3D碰撞检测射线

Unity 3D——碰撞检测、射线 ??在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。这两种方式的应用非常广泛。为了完整的了解这两种方式,我们必须理解以下概念: (一)碰撞器是一群组件,它包含了很多种类,比如: ? ? ? ? ? ?Box Collider,Capsule Collider等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。 (二)所谓触发器,只需要在检视面板中的碰撞器组件中 ? ? ? ? ? ?勾选IsTrigger属性选择框。 (三)给主角添加刚体(Rigidbody)组件,并且取消刚体组件的重力选项UseGravity。 触发信息检测 1、当进入触发器 ? ? ? MonoBehaviour.OnTriggerEnter( Collider other ) 2、当退出触发器 ? ? ? MonoBehaviour.OnTriggerExit( Collider other ) 3、当逗留触发器 ?? ? ?MonoBehaviour.OnTriggerStay( Collider other ) ? ? ?// 触发接触的那一帧被调用 ? ? ? void OnTriggerEnter(Collider other)? { ? ? ? ? ? Debug.Log(enter); ? ? ? ? ? Debug.Log(other.gameObject.name); ? ? ? } ? ?? ? ? //触发接触的每帧都被调用 ? ? ? void OnTriggerStay(Collider other)? { ? ? ? ? ? Debug.Log(Stay); ? ? ? } ? ?? ? ? // 触发结束被调用 ? ? ? void OnTriggerExit(Collider other)? { ? ? ? ? ? Debug.Log(Exit); ? ? ? } ? 碰撞信息检测 1、当进入碰撞器 ? ? ? MonoBehaviour.OnCollisionEnter( Collision collisionInfo )? 2、当退出碰撞器 ? ? ? MonoBehaviour.OnCollisionExit( Collision collisionInfo )? 3、当逗留碰撞器 ? ? ?MonoBehaviour.OnCollisionStay( Collision collisionInfo ) ? // 碰撞接触的那一帧被调用 ? ? ? void OnCollisionEnter(Collision collision) { ? ? ? ? ? Debug.Log(enter); ? ? ? ? ? Debug.Log(collision.gameObject.name); ? } ? ?? ? ? // 碰撞接触的每帧都被调用 ? ? ? void OnCollisionStay(Collision collision)? { ? ? ? ? ? Debug.Log(Stay); ? } ? ?? ? ? // 碰撞结束被调用 ? ? ? void OnCollisionExit(Collision collision)? { ? ? ? ? ? Debug.Log(Exit); ? } ? 想要了解更多请到狗刨学习网

文档评论(0)

1亿VIP精品文档

相关文档