물리 엔진의 각 감쇠(Angular Damping)
phy_angular_damping
변수는 인스턴스의 각 감쇠를 설정하거나 현재 각 감쇠 값을 가져오는 데 사용됩니다. 각 감쇠는 물리 엔진이 활성화된 인스턴스가 회전할 때의 "저항" 정도를 나타냅니다. 낮은 값은 충돌 후 인스턴스가 더 빠르게 회전할 수 있게 하고, 높은 값은 더 강한 힘이 필요하며 회전 속도가 느려지게 합니다.
문법
phy_angular_damping;
반환값
- 단정도 부동 소수점 값 (single precision floating point value)
- 인스턴스가 물리 엔진이 활성화되지 않은 경우
undefined
예제
if (place_meeting(phy_position_x, phy_position_y, obj_Water)) {
phy_angular_damping = 10;
} else {
phy_angular_damping = 3;
}
위 코드는 호출 인스턴스와 "obj_Water" 인스턴스 간의 충돌을 확인하고, 그에 따라 각 감쇠 값을 변경합니다.
활용 예제
상황 | 코드 예제 |
---|---|
물체가 물에 있을 때 느리게 회전 | gml phy_angular_damping = 10; |
물체가 공중에 있을 때 빠르게 회전 | gml phy_angular_damping = 2; |
물체가 충돌 후 회전 속도 조절 | gml if (place_meeting(phy_position_x, phy_position_y, obj_Solid)) { phy_angular_damping = 5; } |
물체가 바닥에 있을 때 회전 저항 증가 | gml if (place_meeting(phy_position_x, phy_position_y, obj_Ground)) { phy_angular_damping = 15; } |
물체가 특정 조건에서 회전 속도 조절 | gml if (health < 50) { phy_angular_damping = 20; } else { phy_angular_damping = 5; } |
이와 같은 방식으로 phy_angular_damping
을 활용하여 물체의 회전 속도를 제어하고 다양한 물리적 상호작용을 구현할 수 있습니다.