Unity 2D 물리 프로파일러 모듈
Unity의 2D 물리 프로파일러는 씬에서 물리 시스템이 처리하는 물리에 대한 정보를 제공합니다. 이 정보는 성능 문제를 진단하고 물리와 관련된 불일치를 해결하는 데 도움이 됩니다.
프로파일러 창에서 Physics 2D Profiler 모듈
이 모듈은 여러 차트 카테고리로 나뉘며, 각 카테고리는 물리 시스템의 통계를 추적합니다.
차트 카테고리
카테고리 | 설명 |
---|---|
Total Contacts | 해당 프레임에서 발생한 총 접촉 수 (충돌 및 트리거 포함). |
Total Shapes | 해당 프레임에 존재한 총 물리 모양 수 (Collider2D에 의해 생성됨). |
Total Queries | 해당 프레임에서 호출된 총 쿼리 수 (Physics2D.Raycast 등 포함). |
Total Callbacks | 해당 프레임에서 호출된 물리 콜백 수 (OnCollisionEnter2D 등 포함). |
Total Joints | 해당 프레임에 존재한 총 Joint2D 수. |
Total Bodies | 해당 프레임에 존재한 총 Rigidbody2D 수. |
Awake Bodies | 깨어 있는 Rigidbody2D 수. |
Dynamic Bodies | 동적 바디 유형의 Rigidbody2D 수. |
Continuous Bodies | 연속 충돌 검사 모드의 Rigidbody2D 수. |
Physics Used Memory | 2D 물리 시스템에서 사용하는 메모리의 총 수. |
활용 및 적용 예제
간단한 예제: 충돌 체크
public class CollisionCheck : MonoBehaviour {
void OnCollisionEnter2D(Collision2D collision) {
Debug.Log("충돌 발생: " + collision.gameObject.name);
}
}
이 스크립트는 물체와 충돌했을 때 콘솔에 충돌한 물체의 이름을 출력합니다.
복잡한 예제: 동적 물체 처리
public class DynamicObject : MonoBehaviour {
public float moveSpeed = 5f;
void Update() {
float move = Input.GetAxis("Horizontal");
transform.Translate(Vector2.right * move * moveSpeed * Time.deltaTime);
}
}
사용자가 움직임을 입력하면 물체가 동적으로 이동하게 하여 성능을 모니터링 할 수 있습니다.
모듈 세부 정보
프로파일러의 세부 정보를 통해 물리 시스템의 퍼포먼스를 분석하고, 필요할 경우 최적화를 할 수 있습니다. 모듈 세부 정보 창에는 각 통계의 값이 나열되어 있습니다.
주요 통계 설명
통계 | 설명 |
---|---|
Total | 사용하는 지속적인 메모리의 총 수입니다. |
Awake Bodies | 해당 프레임에서 깨어있는 바디의 수. |
Dynamic Bodies | 동적 처리에 필요한 바디 수. |
Total Queries | 쿼리에 소요된 총 시간 및 쿼리 수. |
Total Contacts | 프레임의 총 접촉 수; 성능에 영향을 미칠 수 있습니다. |
결론
Unity의 2D 물리 프로파일러 기능을 통해 나의 게임이나 애플리케이션의 물리 성능을 상세히 분석하고, 문제점을 쉽게 파악하여 최적화 할 수 있습니다. 이러한 기능을 통하여 게임의 품질을 높일 수 있으며 성능을 개선할 수 있습니다.