Collider

충돌박스,히트박스 같은것 같다. Trigger는 한번 충돌판정 Collision는 여러번 충돌판정

 

Rigidbody

충돌판정을 처리해야하는 오브젝트는 Rigidbody가 있어야함 물리가 없으면 충돌판정 자체가 안되므로,

판정이 필요한 곳만 필요하다.

    private void OnCollisionEnter(Collision collision) //엑시트,스테이
                                                       //충돌판정을 처리해야하는 오브젝트는 Rigidbody가 있어야함
    {
        if (collision.gameObject.CompareTag("Player"))
                              //.tag == "Player" 같은거
        {
            Debug.Log(collision.gameObject.name);
		}
    }

아이템을 뿌려줌

public class ItemManager : MonoBehaviour
{
    [SerializeField] private GameObject itemPrefab = null;

    private void Start()
    {
        for (int i = 0; i < 100; i++)
        {
            Instantiate(itemPrefab, new Vector3(Random.Range(-30f, 30f), 2f, Random.Range(-30f, 30f)), Quaternion.identity);
        }
    }
}

 

오브젝트가 닿은 상대가 playerTag면 없애는 함수 몬스터에게 준 상태

Destroy(매개변수.gameObject)

private void OnTriggerEnter(Collider other)
    {
        if(other.gameObject.CompareTag("Player"))
        {
            Debug.LogWarning(other.gameObject.name); // 디버깅 창에 출력
            
            Destroy(other.gameObject); //지정해서 없애는 함수
        }
    }

 

내나 위와 같은 방식으로 플레이어가 아이템 태그에 닿으면 아이템태그를 가진 오브젝트가 사라지는 형태

 private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("Item"))
        {
            Destroy(other.gameObject);
            ++itemCnt;  // 카운터
            Debug.Log("Item Count :" + itemCnt); // 카운터 숫자를 띄워줌
        }
    }
}

 

 

Collision은 매개변수로 Collision을 받고

Trigger는 매개변수로 Collider를 받는다.

moveToDir.enabled = false;    스크립트 Off
gameObject.SetActive(false);  게임오브젝트 Off

 

 

'수업 일기장' 카테고리의 다른 글

Unity.6 uv, 텍스쳐 Wrap mode  (0) 2021.02.26
Unity.5 uv, normals, triangles  (0) 2021.02.26
Unity.3 기초 및 Prefabs  (0) 2021.02.24
Unity.2 UI/UX 및 버튼 이동  (0) 2021.02.24
Unity.1 이동 및 추격  (0) 2021.02.19

+ Recent posts