<aside>
⚠️
주의사항
- 부정확하거나 업데이트로 인해 갱신이 필요한 정보가 포함되어 있을 수 있습니다.
- 모드 제작 전 참고서와 제작 과정을 확인하세요.
- 공식 문서 페이지를 자주 확인하세요. 게임 업데이트 때마다 새로 구현될 기능의 사용례나, 업데이트로 인해 없어질 기능을 확인하는 데 필요합니다.
- 제작에 필요한 게임 내에서 기본적으로 제공되는 리소스 이외의 리소스(모델링, 텍스쳐 등)는 사용자가 직접 만들어 보면서 연습하는 것이 좋습니다. 어떤 차량을 만들지 먼저 확인하고, 그 차량에 맞는 모델링이나 텍스쳐 등을 확인하세요.
- 만약 기반이 되는 Jbeam을 직접 만드는 것이 아니라면, 자신이 만들 차량의 바디 스타일이나 차량 체급, 프레임 형식, 연식 등을 미리 확인하고, 이에 맞는 바닐라 차량을 선정한 다음 이를 편집하면서 제작하는 것도 좋습니다.
</aside>
<aside>
🚧
현재 상태: 일부 내용 작성 중
마지막 수정: 2024.09.10 (v0.32)
가용성 판단 여부: 일부 내용 제외 사용 가능
이 강의는 BeamNG.drive에서 사용되는 차량을 제작하는 방법에 대한 강의 문서이다.
빔엔지 드라이브(BeamNG.drive)는 2013년 개발이 시작된 소프트바디 시뮬레이터 게임이다. 연체동역학이라고도 불리는 소프트바디란, 3차원 좌표계에서 물체의 운동과 특성을 현실적으로 구현하는 물리 엔진을 연구하는 컴퓨터 그래픽 분야의 학문이다. 종이가 구겨지고, 옷깃이 펄럭거리는 등의 현실 세계에서의 물리적인 움직임을 컴퓨터로 계산해서 구현하는 것을 목표로 한다. 현재의 컴퓨터 기술에 발전으로, 이를 구현하는 것이 일반적인 물리 엔진으로 자연스럽게 이루어질 정도로 발전하여 다양한 게임에서 쓰이고 있다.
이 게임은 소프트바디 시뮬레이션 중에서도 자동차의 충돌과 이로 인한 효과를 구현하는 것을 목표로 하여 개발된 게임이다. 그에 걸맞게 게임 내에서 주어지는 차량에서는 다양한 기능을 구현하고 있다. 엔진 쪽에 어느 정도의 충격이 갔을 때는 엔진이 꺼진다던가, 자동차의 구동축을 구성하는 부품에 충격을 주면 자동차 거동에 문제가 생긴다던가, 유리와 조명이 깨진다던가 하는 것 역시 게임 내의 물리 엔진을 통해 하나 하나 구현할 정도로 정교하게 개발되었다.
당연히 이들을 모두 완벽하게 구현하는 것은 난이도가 높을 수밖에 없으며, 이를 극복하지 못하고 프로젝트가 좌초되는 경우도 많다. 이 강의에서는 그러한 과정을 조금이라도 쉽게 이해할 수 있도록 유도하는 것을 목적으로 작성되었다.
용어 정의
- 오브젝트: 빔엔지 내에서 사용되는 차량, 프롭을 전부 통칭하는 어휘이다.
- 제이빔: 게임 내에서 차량을 구성하기 위해서 만들어진 스크립트로 아래에서 자세히 설명할 예정.
- 컨픽: 차량 내에서 일정한 부품을 가지도록 하는 초기 구성.
- Jbeam은 BeamNG.drive에서 오브젝트를 구성하기 위해 만들어진 스크립트를 지칭한다. 데이터 저장에 특화된 언어인 Json 기반의 파일 구조를 가지고 있기 때문에 Json based Beam이라는 뜻을 가진다.
- 제이빔은 게임 내에서 스크립트로 활용되며, 그 사용 용도가 아주 다양하고 광범위하다는 특징을 가지고 있다. 단순히 게임 내의 오브젝트의 형태를 구현하는 것 외에도, 오브젝트가 가지고 있는 모든 성질을 이 스크립트 내에서 전부 정의할 수 있다.
- BeamNG.drive가 지향하는 소프트바디 기반의 충돌 시뮬레이터 구현이라는 목적에 맞게 이 제이빔 파일은 물리 관련 정보가 전체 제이빔 스크립트에 절반 이상을 차지하며, 구성 요소의 인수 역시 이와 관련된 인수가 대다수이다.
- Json: 제이빔 외에 차량의 기본적인 정보, 컨픽 정보나 머티리얼 구성 정보를 구성하는 데 사용되는 스크립트이다. 게임 외에도 기본적인 딕셔너리 형태의 정보를 저장하는 데 사용된다.
- 메시: 모드 폴더 내에서 사용자가 게임 내에서 직접 볼 3D 모델이다.
- 바닐라 콘텐츠
- 빔엔지 드라이브 내에서 기본적으로 제공되는 차량, 맵, 시나리오, UI 요소 등을 총칭하는 어휘이다.
- 바닐라 차량은 빔엔지 드라이브 내에서 기본적으로 제공되는 차량이며, 바닐라 제이빔, 바닐라 json은, 기본적으로 제공되는 바닐라 차량을 구성하는 제이빔과 json이다.
사용 리소스
강의에서 사용할 차량은 루미엔스 O32(lumiance_o32)이다.
이비슈 루미엔스 O32
강의자료 받는 방법