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 |