Box3D - 오픈소스 3D 물리 엔진 공개
요약
Erin Catto가 공개한 새로운 오픈소스 3D 물리 엔진인 Box3D를 소개합니다. Box2D의 성공을 잇는 이 엔진은 결정성(determinism)과 리플레이 메커니즘을 갖추고 있어 게임 개발자들에게 유용한 도구가 될 것으로 기대됩니다.
핵심 포인트
- Box2D 제작자 Erin Catto가 공개한 새로운 오픈소스 3D 물리 엔진
- 리플레이 메커니즘을 통한 결정성(determinism) 지원 가능성
- Jolt, Rapier 등 기존 물리 엔진과 함께 새로운 대안으로 부상
- C API를 제공하여 개발 편의성 확보
Rovio(Angry Birds 제작사)에서 일할 때 들은 이야기인데, 마케팅 책임자 Peter Vesterbacka가 강연 중 질문을 받다가 한 청중이 게임에 어떤 물리 엔진을 쓰는지 물었고, Vesterbacka가 Box2D라고 정확히 답하자 그 사람이 “왜 크레딧에 없나요? 참고로 저는 Box2D 제작자 Erin Catto입니다”라고 했다고 함
Vesterbacka는 “행사 끝나고 저에게 오세요”라고 답했고, 아마 그때 Erin이 후디를 받았을지도 모름. 이후 곧 크레딧에 이름이 추가됐다고 함
다들 놀랐던 건 마케팅 담당자가 어떤 물리 엔진을 쓰는지 알고 있었다는 점이었음
Box2D는 한때 물리 기반 인디 게임들의 기반이었음
지금 환경이 충분히 비어 있어서 다시 부흥할 여지가 있는지 궁금함
애초에 무료 오픈소스 3D 물리 엔진이 많지 않았음. 오래된 선조 격으로는 ODE, Bullet, Newton Dynamics가 있고 모두 2000년대 초반에 처음 나왔으며, 그 뒤 거의 20년 동안 비어 있다가 2021년에 Jolt, 이제 Box3D가 나온 흐름으로 보임
이렇게 작고 폐쇄적인 목록에 새 항목이 추가되는 건 언제나 환영할 일임
Incredibots에 빠져 있던 시절이 기억남. 그때 처음 Box2D를 알게 됐음
Box2D는 여전히 꽤 훌륭함. 2D 물리 게임 프로젝트에는 확실히 추천할 만함
Box2D와 이제 Box3D의 C API는 작업하기 정말 좋음
예전에 Chipmunk2D를 조금 써봤는데, 내가 하던 난해한 작업에는 더 쓰기 쉬웠음
이건 정말 반가움. Erin Catto는 멋진 해커이고, 오픈소스 커뮤니티에 코드를 공유해줘서 고마움
발표에는 결정성(determinism) 이야기가 없었지만, 그 부분도 더 보고 싶음. Unity 내장 물리로 네트워크 당구 게임을 만들려고 하면, 클라이언트들이 무슨 일이 일어났는지 서로 맞추지 못해서 꽤 골치 아픔
같은 걸 찾고 있었음. 리플레이 메커니즘이 있으니 결정적인 것처럼 보이긴 함. 다만 부동소수점 물리라면 플랫폼 간에는 아닐 수 있음
문서에 따르면 -ffast-math는 지원하지 않는다고 하니, 어쩌면 플랫폼 간 결정성을 의도한 것일 수도 있음: https://box2d.org/documentation3d/recording.html
수정: ffast-math에 대한 의미를 명확히 함
물리 시뮬레이션은 위험한 토끼굴임. 강체와 물리적으로 그럴듯한 동작에만 집중해도 충돌 감지와 충돌 해결에는 열린 문제가 많음
기하에는 볼록 근사나 분해를 쓰고, 해법기는 손으로 튜닝하는 게 일반적이며, 견고성과 정밀도를 속도와 계속 맞바꿔야 함
이걸 정말 기다리고 있었음. 예전에 Box2D로 꽤 성공한 적이 있고, F/OSS 중에서도 확실히 최상위권에 드는 결과물임
Box3D 기반 Spectre VR? 이건 꼭 나올 것 같음. Tanarus의 느낌도 있음
수정: Legend of California 데모(Unreal Engine 기반)에서 녹화와 재생으로 전환되는 부분은 꽤 급격한 도약처럼 보임. 처음엔 좀 기본적으로 느껴져도 데모 영상의 최소 18분 지점까지는 꼭 봐야 함. 꽤 거칠게 흥미로워지고, 녹화와 재생 기능이 멋짐
Tanarus를 항상 떠올리는데, 언급하는 사람은 거의 못 봄
Rapier, 그 전에는 Cannon과 Ammo를 조금 알고 있는데, Box3D와는 어떻게 비교되는지 궁금함
덧붙이면 몇 주 전에 직접 3D 공간의 물리 엔진을 만들었고 여기에도 공유했음. 사실 일정 간격으로 물체를 아래로 내리는 한 줄짜리지만, 이미 놀랄 만큼 잘 작동함. 학습 관점에서는 정말 재미있으니 한번 해보길 추천함
며칠 전부터 Jolt를 써서 브라우저용 Tron 스타일 3D 게임을 만들기 시작했는데, 마침 이걸 보니 재미있음. 지금까지 Jolt는 꽤 잘 작동하지만 이것도 꼭 살펴볼 생각임
1 - 이 도메인은 몇 년째 가지고 있었음: https://lightcycles.io
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기