제목은 HMD 추가하는법인데 사실 유저미션 자체를 제외한 유저미션 커스텀화에 대해 전반적으로 적으려고함


1. 구조


대충 이런식으로 미션이 이루어져있고

gameData안에 있는 내용은 데이터마이닝 자료와 일치함


이상한게 gameData 안에 커스텀값 집어넣은거 쓰려면 content/pkg_local/res 안에 기체모델링(dxp.bin/grp)이 반드시 필요함

그냥 Su-57 모델링 쓰겠다고 이름만 툭 적어두니까 무한로딩에 걸리더라

심지어 인겜에 이미 있는 모델링 쓰겠다고 해도 무한로딩에 걸림


2. 준비물

위에서 말했제?

모델링 파일 적당한거 집어들으세요


나도 한번 새로 해볼겸 F-22 파일 하나 적당한거 잡아서 넣어봄

https://live.warthunder.com/post/898995/en/


3. 만들거


위에 적은 바로는

flightmodels/fm/기체fm

flightmodels/fm/무장프리셋

flightmodels/기체

sensors/레이더

sensors/rwr

weapons/rocketguns/커스텀미사일


인데

레이더는 진짜 글 하나 전부로 써도 부족할 정도로 양이 방대하고

커스텀미사일은 그냥 값 몇개 딸깍거리면 되는거라 

패스


그럼 남은건

flightmodels/fm/기체fm

flightmodels/fm/무장프리셋

flightmodels/기체


4. blk 파일 규칙

https://github.com/gszabi99/War-Thunder-Datamine

데이터마이닝 자료를 따라간다고는 했는데 위 자료를 10000% 따라가는건 아님

사유는 저건 보기 편하게 편집해둔거라...


blk 파일의 규칙은 유저조준경이랑 비슷함. 사실 같음

https://wiki.warthunder.com/User-made_sighting_reticles#Editing_the_.blk_file_of_the_sighting_reticle


블럭{

  변수:타입 = 값

}

이런식인데

블럭이름, 변수이름, 값은 마이닝 따라서 쓰면 되는데 타입이 문제일거임

타입의 종류에는

- t: "텍스트"

- i: 정수

- r: 실수(소숫점 있는거)

- b: Boolean(예/아니오). 참고로 true/false 말고도 yes/no도 가능함

- p2: 값, 2개

- p3: 값, 3, 개

- p4: 값, 4, 개, ㅇ

뭐 색깔 값으로 c = r, g, b, a 이런것도 있는데 잘 안쓰니까 패스


가끔가다 배열형식으로 A = [ 1, 2, 3, 4, 5, ...] 이런형식이 있는데

A=1

A=2

A=3

...

이런식으로 풀어서 쓰면 되더라잉



5. 기체fm

위에서 막 데이터마이닝 자료는 실제로 쓰는거랑 다르다! 막 이렇게 적어두긴 했는데

일단 대강적인 흐름은 같으니까 뭐 하나 집어와보자


맹구FM

https://github.com/gszabi99/War-Thunder-Datamine/blob/master/aces.vromfs.bin_u/gamedata/flightmodels/fm/mig_29_9_13.blkx

이렇게 되어있는걸

이런식으로 일일히 알아서 잘 고쳐주면 됨

나야 뭐 규칙이 있으니 RegEx로 일괄변환 시키는 방식으로 했는데


1570줄인데 어떻게하죠?

다른 유저미션 적당한거 하나 잡아서 가져오세요


엔진추력이나 최대속도 같은걸 여기서 바꿀수있긴함


추력 올리는건 ThrustMax0 고치거나 다른거 건들면 되고



최대속도 관련은 VNE / MNE로 찾으면 됨



저 CritOverload 고쳐서 날개 안부러지게 하는거 잊지말구



6. 무장프리셋

놀랍게도 간단함!

이 규격만 지켜주면 됨


커스텀 미사일 쓰고싶으면 적당히 뚞딲 만들어서

ㅇㅇ


저 Weapon 블럭이 1개 있으면 무장 1개 가지고 출격하는거고, 100개 있으면 100개 가지고 출격하는거고

원하는만큼 붙여넣기 하면됨


7. 기체

음 이것도 FM처럼 적당한거 잡아오는걸로 시작하면 되는데


사실 여기가 가장 까다로움


24번줄 이하의 나머지 부분은 그냥 원본 따온파일 그대로일거임


7번줄 센서를 원하는 레이더로 바꾸면 되는게 이 글 제목의 핵심이긴한데


진짜 주의할게 22번 model

아까 맨 첨에 기체 모델링 받으라고 했제?

그거 없으면 그냥 무한로딩 걸려서 Alt+F4 눌러서 강제종료해야함


참고로 조종면에서 떨어진 HMD 쓰고싶으면 2줄 추가하셈


hmdShelZoom:b=true
hasHelmetDesignator:b=true


적어도 hasHelmetDesignator는 추가해야 작동할거임



참고로 G락 관련 부분도 여기서 해결할수 있는데


이상하다 예전엔 잘된거같았는데 왜 다시 테스트해보니 뭔가 효과가 적은데



8. 결론


아무튼 잘 가지고 놀으셔들