물리 피처의 충돌 그룹 설정
이 문서에서는 물리 피처를 충돌 그룹의 일부로 정의하는 방법에 대해 설명합니다. 이를 통해 특정 피처를 가진 인스턴스가 다른 인스턴스와 항상 충돌하거나 절대 충돌하지 않도록 설정할 수 있습니다. 충돌 그룹은 양수 또는 음수로 설정할 수 있으며, 기본값은 0입니다. 0은 이 설정을 가진 인스턴스가 충돌 이벤트가 생성되지 않는 한 무시됨을 의미합니다.
충돌 그룹 설정의 유용성
충돌 그룹을 설정하면 복잡한 물리적 객체를 생성하고, 이들이 주변 물리 세계와 상호작용하되 서로는 상호작용하지 않도록 만들 수 있습니다. 그러나 이러한 그룹 기반 충돌 계산의 복잡성 때문에, 한 방에서 사용하는 그룹의 수를 최소한으로 유지하는 것이 좋습니다.
충돌 그룹 값 범위
충돌 그룹 값은 -32,768에서 32,767까지 설정할 수 있습니다(포함).
문법
physics_fixture_set_collision_group(fixture, group);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
fixture | Physics Fixture ID | 바인딩할 피처 |
group | Real | 이 피처가 할당될 그룹 (양수, 0 또는 음수) |
반환값
N/A
예제
다음 코드는 변수 "fix_Wheel"에 인덱스된 피처를 그룹 "-1"의 일부로 설정합니다.
physics_fixture_set_collision_group(fix_Wheel, -1);
활용 예제
- 차량 물리 시뮬레이션: 차량의 바퀴와 차체를 서로 다른 충돌 그룹에 설정하여 바퀴가 도로와 충돌하지만 차체는 바퀴와 충돌하지 않도록 할 수 있습니다.
gml physics_fixture_set_collision_group(fix_Wheel, 1); physics_fixture_set_collision_group(fix_Body, 2);
- 게임 오브젝트 간 상호작용: 적 캐릭터와 플레이어 캐릭터를 서로 다른 그룹에 설정하여 서로 충돌하지 않도록 할 수 있습니다.
gml physics_fixture_set_collision_group(fix_Enemy, -1); physics_fixture_set_collision_group(fix_Player, -2);
- 환경 오브젝트: 배경 오브젝트와 상호작용하지 않도록 설정하여 플레이어가 배경과 충돌하지 않도록 할 수 있습니다.
gml physics_fixture_set_collision_group(fix_Background, 0); physics_fixture_set_collision_group(fix_Player, 1);
이와 같은 방법으로 다양한 물리적 상호작용을 설정하여 게임의 물리 엔진을 더욱 효과적으로 활용할 수 있습니다.