微信登录

C# - 触发检测-OnTriggerEnter/Exit/Stay()

作用:检测触发OnTriggerEnter

例子:人物走过区域触发

代码

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class shoot : MonoBehaviour
  5. {
  6. // Start is called before the first frame update
  7. void Start()
  8. {
  9. }
  10. // Update is called once per frame
  11. void Update()
  12. {
  13. }
  14. private void OnTriggerEnter(Collider other){
  15. print("OnTriggerEnter:" + other);
  16. print("OnTriggerEnter:" + other.name);
  17. print("OnTriggerEnter:" + other.tag);
  18. }
  19. private void OnTriggerExit(Collider other){
  20. print("OnTriggerExit");
  21. }
  22. private void OnTriggerStay(Collider other){
  23. print("OnTriggerStay");
  24. }
  25. }

代码的解释

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class shoot : MonoBehaviour
  5. {
  6. // Start is called before the first frame update
  7. void Start()
  8. {
  9. }
  10. // Update is called once per frame
  11. void Update()
  12. {
  13. }
  14. private void OnTriggerEnter(Collider other){
  15. //碰到
  16. print("OnTriggerEnter:" + other);
  17. print("OnTriggerEnter:" + other.name);
  18. print("OnTriggerEnter:" + other.tag);
  19. }
  20. private void OnTriggerExit(Collider other){
  21. //离开
  22. print("OnTriggerExit");
  23. }
  24. private void OnTriggerStay(Collider other){
  25. //每一帧在这
  26. print("OnTriggerStay");
  27. }
  28. }

用法:
1、注意文件命名,这里是shoot
2、区域的Box Collider 的Is Trigger 需要打勾,使可以进入内部
3、关掉Mesh Renderer 透明了