로딩
요청 처리 중입니다...

물리엔진 제작 도전 1 - AABB

 물리엔진 제작 도전 1 - AABB

서론 물리엔진의 근본은 충돌이다. 현실 물리에서 힘이 작용하고 운동량이 변하고 어쩌구는 수식을 통해 값만 반영해주면 손쉽게 적용할 수 있다.

하지만 문제는 바로 그걸 적용하는 시점과 그 값의 정도를 구하는 것 이다. 만약 물체의 속도값을 랜덤하게 바꿔버리면 우리는 귀신들린 움직임을 보게 될 것이다.

중력 등 기타 요소는 상수처럼 작용하거나 일련의 수식을 그냥 매 프레임 적용하면 되지만, 물리엔진을 만들기 어렵게 하는 동시에 그 존재 이유인 '충돌'은 검사하기 전까진 언제 어떻게 어떤 강도로 일어날지 알 수 없다. 아쉽게도 충돌 검사는 일반적인 상황에선 마법같은 간소화가 불가능하다.

기본적으로 은 깔고 들어가고 심하면 은 우습게 찍는다. 그러나 온몸 비틀기로 어떻게든 연산량을 줄일 뿐이다.

AABB에 대하여 충돌을 다루기 위해선 먼저 충돌이 일어났는지 감지하는 것 부터 시작해야한다. 오늘은 이 충돌 감지 문제를 쉽게 줄여주는 여러가지 방법들 중에 AABB(Axis aligned bou...

# 충돌 # 3d # AABB # 물리엔진 # Rust # 물리 # 다면체 # 다각형 # bevy # 2d