• UnityAPI学习之碰撞检测与触发检测


     碰撞检测

    发生碰撞检测的前提:

    1. 碰撞的物体需要有Rigidbody组件和boxcllidder组件

    2. 被碰撞的物体需要有boxcollider组件

    示例1:被碰撞的物体拥有Rigidbody组件

    两个物体会因为都具有刚体的组件而发生力的作用,如下图所示,当被碰撞的物体被碰撞时,两物体的刚体组件(Rigidbody组件)发生力的作用,从而达到gris(3)推着gris(1)向左移动的效果

    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. public class NO18_Collider : MonoBehaviour
    5. {
    6. public float speed;
    7. private void Update()
    8. {
    9. transform.Translate(Vector2.left * speed * Time.deltaTime,Space.World);
    10. }
    11. private void OnCollisionEnter2D(Collision2D collision)
    12. {
    13. print("碰撞的物体为" + collision.gameObject.name);
    14. }
    15. }

    示例2:被碰撞的物体没有Rigidbody组件

    被碰撞的物体没有刚体组件(Rigidbody组件),因此gris(3)不会推着gris(1)向左移动

    触发检测

    发生触发检测的前提:

    1. 碰撞的物体需要有Rigidbody组件和boxcllidder组件

    2. 被碰撞的物体需要有boxcollider组件并勾选IsTrigger选项

    示例:

    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. public class NO18_Collider : MonoBehaviour
    5. {
    6. public float speed;
    7. private void Update()
    8. {
    9. transform.Translate(Vector2.left * speed * Time.deltaTime,Space.World);
    10. }
    11. private void OnCollisionEnter2D(Collision2D collision)
    12. {
    13. print("碰撞的物体为" + collision.gameObject.name);
    14. }
    15. private void OnTriggerEnter2D(Collider2D collision)
    16. {
    17. print(collision.gameObject.name + "进入了");
    18. }
    19. private void OnTriggerStay2D(Collider2D collision)
    20. {
    21. print(collision.gameObject.name + "停留");
    22. }
    23. private void OnTriggerExit2D(Collider2D collision)
    24. {
    25. print(collision.gameObject.name + "走出了");
    26. }
    27. }

  • 相关阅读:
    EFK部署centos7.9(四)Filebeat 部署
    金蝶云星空和旺店通·企业版单据接口对接
    11、Vue的生命周期
    C++ day2
    聚合物纳米材料造影剂供应|超声联合载血卟啉PLGA造影剂|携抗HER-2抗体PLGA高分子纳米超声造影剂
    初识React
    SpringBoot整合Redis数据库-小白也能轻松上手-自带云Redis数据库
    django配置静态文件
    python3 函数对象写的简易框架
    RocketMQ源码(二十)之事务消息
  • 原文地址:https://blog.csdn.net/qq_75073393/article/details/139720977