물리 세계 디버그 그리기
이 문서는 방의 물리 세계 시스템을 시각적으로 표현하여 디버깅을 도와주는 physics_world_draw_debug
함수에 대해 설명합니다. 게임의 물리 장면이 제대로 작동하지 않을 때, 이 함수를 사용하면 문제를 찾고 해결하는 데 도움이 됩니다. 문제는 스프라이트가 잘못된 위치나 회전으로 그려져 물리적 오류처럼 보일 수 있습니다. 이 함수는 물리 시스템에서 어떤 일이 일어나고 있는지를 시각적으로 보여줍니다.
사용 방법
이 함수를 사용하려면 어떤 부분을 그릴지 지정해야 하며, 이는 다양한 "플래그" 상수에 저장된 비트를 사용하여 값을 생성하여 전달함으로써 이루어집니다.
물리 디버그 플래그
플래그 이름 | 설명 |
---|---|
phy_debug_render_aabb |
방 축에 대한 각 고정물의 절대 경계 상자를 표시합니다. |
phy_debug_render_collision_pairs |
현재 충돌 중인 고정물을 표시합니다. |
phy_debug_render_coms |
방의 각 고정물의 질량 중심을 표시합니다. |
phy_debug_render_core_shapes |
방의 고정물을 구성하는 기본 모양을 표시합니다. |
phy_debug_render_joints |
방의 모든 고정물의 관절을 그립니다. |
phy_debug_render_obb |
방의 고정물에 대한 상대 경계 상자를 표시합니다. |
phy_debug_render_shapes |
방 내 고정물을 구성하는 실제 모양을 표시합니다. |
플래그 설정 예제
두 개의 옵션을 그리려면 비트 단위 "or" 연산을 사용하여 두 값을 결합하고, 결과 변수를 함수에 전달해야 합니다. 예를 들어, 질량 중심과 모든 고정물의 관절을 그리려면 다음과 같이 설정합니다.
||
||
위 코드를 사용하면 화면에 질량 중심과 모양만 그려집니다. 더 많은 플래그를 조합하여 디버그할 수도 있습니다.
함수 구문
physics_world_draw_debug(flag);
인수 설명
인수 이름 | 유형 | 설명 |
---|---|---|
flag |
물리 디버그 플래그 | 다양한 디버그 기능을 표시하기 위한 플래그 값 |
반환 값
- N/A
활용 예제
아래는 다양한 디버그 플래그를 사용하여 물리 세계를 시각적으로 표현하는 예제입니다.
// 모든 절대 경계 상자와 충돌 중인 고정물을 그립니다.
||
||
physics_world_draw_debug(flag);
// 질량 중심과 상대 경계 상자를 그립니다.
||
||
physics_world_draw_debug(flag);
// 모든 고정물의 기본 모양을 그립니다.
||
||
physics_world_draw_debug(flag);
이와 같이 다양한 플래그를 조합하여 물리 시스템의 상태를 시각적으로 확인할 수 있습니다.