1. 개요
리볼트와 RVGL의 컨텐츠의 제작을 안내하는 문서이다.고해상도 텍스처, 최신 3d기술, 신규옵션의 호환을 위해 최신패치가 활발히 이루어지는 RVGL의 사용을 추천한다. 오리지널 리볼트의 경우, 20년전의 텍스처의 개수와 품질의 제한과 애니메이션 모델링 미작동 등등으로 인해, 이 안내를 똑같이 따라하기 힘들다.
2. 맵 제작 요약
3D 그래픽 프로그램을 몰라도, 기본 포함된 트랙 에디터로 만들 수 있다. 인터넷에서 찾다보면 아예 새로운 트랙을 만든 수준으로 퀄리티가 매우 뛰어난 커스텀 트랙도 볼 수 있다.3. 차량 제작 요약
기본 차량의 모델에 텍스처를 바꿔서 만드는 간단한 것부터, 처음부터 끝까지 직접 모델링하는 방법이 있다.Re-Volt World 같은 리볼트 커뮤니티들을 뒤지다 보면 독특한 차량을 많이 찾을 수 있다. 실존하는 자동차들은 널려있는 수준이고 카트라이더의 우퍼 X/웨이브 X[1] 같은 다른 레이싱 게임의 차량부터 큐브, 피자, 고고씽3 같은 배틀로봇[2]도 있다.
더 기상천외한 쪽으로 가보면 그래픽 카드, 나방, 거꾸로 가는 차,[3] 등등이 있다.
3.1. 차량성능과 텍스처 변경
1. 기존 차량의 폴더를 복사 붙여넣기해서 원하는 이름으로 설정한다.2. 아까 이름을 바꾼 폴더에 들어있는 parameter.txt 파일을 열어 원래 차량 폴더의 이름으로 되어 있는 경로를 바꾼 이름으로 변경한다. 성능 조절 방법은 차량 폴더에 있는 parameters.txt를 편집하면 되는데, 여기를 참고.
3. 텍스처 파일인 car.bmp 를 포토샵 등으로 자기입맛에 맞게 편집한다.
이 때 Blender등의 프로그램으로 차량의 UV 배열 이미지를 만들어서 가장 위쪽 레이어로 두면 리페인트시 엉뚱한 곳에 무늬가 들어가는 일을 예방할 수 있다. UV배열상으로 전혀 다른 부분이 이상하게 겹쳐져 있는 일이 꽤나 많기 때문. 처음 리페인트에 도전한다면 되도록 리페인트 킷을 제공하는 유저 차량을 추천하고,[4] 기본 차량 중에는 텍스처가 단순한 Adeon, Toyeca, Humma, Cougar, RG1을 기반으로 리페인트하는 것을 추천한다.
이 단계는 그래픽 툴을 다루는 능력과 디자인 센스가 크게 필요하다. 하지만 이 능력들은 리볼트 문서에서 다룰 내용이 아니니 나무위키의 관련 문서나 또는 관련 서적을 찾아 읽어서 길러보도록 하자.
4. 3D모델링 불필요
4.1. TrackEdit.exe에디터 사용법
오리지널 리볼트 정품, editor폴더에는 TrackEdit.exe 프로그램이 있다.이 에디터는 리볼트 개발사 어클레임의 파산으로 인해 업데이트가 중단되어, 유저가 비공식적으로 업데이트를 했었다. 여기 에서 받을수 있으며, 마지막 버전은 1.1a15.0301이다. 바뀐점은 해당링크의 Changelog참고. 유저 최종 버전도 윈10에서 듀얼모니터 사용시 에러가 뜨지만 원본 에디터는 버그가 더 심하기에, 유저 업데이트 버전을 권장한다.
그 후 해외유저가 윈도우, 리눅스, 안드로이드, 맥에서도 사용할 수 있는 신버전 TrackEditor를 만들었다.
설치 링크 <-여기에서 가장 최신버전 TrackEditorUnity_Win_x86.zip을 다운받아 압축풀고 editor폴더를 RVGL설치경로\editor 폴더에 복사하면 된다.
개선사항
- 위에 설명한 윈10,11에서 듀얼모니터 사용시 에러등등의 버그가 수정되었으며, 계속 업글되는 변경사항은 https://github.com/Dummiesman/ReVoltTrackEditor/ <-이곳의 안내를 구글번역기로 참고할것. F1키로 새로 생긴 단축키와 기능을 파악할것. esc키는 메인메뉴이다. 게임패드가 있다면 안드로이드 휴대폰에서도 작업할 수 있다.
자세한 사용방법과 단축키 설명은 영문문서를 참고할것.
나중에 꼭 알아야 하는 단축키와 팁등을 한글로 설명할 예정이다.
TrackEdit.exe로 만든 맵을 RVGL Blender플러그인으로 가져오는 영문 설명. 오직 TrackEdit.exe만으로 맵을 만들 경우, 무시해도 되지만 Blender에서 2차 가공할 경우 이런식으로 변환 안하면, TrackEdit버전에 따라 에러가 날 수 있다.
4.2. RVGL 인게임 수정메뉴 사용법
4.2.1. 인게임에서 3D객체 변경
첫번째 맵에서 나오는 포트레인, 자동차, 농구공, 주차고깔 등등의 객체의 위치, 각도, 축소,확대를 인게임에서 할수 있다. 또한 자신이 만든 3D객체도 인게임에서 간단하고 빠르게 삽입할 수 있다. RVGL Blender플러그인 에서 설명한 폴리곤 갯수 제한을 해결하기 위해, 맵을 몇등분해서 나누고 인게임에서 여러개를 불러온후 다시 합치는 용도로도 사용한다.주요 단축키를 요약하면 아래와 같다. 더 자세한 내용과 강의 동영상은 차후 추가예정.
F4 | 수정 | |
Ctrl+F4 | 저장 | |
Insert | 새 객체 삽입 | |
Tab | 이동할 좌표의 위치를 지정할 수 있다. |
개체를 마우스 클릭하고 엔터치면 수정할 수 있다.
모든 단축키가 나온 사진. 차후 번역될 예정이다.
4.2.2. 인게임에서 차량 AI 노드 작업
TrackEdit.exe에디터 나 3D 모델링으로, 맵을 만들고 RVGL에서 불러오면, 인공지능 차량들이 운전을 안 할것이다.인공지능이 운전할수 있도록, AI 노드라는 선을 인게임에서 그려줘야 한다. 어디에서 커브를 어느정도 감속해서 돌고 등등의 작업을 해주면 된다. 그러면 AI자동차들은, 도로가 차량들로 번잡한 상황에서 그선을 완벽하게 따라가지는 않고 어느정도는 적절히 대응을 한다.
최신 영어 문서
이 유튜브 동영상과 Extreme Trackmaking Tutorial - English.zip 을 참고.
차후 번역예정
4.3. 맵과 차량 설정파일들 해설
4.3.1. 차량 폴더 속 parameters.txt
- Handling
- Topspeed - 최고 속도.
- CoM - 무게중심의 위치. Y값이 너무 낮으면 물폭탄과 폭죽을 자기가 맞고, 오버스티어 성향이 강해진다.
- Body
- Offset
- Mass - 차체의 무게.
- Inertia - 관성.
- Wheel
- Offset1 - 겉으로 보이는 바퀴의 위치. Y값이 작아질수록 위로 올라가니 주의.
- Offset2 - 실제로 계산되는 바퀴의 위치.
- EngineRatio - 바퀴의 회전수. 차량의 성능에 있어 제일 중요하다.
- Radius - 바퀴의 지름. 제대로 설정하지 않으면 바퀴가 둥둥 떠다닐 수 있다.
- Grip - 그립력. 너무 높으면 커브를 돌다 미끄러질 수 있다.
- MaxPos - 바퀴가 상하로 움직이는 정도. 너무 작으면 넘어지기 쉽다.
- 기타
- Class - 차량의 엔진음을 결정한다. 0으로 두면 전기, 1로 두면 엔진, 2로 두면 1과 동일한 소리가 난다.
- Flippable - True로 하면 차가 뒤집어져도 구동된다. 바퀴 위쪽이 열려있는 차량에서 이것을 False로 하면 뒤집혔을 때 반대로 움직인다.
링크 1 링크 2 이 내용참고. 차후 번역예정.
4.3.2. 맵.inf
이 내용을 참고하자.
차후 번역예정.
4.3.3. 맵properties.txt
이 내용을 참고하자. 차후 번역예정5. 3D모델링 필요
5.1. RVGL ↔ Blender 플러그인(유저 맵과 차량 모델링 변환용)
Blender 플러그인의 설치방법은 여기에 영문으로 나온다. 번역과 동영상 설명예정.Blender는 사용료가 없는 자유 SW 프로그램이다. Blender는 최신 버전이 아닌 2.79b~ 2.79.7 버전까지만 RVGL 전용 플러그인을 쓸수 있다. windows64_포터블.zip 무설치 버전을 사용하면 Blender구버전도, 신버전도 골라서 실행할 수 있다. 이 링크에서 다운받아서 한글 폴더명이 없는 곳에 압축을 풀어서 무설치로 바로 사용하면 된다. 본 모딩 안내를 편하게 따라 하려면 C:\\dev\\3D\\blender2.79.7 이 위치에 압축 풀어서 무설치로 사용 할 것을 권한다. 이 경로는 코딩으로 게임 텍스처들의 경로를 자동으로 적용하는 강의에서도, 계속 언급할 예정이니 같은 위치를 쓰면 좋다. 위에 Blender 프로그램은 rvgl수정을 위한 최적화 버전이다. 2.79.7버전이며, 많이 쓰는 2.79b보다 버그가 수정된 상위버전 이다.
이 링크에서 Blender 전용 RVGL맵+차량 편집용 플러그인은 여기서 다운받으면 된다 이것을 C:\\dev\\3D\\blender2.79.7\\2.79\\scripts\\addons\\io_revolt 에 압축을 풀자. 차후 이 파이썬 소스코드도 수정할 예정이다. 그리고 Blender에서 위 플러그인을 활성화하는 방법은 [[https://re-volt.gitlab.io/re-volt-addon/installation.html]|이 링크]에서 배울 수 있다.
블렌더로 3d 모델링의 기초를 공부하려면 유튜브 강의시청은 필수다. 다음의 Blender 버전은, 최근 무료 강의를 보고 따라 하기 위한, 안정화 된 최신 버전이다. -> https://download.blender.org/release/Blender2.93/blender-2.93.7-windows-x64.zip
본 모딩 안내를 편하게 따라 하려면 C:\\dev\\3D\\blender2.93.7 이곳에 압축 풀 것을 추천한다.
위에서 언급한것처럼 3d 모델링의 기초를 배워 블렌더 기초사용법을 익힌 사람들은 아래의 문서를 보면 된다.
블렌더로 맵과 텍스처를 제작하는 방법을 상세히 설명한 영어 문서이다. 이렇게 해서 맵을 만들었다면, 그 맵에서 차량AI 노드 작업까지 해줘야 AI자동차들이 움직인다.
아래는 Blender 플러그인을 설치한 후, 할 수 있는 작업들의 예시다.
플러그인을 설치하면 폭죽미사일 모델링이 담겨져 있는 firework.m 리볼트 파일을 Blender에서 불러 올수 있다. 수정된 모델링을 아이템명.m 리볼트 파일로 내보낼 수 있다. 이런식으로 리볼트의 폭죽아이템을, 눈싸움 아이템으로 변경한다. 이작업은 물체 충돌파일을 변경하는것은 아닌 눈으로 보이는, 모델링만 변경하는것이므로 멀티플레이에서 사용해도 반칙이 아니며, 치트로 감지되지 않는다. 단 아이템, 차량, 맵의 충돌파일까지 변경한것을 멀티에서 사용시, 반칙이며 치트로 인정된다. 리볼트의 충돌 파일은 .hul, .ncp 확장자이다.
맵파일을 수정하는 방법이다. levels/맵이름/ 폴더안의 맵이름.w 파일을 불러워서 수정할 수 있다. 맵이름.ncp가 위에서 언급한 물체 충돌파일이다. w만 변경하고 ncp를 수정하지 않으면, 위에서 말한것처럼 치트가 아니다. 위 동영상에서 나온 ncp관련된 멘트는 무시하면 되는데, 다른곳을 수정하다가 폴리곤 갯수가 너무 많아져서 그런 것이다. 폴리곤 수가 적당하다면 에러메세지 없이 ncp를 내보낼 수 있다. w보다 ncp가 폴리곤개수의 크기에 민감하다. 따라서 해외유명 제작자들은 w와 별도로 ncp의 폴리곤을 더 단순화해서 생성한다.
맵의 모델링뿐만 아니라, 폴리곤과 UV영역을 적절히 변경하면, 텍스처도 부분적으로 변경할수 있다. 맵의 텍스처를 변경했으면 w파일을 저장해야 반영되고, 마찬가지로 ncp를 수정하지 않으면, 위에서 말했듯이 치트로 분류되지 않아 맵 암기가 어려운 레이싱 초보들은 텍스처로 벽에 화살표를 표시하여 내비게이션을 만들 수도 있을것이다. [5]
주의사항으로 .dae로 내보낸 모델을 불러와 그대로 .prm으로 내보낼 경우 UV 정보가 유실되어 하얀색으로 나오는 버그가 있다. 정확한 원인은 불명이지만 .obj로 내보낸 다음 다시 불러와 .prm으로 내보내는 것으로 해결할 수 있다.
5.2. RVGL ↔ 3ds Max 변환 유틸리티 프로그램
3DS MAX->.ase 추출 ->ase2w로 월드생성(.w,.ncp둘다 나옴)의 방식으로 만들어진다. ase2w는 rvtmod8툴안에 포함되어 있으며, 해당툴을 만든 개발자가 CPP소스코드까지 공개했다. 다운로드할 수 있는 링크위 페이지에 나오듯이 GUI가 아닌 cmd명령을 통해서 만들어야 하고, CMD를 관리자 권한으로 실행해야 한다.
명령어 예 |
ase2w -pw 파일명 |
이렇게 해서 맵을 만들었다면, 그 맵에서 차량AI 노드 작업도 해줘야 AI자동차들이 움직인다.
5.3. 3D 포토 스캔과 ZBrush를 통한 맵 제작
고가의 3D 스캐너는 비용부담이 크다. 그렇기에 사진을 통한 3d 인공지능 소프트웨어를 추천한다. 해당 소프트웨어는 스팀에서 매달 구독형으로 구입할수 있다.또한 시간단축과 에러방지를 위해 상급의 그래픽카드와 고용량 램, SSD가 필요하다. 스캔을 위해 사진을 여러 장 촬영하면 수천장이 나오는데, 어느 제작자는 인공지능이 더욱 발전한 미래에 다시한번 인식하려고 백업해 둔 결과 40GB의 용량을 사용했다. 그렇기에 4k 동영상 촬영이 가능한 장비로 동영상을 촬영하여 프레임캡처로 자동으로 사진파일을 만드는 방법을 추천한다. 팁으로 해당 동영상은 유튜브에 비공개링크로 백업하면 백업용량 부담도 덜하다. 3D스캔을 위한 촬영을 많이 할수록, 익숙해질수록 인식률이 높아진다. 자녀가 있다면 이런 인게임 3D스캔연습은, 자녀의 3D설계 동영상 소스를 유튭에 백업함으로 돌아오지 않는 3D 추억을 미래 AI가 복구할수 있게 해주는 의미도 있다. 동영상에서 일정간격의 사진을 자동으로 추출하는, 아래 영상 업로더가 만든 프로그램은 추후 공개 예정.
4K 60 fps촬영장비로는 2020년이후에 출시된 삼성, 애플 스마트폰을 추천한다. 스마트폰은 작은 크기로 인해 아날로그 손떨림 방지기능이 디지털 떨림방지에 비해 많이 떨어지므로 직구로 15만원 이상의 짐벌의 구입을 추천한다. 또한 폰카메라의 조도센서의 한계 때문에 낮에 자연광에서 촬영을 권한다.
디지털 카메라의 경우 2021년 기준 300만원 이상의 시네마틱 디카정도면 4K동영상을 연속촬영을 지원하면서, 그럭저럭 쓸만하다. 100만원대 fullHD동영상 촬영이 가능한 디카의 경우 4K 60 fps가 아니다 보니까 고도가 높은 곳의 3d스캔인식이 잘안되는 경우가 있고 4K연속촬영이 안되거나, 복사속도가 폰FTP에 비해 느린경우가 있다. 비싸고 휴대성은 떨어지는데 짐벌+폰과 비슷한결과가 나오는 디카도 있다. 시간이 많고 자연광에서의 촬영이 힘들다면, 폰보다 좋은 적당한 디카로 수천장의 사진을 촬영 하는 방법도 있다.
좌측 영상은 영상 업로더가 소유한 k989라는 이름의 실제 RC카이고, 우측은 위 실제 RC카를 3d 포토스캔으로 가상 RC카로 만든 예시이다. 바퀴와 하채와, 폴리곤을 다듬는 작업은 아직 안 한 버전이다. 포토스캔한 저 자동차는 폴리곤 개수가 매우 많아서, 고성능 컴퓨터만 랙없이 돌릴수 있다. 따라서 차후에 저사양컴과 안드로이드에서도 돌아가도록, ZBrush로 해당 폴리곤을 매끄럽게 바꾼후 개수를 줄이는 방법을 올릴 예정이다.
이것은 실제 학교건물을 스캔한후 RVGL에 적용한 결과이다. RVGL Blender 플러그인에서 설명한 폴리곤한도 초과때문에, 3d객체 수정으로 운동장과 학교건물을 분리한후, 인게임에서 다시 합친 결과이다. 원본 포토스캔의 품질은 저것보다 좋다. 따라서 더욱 많이 분리한후 합칠수록 디테일은 살아난다.
위의 사진은 같은 학교의 스캔 원본이다. ZBrush보정 작업때 정성과 시간을 충분히 투자할수록, 원본 디테일이 살아난다. 하지만 저사양컴과 안드로이드에서의 랙도 줄이려면 폴리곤최적화도 필요하다.
현실세계의 5km 제곱의 영역을 3d스캔해서, RVGL에서 1개의 3D객체로 .w와 .ncp를 생성해서 적용한 영상이다. AI가 자동으로 폴리곤 수를 최적화 한것임으로, 사람이 수작업으로 줄였다면 더 깔끔할것이다. RVGL Blender플러그인에서 설명한것처럼 .ncp용 폴리곤을 따로 만들고, 3d객체 수정으로 나누어서 합친다면 시간이 매우 많이 걸리겠지만 더욱 더 깔끔할 것이다.
하지만 위 영상을 올린이는 모딩자유도가 높은 RVGL로 지인과 가족을 위해, 다양한 장소의 도로암기, 주차연습, 교통사고방지 시뮬용 비공개 맵들을 많이 만들어서 쓰기에 시간상 자동화를 이용한다. 3D스캔으로 만든맵에서 주차연습을 할때는 실제RC카 조정기를 RVGL에 연결을 사용하면 미세하게 조향, 엑셀, 브레이크를 사용할 수 있어서 유용하다.
참고로 이 기술을 "Photogrammetry"라고 부르며 MSFS2020과 Google Earth에서도 사용되고 있다.
5.4. 맵제작 팁과 강의
5.5. 차량제작 팁과 강의
[1]
RVGL의 스킨 시스템을 이용해
우퍼 X와
웨이브 X를 오갈 수 있다.
[2]
스피너 시스템을 이용해 블레이드도 회전하도록 만들었지만 아쉽게도(?) 리볼트 시스템상 충돌 판정이 없다.
[3]
차를 아예 뒤집어 만들었다(...).
[4]
기본 차량은 UV 배열이 매우 난해하기 때문.예를 들면 Cougar는 무늬를 좌우반전해서 넣어야 하고, Adeon은 오른쪽 앞문과 앞 펜더가 겹쳐 있다.
[5]
해당 비영리 강의를 만들기 위해
걸그룹을 써도 되는지,
2차창작에 관대해서
한류에 기여한
SM엔터테인먼트에 메일을 보냈는데 아직까지 답변이 없다. 아쉽지만 잘 알려진 실물이라
fov최적화까지 설명할 수 있는
걸그룹을 포기하고, 공개된
텍스처로 바꾼후
UV영역을 바꾸는 강의를 차후에 올릴 예정이다.