Collision이 발생되는 상황
Trigger가 발생되는 상황
버전마다 다를 수 있기 때문에 문서나 실제 테스트를 통해 확인하는 것이 좋다.
물리와는 상관없이 해당 범위안에 들어왔는 지를 파악하고 싶다면
Trigger를 쓰는 것이 유용하다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TestCollision : MonoBehaviour
{
// 1) 나 혹은 상대한테 RigidBody가 있어야 한다 (IsKinematic : Off)
// 2) 나한테 Collider가 있어야 한다 (IsTrigger : Off)
// 3) 상대한테 Collider가 있어야 한다 (IsTrigger : Off)
private void OnCollisionEnter(Collision collision)
{
Debug.Log($"Collision @ {collision.gameObject.name} !");
}
// 1) 둘 다 Collider가 있어야 한다.
// 2) 둘 중 하나는 IsTrigger : On
// 3) 둘 중 하나는 RigidBody가 있어야 한다.
private void OnTriggerEnter(Collider other)
{
Debug.Log($"Trigger @ {other.gameObject.name}!");
}
void Start()
{
}
void Update()
{
}
}
❗ Trigger 활용 예시 ❗
캐릭터가 특정 공간에 들어갈 경우 텔레포트 하기