ПОМОЩЬ ПО РАБОТЕ С ПРОГРАММОЙ ZMODELLER
Содержание

Часть 1 "Изготовление модели"

Часть 2 "Нанесение текстур"

Часть 3 "Иерархия и заглушки"

Часть 4 "Установка модели в игру"

Изготовление модели - Часть 1

Для начала стоит напомнить что этот мануал не является учебником по ZModeller, а рассчитан только на помощь в создании 3d моделей для GTA 3 и предполагает некое умение обращаться с ZM. Неплохой мануал по ZM можно утянуть здесь ,и хотя он предназначен для NFS, там есть кое-какие полезности общего плана. Для работы вам потребуются мало-мальский графический редактор, IMGTool для извлечения .dff  и .txd файлов и TXDTool или TXDGold или любая другая прога для добавления и извлечения текстур. Это все можно скачать из из меню внизу стр.

1.1 Введение

Первое что вам надо сделать, - это запастись чертежами желаемой модели авто, лучше всего отцентрованными и с размерами 256х256 или 512х512. Найти их можно по адресу http://www.suurland.com/ или набрав в поисковике blueprints, хотя пойдет и чертежи. Ну а если вы сами себе Бертоне и Пининфарины с Поршами в придачу, то они вам конечно не понадобятся. От себя лично добавлю, что при установке точных размеров будущей модели, было бы невредно импортировать из файла gta3.img с помощью IMGTool, .dff файл модели которую вы хотите заменить и под него подогнать фоновый рисунок, потому что разница между чертежом и моделью бывает довольно ощутимая, а в результате среднеразмерная легковушка выглядит больше чем Patriot ,  или макушка водителя дырявит крышу, чем безусловно портит впечатление от всей, зачастую великолепной, работы.

1.2 Модель

Создайте корпус машины целиком. Для этого выберите меню Create\Surface\Flat и разместите прямоугольник так чтобы он покрывал большую часть машины при виде сбоку. Затем пользуясь Modify\Move раздвиньте его по контуру машины так,чтобы получилась своего рода "скорлупа", но сохранялась прорисовка дверей, окон и т.д. Если нужно добавляйте плоскости Create\Faces... (вообще-то их , Faces, часто называют лица, но я предпочитаю плоскости). Пользуйтесь видами со всех точек (верх, сзади, спереди). И еще, лучше создать только половину модели (правую или левую), а потом после доводки и нанесения текстур слить, но об этом ниже. В результате получается примерно следующее (см. рис.1)  После этого можно начинать разбивать модель на составляющие.

1.3 Составляющие

Из того, что у вас получилось вам надо вырезать следующие части:

Двери - doors front, rear (передние и задние, если есть)

Капот - bonnet

Багажник - boot

Передние крылья - wings front

Лобовое стекло - windscreen

Бамперы - bump front, rear (передний и задний)

После этого у вас останутся некоторые части, которые лягут в основу Шасси - Chassis. Как это сделать?

рисунок 1

 1.4 Разбивка

Для начала определите то, что вы будете вырезать. Например это будет дверь. Переключитесь в режим плоскостей (клавиша 3), затем Select\Single и правой кнопкой мыши выделите нужную вам область. Потом Create\Objects\Detach и нажмите внизу SEL (Пробел) и левой кнопкой мыши кликните выделенную область. В появившемся меню назовите ее как угодно (напр. front_door), после чего спрячьте ее (снимите выделение в списке объектов). Далее по тому же сценарию обрабатываем все остальное. Теперь поработаем с оставшимися элементами. Нужно будет создать как бы сердцевину автомобиля. И если с моторным отсеком можно особо не морочиться, и просто разместить плоскую поверхность под тем местом, подогнав ее по габаритам, где будет находиться капот, то с салоном придется помучиться. Хотя, можно взять салон от стандартной модели и втиснуть его в вашу, а вместо подкрыльевого пространства и движка просто поместить куб, растянутый в нужных направлениях, но это не очень красиво. Да, и еще очень ВАЖНОЕ дополнение: ни при каких обстоятельствах не допускайте, чтобы плоскости соприкасались друг с другом чем-либо кроме своих краев !!! В противном случае у вас будет довольно страшный вид машины с черной рябью на местах соприкосновений. Все детали интерьера (сиденья, приборная доска, раздельный санузел... :) лучше создавать отдельно, а уже потом слить вместе. У этого MINI Саймона (рис.2) сиденья и руль от Kuruma. Если вас смущает половинчатый вид вашей модели в отличие от него ,вы можете сделать полную модель, хотя я бы не стал торопиться. Просто выделите те объекты, работа над которыми уже завершена, и которые не нуждаются в доводке (иначе вам придется все время сверять симметричность модели при внесении изменений!) и которые логически объединяются в единое целое (напр. крыша+пол+заднее крыло+моторный отсек=шасси), для чего переключитесь в режим объектов (кл. 4) и в меню Select\All. Правой кнопкой выделите их, предварительно спрятав ненужные, и потом Create\Objects\UniteSelect. После того как вы кликнете левой кнопкой на выделении, появится окно в котором вы введете имя для нового объекта. Затем в окне Objects кликните на нем правой кнопкой и выберите Create Copy, которую вы тоже как-нибудь обзовете. После этого спрячьте первый объект, и выделите всю копию. Затем Modify\Mirror, но перед этим переключитесь в режим осей координат, и выберите ось Х. После отражения выберите вид спереди и сдвиньте половинку в нужное место, после чего Modify\Reorient, и, если вы все сделали правильно, то в 3d виде у вас появится нечто похожее на модель. Соответственно, все остальные предметы соединяются по той же схеме. Теперь вернемся к тому что мы делали в начале. Как вы уже догадались, мы отделяли предметы (крылья, капот и т.д.) потому,что у каждого из них в игре есть реальная возможность зажить своей жизнью, то бишь погнуться, оторваться и потеряться. А потому давайте поподробнее разберемся, как все это делается. Все они делятся на неповрежденные ( ok ) и поврежденные (dam). Вот список этих объектов:

Обьекты:

chassis_hi ( нет ok или dam, потому что не повреждается, hi означает объект с высокой детализацией, в отличие от vlo -  очень низкая детализация, по сути силуэт машины который виден издалека)

рисунок 2

bonnet_hi_ok

boot_hi_ok

wing_lf_hi_ok (lf означает left front - левое переднее, rf это right front - правое переднее)

door_lf_hi_ok (кроме lf и rf, есть lr - left rear левая задняя, и rr -  right rear, правая задняя)

bump_front_hi_ok (front - передний, rear - задний)

windscreen_hi_ok

Очень важно правильно написать все эти названия. Чтобы создать поврежденные объекты (dam) создайте копию нормального (ok) и отведите душу, только не перестарайтесь :) Лучше всего конечно создавать копии оттекстурированных объектов, чтобы не пришлось накладывать текстуры на восемь дверей ! Поэтому поговорим о текстурах.

Нанесение текстур - Часть 2

2.1 Подготовка

Ну что ж, модель готова, осталось привести ее в божеский вид. Работа эта не такая уж сложная, но чем больше сил в нее вложите, тем лучше ваша машина будет выглядеть. Вы можете создавать свои текстуры, но для примера возьмем стандартные. Для начала выдернем из .txd файла нужную нам картинку. У нас это mananabody64.bmp. Чтобы импортировать ее в ZM сначала переконвертируем ее в .tga и перевернем вверх ногами чтобы она легла у нас правильно ( по разным данным это баг или в TXDTool  или в ZM). Затем открываем Material Editor (кл. Е) и копируем default material. Все копии всегда помещаются в низ списка. ВАЖНО ! Если вы делаете свою машину на базе .dff файла вам нужно удалить весь список кроме материала по умолчанию, иначе будет такая каша, что сами не разберете где что! Далее выбираем созданную копию и переименовываем в понятное для себя имя. Это пригодится потом, если вы решите отредактировать, например, яркость или блеск деталей, и вам не придется рыться в десятке одинаковых названий. Потом ставим галочку в пункте Primary Texture и жмем кнопку рядом чтобы указать путь к текстуре. И  при установке в игру обязательно сохраняйте текстуру в .txd файле под тем же названием. Если вам нужна блестящая поверхность ставьте галочку в пункте Reflection Map и так же загружайте текстуру блеска (обычно они есть в папке ZM). Если в игре ваша машина должна будет, в одном из вариантов, иметь белые бамперы и синий корпус, а в другом зеленый корпус и желтые бамперы, то вам нужно будет добавить к названию цвета корпуса [prim] а к названию цвета бампера [sec], например body.tga[prim] (именно в квадратных скобках). Все дело в том что в файле carcols.dat для каждой машины указана пара цветов, и вот [prim] это как раз первый из них, а [sec] соответственно второй.

2.2 Нанесение текстур

Ну что ж , мы выбрали нужную нам текстуру, теперь закроем Material Editor и переключимся в режим плоскостей. Выберем нужные через Select\Single, либо, если это, например капот, Select\Separated. Для большего удобства и уверенности что вы выбрали именно нужные плоскости, используйте User View. Потом в окне Objects кликнем правой кнопкой на этом объекте. Далее в контекстном меню выбираем Faces\Properties и в открывшемся окне из списка Materials выбираем созданный.  Когда вы впервые создаете объект, он использует материал по умолчанию. Жмем OK и потом жмем SEL. Затем Surface\Mapping\Assign UV и кликаем левой кнопкой на выделении. Затем меняем один из видов на UV Mapper и переключившись в режим объекты (кл.4) включаем Selection\All и выделем ваш объект в этом окне. Теперь все зависит только от вас. Вы можете вращать, сжимать, масштабировать и менять форму объекта. Обратите внимание, что в режиме вершин (кл.1), плоскости теряют связь между собой, поэтому здесь будет удобнее работать с нажатой кнопкой MUL. Не переживайте, вы не испортите свою модель, вы всего лишь показываете ей как использовать текстуру. В то же время вы можете контролировать правильность наложения текстур если включите 3d view. Но имейте ввиду, что при выходе из UVMapper вы теряете возможность  редактировать нанесенные текстуры. Чтобы устранить недостатки вам придется сбросить текстуру через Surface\Mapping\Reset UV и начать все заново. Если вы какие то части машины захотите просто раскрасить, скопируйте исходный материал (default) но не загружайте текстуру, а оттенок подправьте бегунками в окне редактора материалов. Тем не менее вы можете добавить блики (reflection map).

2.3 Прозрачные текстуры

В игре есть два типа прозрачных текстур: первая - это окна машин, стекла фар и т.д. и создается она в редакторе материалов из исходного, но в списке Types нужно выбрать Glowing, а всписке Use Alpha выбрать Standart Alpha Glow Transparency. Теперь бегунком Opacity отрегулируйте прозрачность и добавьте блики (текстура Chrome). Вторая текстура - это поврежденные стекла и корпус, и создается она из первой путем  копирования и добавления Primary Texture. Обычно для стекол добавляется white128.tga, а если вы хотите сделать царапины на дверях и т.д., то вам нужно добавить white64.bmp. Но здесь есть одно но... Если вы будете добавлять этот эффект вам придется добавлять плоскости поверх существующих, т.к. эта текстура прозрачна, и ваш объект будет таким же. Первую текстуру следует нанести на объекты с параметром ok, а вторую на объекты с параметром dam. Логично.  Но не забудьте, что ко второй текстуре потребуется так называемая Alpha (черно-белый аналог изображения, в котором черный цвет означает прозрачный фон, а белый силуэт -  непрозрачный объект, т.е. похоже на трафарет). Обычно альфа называется по схеме <имя текстуры>а.bmp. А теперь, если вы закончили работу с текстурами, которая может занять немало времени, но способна принести немало удовольствия от вида того, как ваша машина становится все более "настоящей", мы перейдем к незаметной , но очень важной стороне конструирования - тонкой настройке соотношения осей координат между частями машины и правильного расположения их в списке иерархии.

Иерархия и заглушки - Часть 3

Вначале я сделаю отступление и поясню что такое заглушки. Заглушки (dummies, если кто-то переводит это по другому и более точно, подскажите как) служат для определения ключевых  точек осей вращения частей машины. Возможно их следовало бы назвать якорями, но у слова dummie нет такого значения. Это маленькие объекты невидимые в игре и имеющие чисто техническое значение. С их помощью мы покажем игре где у нас фары, стоп-сигналы, в какую сторону открывается капот или дверь. В неподвижных объектах заглушка определяет центр  тяжести по трем осям координат, в дверях, капоте, багажнике она определяет ось вращения. Вот список заглушек используемых в игре: 

indicators_front - передние указатели поворота

indicators_back - задние указателиbrakelights - стоп-сигналы

taillights - хвостовые огни (что-то вроде габаритов)

reverselights - сигнал заднего ходаheadlights - головное освещение (фары)

wheel_rf_dummy - переднее правое колесо

wheel_lf_dummy - переднее левое

wheel_rb_dummy - заднее правое

wheel_lb_dummy - заднее левое

chassis_dummy - центр осей вращения шасси

ped_frontseat - расположение водителя и пассажира на переднем сиденье

ped_backseat - расположение пассажира на заднем сиденье

door_rf_dummy - правая передняя дверь

door_lf_dummy - левая передняя

door_rr_dummy - правая задняя

door_lr_dummy - левая задняя

boot_dummy - ось вращения багажника

bonnet_dummy - ось вращения капота

wing_rf_dummy - правое переднее крыло

wing_lf_dummy - левое переднее

wing_rr_dummy - правое заднее

wing_lr_dummy - левое заднее

steerwheel_dummy - центр рулевого колеса

chassis_vlo_taillight - габариты при низкой детализации

chassis_vlo_headlights - головной свет при низкой детализации

exhaust - выхлоп для создания заглушек можно использовать инструмент Куб, но проще будет поступить следующим образом : создать новый .z3d файл, и затем импортировать .dff файл из которого в редакторе материалов  удалить все материалы, кроме исходного (его желательно переименовать), а из списка объектов все, кроме вышеперечисленных. Сохраните его для дальнейшего использования. Потом File\Merge и указать путь к вашей модели. После этого вам останется только удалить исходный материал, который шел с заглушками и все.РазмещениеОт того как и где вы разместите заглушки, будет зависеть поведение вашей машины и ее частей. Если расположение заглушек огней, фар и сидений большого значения не имеет ( одно условие - они должны быть каждая в одном экземпляре и располагаться на правой стороне модели, если смотреть сзади), то от остальных зависит будет ли капот  или багажник открываться вперед или назад и т.д. Итак, заглушки дверей нужно устанавливать на стыке двери и проема, т.е. так как если бы это были дверные петли, то же относится к капоту и багажнику. Для колес нужно определить такое место, чтобы они не вылезали из под крыльев, но и не были собраны в кучку. Запомните что заглушки колес определяют их физический центр по осям координат, то же относится и к крыльям.ОсиПрежде чем размещать заглушки вам нужно определить центр тяжести деталей вашей машины и заглушек. Переключитесь в режим объектов и выберите Display\Local Axis\Center Axis, затем кликайте на объектах левой кнопкой мыши, для удобства их можно по очереди прятать. То же для заглушек. После этого вам нужно совместить заглушки и центры осей деталей. Для этого спрячьте все, кроме самой детали и соотнесенной с ней заглушки, выберите Modify\Move и переместите заглушку в центр тяжести детали. Если при этом оси заглушки остались на прежнем месте, переключитесь на  Display\Local Axis\Move и перемещайтеих в центр осей детали. Пользуйтесь увеличением и разными видами для большего удобства. Но ! Если вы определяете ось вращения , то заглушку нужно ставить в месте предполагаемых петель(шарниров). Лучше всего сделать это так : определите центр, например двери, затем центр заглушки. Выровняйте заглушку по оси Х двери, а затем сдвиньте уже центр осей двери до полного совпадения с центром заглушки. Сделав все это с объектами с параметром ok, для объектов с параметром dam останется только привести их центры в совпадение с центрами заглушек. В принципе это все логично и понятно. А теперь последний подводный камень, о который набили не одну шишку создатели моделей. Вроде все красиво, все на месте, все правильно названо, а поди ж ты - вешается игра и все тут :(  А дело потом оказывалось в правильном размещении объектов в так называемой иерархии.

Иерархии

Иерархия это своего рода карта расположения деталей с определением их зависимости друг от друга (рис.11). Вы можете открыть это окно через Tools\Hierarchy\Browser. Здесь изображено правильное расположение всех объектов. Похоже на дерево файлов в Проводнике. Синие кубики - это  одиночные объекты, оранжевые - составные, т.е. содержащие  в себе другие объекты (похоже на архивы). Самый верхний это заглушка с именем модели, в него вложен chassis_dummy и некоторые заглушки (нижние 10), в chassis_dummy вложены все остальные. Каждая из заглушек содержит в себе по два объекта : ok и dam. Есть еще chassis_hi и chassis_vlo, которые не являются заглушками, но содержат в себе объекты. При первом открытии все будет выглядеть совсем по другому, поэтому вам придется методом перетащить-и-отпустить навести порядок. Будьте осторожны, т.к. при неправильном расположении объектов игра будет виснуть. Если вы случайно сделали составной объект из одиночного, придется копировать его в меню объектов, а потом удалить, а в списке иерархии у вас появится новый объект (копия которую вы создали), который вы уже сами доведете до ума (не забудьте вернуть ему настоящее имя). Здесь легко запомнить, что все неизвестные новые объекты появляются вверху списка. Если ваш список ничем не отличается от приведенного на рисунке(кроме количества дверей), то все что осталось сделать, нажать кнопку Export и выбрать в списке типов файлов Grand Theft Auto 3(.dff .col), назвать стандартным именем той машины которой вы готовили замену и сохранить. Одно примечание, если вы хотите, чтобы  .dff файл можно было повторно импортировать, сохраняйте его как имя файла .DFF( то есть в верхнем регистре), а лучше конечно все это сохранить и как .z3d файл, для дальнейшей доводки. Теперь вам необходимо кликнув на каждой заглушке в окне объектов выбрать меню Properties и в списке Attributes  выбрать Meaningful for GTA 3, а затем поставить галочку в пункте Dummy object. Все, теперь можно приступать к установке машины в игру.

Установка модели в игру -Часть 4

Инструменты

Как я уже упоминал, вам потребуются IMGTool, TXDTool или подобный ему и графический редактор для конвертации форматов текстур, их создания, изменения размеров и т.д.

 

DFF файл

Содержатся в gta3.img файле и извлекаются\добавляются с помощью IMGTool. Для вставки своего .dff файла нужно переименовать его в стандартное имя той машины, которую вы хотите заменить. Потом в gta3.img найти соответствующий файл и, предварительно сохранив его в отдельной папке,  удалить и вставить свой.

 

TXD файл

Содержатся также в gta3.img файле, извлекаются\добавляются так же как и .dff файлы. Текстуры в них извлекаются\добавляются при помощи TXDTool, причем при замене желательно сохранять оригинальный размер текстур, так как это может повлечь их искажения.

Характеристики машин.

Все характеристики машин содержатся в файлах carcols.dat (информация о цветах машины), default.ide (тип машины, частота ее появления, название в игре и т.д.), handling.cfg (технические данные машины, т.е. скорость, разгон и т.д.). Файлы открываются обычным Блокнотом. В carcols.dat можно задать цветовые сочетания [prim] и [sec], если таковые имеются. Проставляются они в строке с названием машины разделенными пробелом группами, например:

banshee, 95,1, 96,56, 36,1, 70,56, 7,7, 1,7, 18,7

 

В default.ide более всего нас могут заинтересовать два последних числа. Первое - это тип колеса (спортивный ,грузовой, классический, малый и т.д.), а второе - его размер, например:  

90,   landstal,     landstal,     car,    LANDSTAL,    LANDSTK,            richfamily,    10,    7,     0,     164, 0.8

 

А вот в handling.cfg уже можно и порезвиться - там настраивается и скорость, и жесткость подвески, и эффективность тормозов и размер головного и хвостового освещения, и тип двигателя и много чего еще. Все это можно редактировать либо вручную в Блокноте, либо при помощи программы MultiEdit.