descr_mount.txt 에디트에 들어가기 앞서
나는 지금부터 전문가를 위해서가 아니라 거의 입문자 수준에 맞춰 설명을 할 것이다. 다만 글이 계속 이어져 가다보면 전문적인 내용으로 빠져들어갈 것이라 생각된다.

기초적인 설명 -언팩에 관하여
미디블 토탈워2(이하 MTW2)에서 말이나 낙타, 코끼리와 같은 탈것을 에디트하기 위해서는 data 폴더 안에 있는 descr_mount.txt 파일을 수정해야 한다. 그 외에도 unit_models 폴더 안의 battle_models.modeldb 파일을 수정해야할 필요성도 있다. 또한 export_descr_unit.txt 파일의 수정도 필요하다.
MTW2를 설치한 바로 직후라면 기본적으로 descr_mount.txt 등의 텍스트 파일은 존재하지 않는다. 다만 언팩을 하거나 카페 같은 곳에서 따로 언팩 파일을 받아놓은 사람이라면 그 파일을 지니고는 있을 것이다. 언팩툴은 제작사에서 기본적으로 제공하는 툴이니 따로 구할 필요가 없다. 언팩을 하는 방법은 MTW2가 설치되는 기본 경로를 기준 Medieval II Total War\tools\unpacker 안에 있는 unpacker.exe를 실행하면 된다. 언팩에 드는 시간은 쿼드나 듀얼 급의 컴퓨터라도 5분 정도는 걸리고 펜티엄4 같은 싱글cpu라면 잘 모르겠지만 10분~15분 정도는 걸리지 않을까 싶다. 언팩을 하고 난 뒤라면 흔히 알고 있는 유닛 에디트 때 필요한 export_descr_unit.txt 같은 텍스트 파일들이 data 폴더 안에 생긴 것을 보게 된다.

descr_mount.txt 파일을 연다
html 같은 웹에디트를 하거나 유니코드 등의 편집을 하는 경우가 아니기 때문에 지금의 단순한 텍스트 파일을 열어보고 또 저장하기 위해서는 따로 특수한 프로그램이 필요하지 않다. 더블클릭을 하면 윈도우즈의 경우 기본적으로 Notepad를 통해 열리게 될 것이다.

기초적인 탈것의 교체 방법
data 폴더 안의 descr_mount.txt 파일을 열어 ctrl+f로 찾기를 하든지 하여 heavy horse를 보자. 보이는 type heavy horse는 탈것의 아이디이다. export_descr_unit.txt 파일을 열었을 때 Mailed Knights의 mount 부분은 heavy horse이다. 그 mount 부분을 barded horse로 바꾼다면 Mailed Knights는 앞으로
descr_mount.txt의 type barded horse에 해당하는 말을 타고 나오게 된다. MTW2 에디트 초보자에겐 다소 복잡하게 보이겠지만 차근히 파일들을 열어 살펴보면 위의 설명은 앞으로 올 설명들에 비해 간단한 설명이다.

새로운 탈것의 추가
descr_mount.txt 파일의 어느 곳에든 글을 입력하여 새로운 탈것을 추가할 수 있다. 다만 type 란은 기존의 것들과 겹치지 않는 문자여야만 한다.

예제) mailed horse 부분을 복사하여 다른 곳에 붙여넣기 한 후 type 부분만 바꾼 것은 다음과 같다.
type                mailed horse2
class                horse
model                Mount_Mailed_Horse
radius                1.8
x_radius            0.8
y_offset            0.7
height                2.5
mass                2
banner_height        0
bouyancy_offset        1.8
water_trail_effect    horse_water_trail
root_node_height    1.0
;rider_offset        0.0, 0.45, 0.35
rider_offset        0.0, 0.38, 0.70

각  항들의 설명
앞으로 내가 '항'이라고 하면 type나 class 같은 앞의 문자열을 가리키는 것이고 세부항이라고 하면 뒤의 mailed horse, horse,
Mount_Mailed_Horse 같은 것을 가리키는 것이라고 알면 된다.

type : 유닛의 아이디로서 이 아이디는 battle_models.modeldb, export_descr_unit.txt 등과 연결되는 것이라는 것만 일단 알고 있으면 된다.

class : 유닛의 종류로서 horse(말), camel(낙타), elephant(코끼리)가 있다. 이 class항을 horse로 해놓고 model 항에 오는 외형을 camel이나 elephant로 만들면 오류로 인해 게임이 실행되지 않는다는 것을 주의해야 한다. 또한 elephant에서만 쓰이는 tusk_z 같은 항을 horse 형식에 사용하는 것도 오류를 발생시키므로 에디트를 하고자 할 때는 정해진 편집규칙을 잘 따라야 한다. 이것은 이미 내가 해보고 오류가 된다는 것을 경험한 바가 있는데 정 해보겠다면 그 사람의 실험정신을 꺾지는 않겠다. 코끼리 뿔공격에 사용되는 항인 attack_delay, tusk_z 등이나 코끼리가 넘어질 때 주변 유닛들에게 피해를 줄 수 있는 범위 dead_radius 같은 항이 왜 horse나 camel 형식에 적용이 되지 않느냐면 그것은 descr_skeleton.txt 파일과 밀접한 관계가 있다. 내가 지금 설명하고 있는 것은 주로 descr_mount.txt 파일에 관한 것이지만 이처럼 유닛 하나의 세부속성을 바꾸려고 하면 거의 7~8개 파일에 대한 설명이 다 필요하게 된다. 다만 이미 있던 탈것을 바꾸는 방법은 앞서 설명한 바와 같이 export_descr_unit.txt 파일 안에 있는 mount 부분에다가 descr_mount.txt 파일 안의 type 항에 있는 것을 쓰면 된다. 그러나 그것도 본래 뭔가를 타고 있는 병사일 경우에만 해당하고 보병을 기마병으로 바꾸고자 할 때는 또 다른 방법이 필요하다는 것을 유념해야 한다.

model : 탈것의 스킨과 뼈대 부분을 담당하고 있다. 이것은 아래에 '탈것의 스킨 변경하기'에서 다루도록 하겠다.

radius, x_radius, y_offset : 뼈대 크기와 위치를 뜻하는 것으로서 탈것이 할당 받는 범위이다.

height : 탈것의 높이. 성문의 기본적인 높이는 7 정도이기 때문에 만약 성문높이 보다 크게 설정하면 통과하지 못한다. 쉽게 예를 들어 투석기의 height는 10을 넘기므로 성문을 통과하지 못하는데 그것을 6 정도로 잡으면 투석기가 성문을 통과할 수 있게 된다. 이처럼 height, radius 수치는 눈에 보이는 스킨의 크기와 관계가 없고 실질적인 물리엔진, 쉽게 말해 투명뼈대에 연관이 있다.

mass : 이것은 무게가 아니라 힘이다. 흔히 질량이라고 말하기도 하는데 descr_mount.txt 파일에 있는 mass의 경우라면 쉽게 말해 사물을 밀쳐내는 힘을 뜻한다고 보면 된다. 이것이 높게 설정되어 있다고 해서 탈것의 달리기 속도가 느려지지는 않는다. 단지 적을 밀쳐내는 힘이 강해지는 것이고 내가 mass를 15로 하고
돌격이 아닌 단순 달리기 이동으로 보병에게 부딪혀본 결과 그대로 보병을 쓰러뜨리며 달려가는 것을 알 수 있었다. 수치를 14로 했을 때는 최고 속도일 경우에만, 그것도 가끔씩만 보병을 쓰러트릴 수 있었는데 즉 14.5~ 15 정도가 보병을 쓰러트릴 수 있느냐 하는 것의 기준으로 보인다.

bouyancy_offset 과 root_node_height의 경우는 '방해된다고 여겨지는 물체의 높이'라고 생각하고 있으나 확실하지 않다. 말을 타고 달리다 보면 앞에 물체가 있을 때 말이 앞발을 들고 껑충 뛰는 것 같은 모습을 보이는 경우가 있다. 아마 그것과 연관이 있는 항목이라고 생각을 하지만 좀 더 연구가 필요하다.

water_trail_effect  : 이것은 강을 건널 때 물튀김과 물번짐 등에 연관된 것으로 막연히 생각하고 있다. 따로 수정할 필요가 없으므로 연구는 해보지 않았다.

rider_offset : 이 축은 각각 말 위에 올라탄 기수의 위치를 정하는 것이다. 말에 앉아있는 모습으로 아주 공중에 뜬 상태로 만들 수도 있고 기수를 땅 속에 숨겨버릴 수도 있다.

탈것의 스킨 변경하기
탈것의 스킨은 data\unit_models 폴더 안의 battle_models.modeldb를 해부해야 한다. 그 파일을 더블클릭 하여 Notepad(메모장)에 연결시켜 보자. 초보자가 본다면 벌써 포기하려는 마음이 생길 지도 모른다. 하지만 그냥 한 번 보도록 하자.
가장 위에는 22 serialization::archive 3 0 0 0 0 701 0 0 10 ~~~~ 라는 열이 보인다. 모드 때문에 다른 경우도 있지만 일단 오리지날에서는 위와 똑같다. 위의 701은 모델의 숫자를 뜻한다. 모델이라 함은 export_descr_unit.txt 파일을 열었을 때 armour_ug_models 항에 보이는 것과 descr_mount.txt 파일 안의 model 항에 있는 것들을 말한다. 그것들이 701개라는 뜻이다. 만약 모델을 하나 추가했다면 701을 702로 수정하고 저장하여야 게임시작에 오류가 생기지 않는다.

먼저 descr_mount.txt 파일의 heavy horse를 보자. model 항이 Mount_Heavy_Horse로 되어있는 것을 볼 수 있다. 그러면 battle_models.modeldb 에서 ctrl+f로 Mount_Heavy_Horse를 찾아보자.

17 mount_heavy_horse 1.12 3 58 unit_models/Mounts/Heavy_Horse/mount_heavy_horse_lod0.mesh 121 58 unit_models/Mounts/Heavy_Horse/mount_heavy_horse_lod1.mesh 1225 58 unit_models/Mounts/Heavy_Horse/mount_heavy_horse_lod2.mesh 10000 24

위와 같은 게 보인다. 이것을 이대로 줄을 바꾸지 않은 채 놓아도 되지만 앞으로 자주 에디트를 하기 위해 편해지고자 한다면 이것의 열을 보기 좋게 만들 필요가 있다.
미디블 토탈워2 battle_models.modeldb 파일에 대한 기초적인 이해 

descr_mount.txt에 새로운 type를 만들어 놓고 그것의 이름을 ganadara 라고 정했다면 마찬가지로
battle_models.modeldb의 끝 부분에 추가를 하든지 ganadara 라는 문자를 넣으면 된다. 그럼 그 문자열은 처음이 8 ganadara가 될 것이다. 즉 그 이후에는 기존의 말 스킨에 해당하는 열들을 복사해서 붙여넣기만 하면 된다.
그리고 그 ganadara라는 모델을 사용할 나라가 자신의 나라 venice 하나 뿐이라고 한다면 1, venice의 문자는 6개이니 6 venice, 정리해서 1 6 venice를 써넣은 다음 기존의 texture 항목을 그대로 복사하던지 아니면 data\unit_models\mounts\heavy_horse\textures를 참고하면 된다. textures 폴더 안을 보면 자신이 사용할 해당 나라의 스킨이 없는 경우가 있다. 그럴 때는 다른 나라의 스킨을 이용하면 된다.
가장 궁금해하는 것 중에 하나일 텐데, 겉모습은 갑주마이면서 빠르기는 경기병으로 할 수 있는 방법은 다음과 같다.

0 1 5 Horse 8 fs_horse 0  0 0 -1 0 0 0 0 0 0
위의 것은 battle_models.modeldb 파일을 열면 보이는 mount_heavy_horse의 끝부분이다. 보면 알겠지만 fs_horse를 fs_fast_horse로 바꿔주면 heavy horse는 겉모습을 그대로 유지한 채 빠르기는 경기병처럼 된다.


*궁금한 사항이 있을 때에 덧글을 쓰면 성의껏 답변하도록 하겠다.
2009/04/28 16:03 2009/04/28 16:03
byecrazy 이 작성.

Trackback URL : http://byecrazy.com/trackback/137


당신의 의견을 작성해 주세요.

« Prev : 1 : ... 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : ... 118 : Next »