Как вытащить модель из гта сан андреас

Обновлено: 04.07.2024

В статье, опубликованной в предыдущем номере “Игромании”, мы рассказали, как создавать несложные модификации для GTA: San Andreas , и изучили основы программирования этой игры. Сегодня мы пойдем дальше: ознакомимся с постановкой условий и условными переходами, научимся создавать актеров и транспортные средства, присваивать им различные параметры и флаги, создадим идеальное движение наземных транспортных средств, наконец — превратим San Andreas в самый что ни на есть Twisted Metal !

Постановка условий

Чтобы проверить выполнение того или иного действия игроком или NPC, необходимо задать условие. Например, мы хотим узнать, достиг ли игрок нужной точки на карте (эта команда используется практически в любой миссии игры). Для этого нужно поставить условие:

00EC: actor $PLAYER_ACTOR 0 ()near point 1812.369 -1929.922 radius 80.0 80.0

Первая команда означает, что идет постановка условия, цифра 0 в первой строке показывает, что условие всего лишь одно. Если нужно, чтобы одновременно выполнялось несколько условий, например два, смело меняйте 0 на 1 . Максимальное число допустимых условий в игре — восемь. Команда с проверкой на 8 условий будет выглядеть следующим образом:

Если же вы хотите, чтобы выполнялось одно из условий, то нужно использовать следующую конструкцию:

Наша цель - малогабаритный авиалайнер, наше оружие - пусковая установка.

8118: NOT actor $my_act dead

8119: NOT car $my_act wrecked

После того как условия наложены, необходимо создать переход. Переходы делятся на условные, которые осуществляются при наличии определенных условий, и безусловные — выполняемые без всяких условий. Создаются переходы следующими командами:

004D: jump if false ЈЈCheck1

0002: jump ЈЈNext

Первая команда соответствует условному переходу, вторая — безусловному. Рассмотрим на примере, как создать поток с постановкой условий:

0213: $my_pick = create_pickup -1 (INFO) type 3 at 2027.77 -1420.52 16.49

0001: wait 0 ms

0214: pickup $my_pick picked up

004D: jump if false ЈЈCheck1

0002: jump ЈЈNext

0001: wait 0 ms

018C: play sound 1052 at 0.0 0.0 0.0

004E: end thread

Пример созданных "пикапов" с оружием на карте.

Сначала создается поток ( thread ), в котором на карте помещается определенный предмет. После создания объекта генерируется блок с проверкой, суть которой — зарегистрировать, взял ли игрок объект. Если это условие не выполняется, то команда 004D: jump if false ЈЈCheck1 вернет к блоку Check1 и проверка условия начнется снова. Если игрок взял приготовленное ему оружие, команда 0002: jump ЈЈNext осуществит переход к следующему блоку, в котором проигрывается определенный звук.

Командой end thread данный скрипт завершит свою работу. Команда 0002: Next безусловного перехода может быть использована для создания перехода к нужному вам блоку без постановки условия:

0213: $my_pick = create_pickup -1 (INFO) type 3 at 2027.77 -1420.52 16.49

0002: jump ЈЈNext

0001: wait 0 ms

018C: play sound 1052 at 0.0 0.0 0.0

004E: end thread

Создание актеров и транспорта

Теперь займемся созданием персонажей и транспортных средств на игровой карте. Прежде чем поместить NPC или машину на карту, нужно загрузить определенную модель в память игры. Для этого используются две команды:

0247: request model 520

038B: load requested models

Первая указывает, какую именно модель нужно загрузить, а вторая непосредственно подгружает модель в память. Если пропустить эту операцию, при тестировании мода San Andreas вылетит с ошибкой. После загрузки модели в память игры необходимо провести проверку: загружена ли она. Для этого используется следующая команда:

0248: model 520 available

В целом конструкция будет выглядеть следующим образом:

0001: wait 0 ms

0247: request model 520

038B: load requested models

0001: wait 0 ms

0248: model 520 available

004D: jump if false ЈЈLoad2

0002: jump ЈЈCreate_Model

Если модель успешно загружена, то можно приступать к созданию персонажа или транспортного средства. Сначала рассмотрим определение персонажей. Для создания модели NPC на карте используется следующая команда:

Вражеские NPC готовы порвать Сиджея в клочья!

009A: $actor1 = create actor 4 41 at 1230.0 2540.0 12.0

actor1 — имя персонажа (можете смело менять на свое, только не забудьте поменять его и в последующих командах), 41 — номер загруженной модели, а 1230.0 2540.0 12.0 — координаты, по которым модель будет создана. Номера моделей персонажей, а также их названия содержатся в файле peds.ide в папке DATA . Для примера разберем одну из строк файла:

41, HFYST, HFYST, CIVFEMALE, STAT_STREET_GIRL, woman,1983,1, null,6,1,PED_TYPE_GEN,VOICE_GEN_HFYST ,VOICE_GEN_HFYST

41 — номер модели, о котором упоминалось чуть выше, HFYST — имя персонажа, остальные параметры для расстановки модели на карте не нужны.

Для определения координат вы можете воспользоваться программой San Andreas Place Manager или любой другой. Рассмотрим принцип определения координат только для этой программы. Первым делом скопируйте программу в корневой каталог игры. После того как она будет запущена, нажмите клавишу ADD PLACE , а затем — Click Here to insert .

Утилита вставит в поля x, y, z текущие координаты игрока. После этого скопируйте координаты из полей x, y, z на место тех, по которым должен быть создан персонаж, предварительно заменив знак “ ,” (запятая) в координатах на “ .” (точка).

Созданным персонажем можно манипулировать, используя ряд команд. Ниже рассмотрены основные из них:

05E2: unknown_action_sequence $actor1 $PLAYER_ACTOR

Данная команда заставит NPC следовать главной цели — убить игрока любым способом.

Если вы хотите, чтобы актер не убегал при звуке выстрела, смело используйте эту команду:

0350: unknown actor $actor not scared flag 1

Также созданному персонажу можно дать оружие:

01B2: give actor $actor1 weapon 31 ammo 60

31 здесь — номер оружия в игре, 60 — количество патронов.

Обратите внимание, что прежде чем использовать тот или иной ствол, его надо загрузить в память игры.

Для M4 номер модели для загрузки в память игры 356 , а номер модели в игре — 31 . Аналогично для Shotgspa — 351 и 27 , а для Minigun — 362 и 38 .

Буквально за несколько дней до того, как журнал ушел в печать, выяснилось, что создатель редактора Бартон Уотердак опубликовал полный список номеров оружия и соответствующих им моделей оружия. Со списком можно ознакомиться на нашем диске .

Следующая команда позволяет изменять меткость стрельбы:

02E2: set_actor $actor weapon_accuracy_to 90

Цифру 90 можно менять на любую от 1 до 100 .

Для проверки, не умер ли персонаж, используется следующая конструкция:

0001: wait 0 ms

0118: actor $actor1 dead

004D: jump if false ЈЈCheck_Dead

0002: jump ЈЈPassed

Возле персонажа можно поставить маркер (метку), которая будет показывать его местоположение на карте. Для его создания используется следующая команда:

0187: $marker1 = create marker above actor $actor1

marker1 — название маркера (можете назвать его как захотите), actor1 — имя персонажа, над которым этот маркер будет создан. Чтобы убрать созданную метку, используйте следующую команду:

0164: disable marker $marker1

Созданного актера можно заставить передвигаться по карте, для этого используются следующие команды:

05D3: unknown_action_sequence $PLAYER_ACTOR 2099.12 -1651.26 12.63 4 3000

05F5: unknown_action_sequence $PLAYER_ACTOR 2099.12 -1651.26 12.63 6 10000

PLAYER_ACTOR — имя персонажа (если хотите, чтобы эта команда была применима к главному герою, не изменяйте имя), 2099.12 -1651.26 12.63 — координаты точки, к которой должен следовать персонаж. Первая команда заставляет персонажа идти, а вторая — бежать в заданную точку.

Используя ряд нижеприведенных команд и меняя имя персонажа actor на имя созданного вами NPC, вы можете создать телохранителя, который будет защищать от всех, кто нападает на Сиджея:

Да здравствует Сэм Фишер и Splinter Cell! Учимся создавать стелс-миссии.

0446: (unknown) $actor 0

08AF: $actor 1000

077A: $actor 4 25

0631: put_actor $actor in_group $PLAYER_GROUP

01B2: give actor $actor weapon 38 ammo 600

02E2: set_actor $actor weapon_accuracy_to 90

0223: set_actor $actor health_to 2000

0187: $mark_act = create_marker_above_actor $actor

Полный скрипт телохранителя, равно как и все остальные примеры скриптов (чтобы не пришлось вбивать их на клавиатуре), вы можете взять с нашего диска .

Для проверки, достиг ли персонаж какой-либо точки на карте, используется следующая конструкция:

0001: wait 0 ms

00EC: actor $PLAYER_ACTOR 0 ()near point 1812.369 -1929.922 radius 2.0 2.0

004D: jump if false ЈЈCheck_Point

0002: jump ЈЈ<Блок, если условие выполняется>

Если вы создали на карте транспортное средство и хотите, чтобы тот или иной персонаж залез в него в роли пассажира, используйте команду:

05CA: unknown_action_sequence $PLAYER_ACTOR $10946 10000 0

Здесь PLAYER_ACTOR — имя NPC, 10946 — название машины, в которую он должен сесть.

Если же вы хотите, чтобы выбранный вами персонаж сел на место водителя, необходимо прописать следующую команду:

05CB: unknown_action_sequence $PLAYER_ACTOR $10946 -1

Чтобы проверить, находится ли наш персонаж в том или ином транспортном средстве, используйте вот такую конструкцию:

:In_Car_Check

0001: wait 0 ms

0448: actor $PLAYER_ACTOR in car $my_car

004D: jump if false ЈЈIn_Car_Check

0002: jump ЈЈ<Блок, если условие выполняется>

В этой команде my_car — машина, в которой должен находиться персонаж.

Об “актерах” мы поговорили достаточно, теперь перейдем к транспортным средствам.

Рассмотрим вкратце способы управления воздушными и водными средствами передвижения. Начнем с вертолетов. Чтобы заставить “вертушку” лететь к указанной точке, используйте следующую команду:

04A2: heli $my_car fly to 2488.562 -1662.864 12.8757 speed 0.0 40.0

my_car — название вертолета (можете поменять на любое другое название), 2488.562 -1662.864 12.8757 — координаты, по которым должен прибыть вертолет, и 40.0 — скорость полета геликоптера.

Если вы хотите, чтобы выбранный вами вертолет использовал магнит, вводите вот это:

0788: enable heli $my_car magnet 1

Несложно обыграть, скажем, такую ситуацию: по дороге едет авто, прямо над ним летит вертолет, который в определенный момент цепляет машину магнитом.

С самолетами дела обстоят намного сложнее — в интернете практически невозможно найти команды управления этим видом транспорта, поэтому ваш покорный слуга дни и ночи напролет занимался поиском команды, которая смогла бы заставить взлететь любой лайнер. Команда была найдена, используйте на здоровье:

04D2: unknown RC car $my_car race to -1836.487 -333.7172 110.7474 0.0 40.0

Напоследок рассмотрим команды для манипуляции катерами и другим водным транспортом. Чтобы задать скорость движения лодки, используйте нижеуказанную команду:

02DB: set boat $my_car speed to 100.0

Чтобы заставить катер плыть к нужной точке, примените команду:

02D3: boat $my_car drive to 171.0578 942.3843 6.0

171.0578 942.3843 6.0 — координаты точки прибытия.

Все модели машин, людей, оружия нужно выгружать из памяти перед окончанием работы скрипта. Делается это следующей командой:

0249: release model 570

570 — номер загруженной в память игры модели.

Транспортные средства

Принцип загрузки любого авто в память игры абсолютно такой же, что и при загрузке людей. Единственное различие заключается в том, что смотреть номера транспортных средств нужно в файле vehicles.ide . После того как нужная модель транспортного средства загружена в память игры, приступаем к расположению ее на карте. Для этого используется следующая команда:

Созданный нами телохранитель не зря ест свой полигональный хлеб.

00A5: $my_car = create car 520 at 0.0 0.0 0.0

my_car — это название машины (можете менять на свое), 520 — номер модели средства передвижения из файла vehicles.ide , 0.0 0.0 0.0 — координаты, по которым будет создана модель. Вновь созданным транспортным средством, как и персонажем, можно манипулировать. Например, авто можно заставить ехать в указанную точку, самолет или вертолет — лететь в определенное место. Начнем изучение “манипулятивных” команд с блока, отвечающего за передвижение любых видов наземного транспорта:

02C2: car $my_car drive to point 2644.462 -2016.282 12.5547

В ней 2644.462 -2016.282 12.5547 — координаты точки, до которой авто должна добраться. Чтобы проверить, добралась ли ваша машина к нужной точке на карте, используйте нижеприведенную команду вкупе с оператором условий if :

01AF: car $my_car 0 ()near point 95.3 -1468.3 9.5 radius 1.5 1.5 3.0

В этой команде my_car — название машины, 95.3 -1468.3 9.5 — координаты точки, к которой должна приехать авто (прилететь — самолет/вертолет, приплыть — катер), и 1.5 1.5 3.0 — радиус точки по x, y и z (длине, ширине и высоте), в зоне которой выполняется проверка.

Есть одно маленькое “но”: кто управляет нашим таинственным авто? Не призрак же?! Чтобы автомобилем или вертолетом/самолетом управлял персонаж, его нужно создавать отдельно при помощи команды:

0129: $vodila = create actor 4 41 in car $my_car driverseat

Здесь vodila — имя персонажа, который будет создан не на карте, а непосредственно в транспортном средстве $my_car . Важный момент: транспортное средство должно быть создано на карте прежде, чем вы приступите к генерации водителя.

Если же вы хотите сделать водителем NPC, который уже разгуливает по уровню, то используйте следующую команду:

036A: put actor $PLAYER_ACTOR in car $my_car

Сиджея так же, как и остальных персонажей, можно помещать в транспортные средства, для этого нужно использовать имя PLAYER_ACTOR .

Существует ряд параметров, влияющих на езду автомобиля, один из них — скорость. Хотите создать безбашенную аркадную гонку в стиле Need for Speed — нет проблем! Rockstar даже пошли нам навстречу, внедрив в игру тюнинг авто. Команда:

00AD: set car $my_car max speed to 50.0

Самолет, который главному герою так и не пришлось пилотировать на протяжении всей игры. Исправляем!

Данный блок позволяет регулировать скорость наземных транспортных средств, в данном случае — присваивает скорость 50 миль в час машине my_car .

Хотите посмотреть, как настоящий псих управляется с авто? Всегда пожалуйста — вот команда:

00A8: set car $my_car to psycho driver

Объекты на карте

В GTA: San Andreas вам не раз приходилось собирать на карте различные предметы, которые еще называют “пикапами” (пушки, чемоданы с деньгами). Давайте разберемся, как создать “пикапы” с оружием. Делается это следующей командой:

032B: $weap1 = create_weapon_pickup 370 15 ammo 1 at 2489.595 -1646.48 14.07031

weap1 — название “пикапа” (можете поменять на свое), 370 — номер модели оружия из файла default.ide (орудия убийства начинаются с цифры 321 и заканчиваются цифрой 373), 15 — тип созданного “пикапа”, 1 — вместимость магазина у данного оружия, 2489.595 -1646.48 14.07031 — координаты, по которым будет создан “ствол”.

“Пикапы” бывают двух типов: 3 — бесплатные разовые и 15 — бесплатные пикапы, регенерирующиеся через 6 часов игрового времени (т.е. 6 минут).

Если вы хотите создать на карте пикап для миссии, например — чемодан с деньгами, то вы должны использовать следующую команду:

0213: $object1 = create_pickup -362 (MONEY) type 3 at 2027.77 -1420.52 16.49

object1 — название объекта, -362 (MONEY) — номер и название модели из main.scm (пункт DEFINE OBJECTS), 3 — тип пикапа, 2027.77 -1420.52 16.49 — координаты, по которым он будет создан. Около созданного пикапа можно создать маркер. Делается это следующей командой:

03DC: $mark = create marker above pickup $object

mark — название маркера (можете изменить на свое), object — название пикапа, около которого будет создан маркер.

Чтобы поместить на карту реальный объект, который невозможно собрать, вам пригодятся эти команды:

029B: $obj_x = init_object -50 (WS_APGATE) at -1222.953 53.826 14.134

obj_x — название объекта, -50 (WS_APGATE) — номер и название модели из main.scm, далее, как всегда, идут координаты. Также созданному объекту можно установить угол поворота. Это можно сделать следующей командой:

0177: set_object $obj_x z_angle_to 135.0

obj_x z — название объекта, 135.0 — угол поворота.

На этом мы заканчиваем вторую статью нашего эпохального GTA-цикла. Полученных знаний вам вполне хватит, чтобы с легкость помещать на карту любых персонажей и транспортные средства, а также манипулировать ими.

Уже можно приступать к созданию полноценных миссий. Осталось лишь научиться писать триггеры для старта заданий и делать видеоролики. Этим мы и займемся в третьей части статьи в одном из ближайших номеров “Мании”.

В какую папку выкладовать машину чтобы она была в GTA SA

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

Теперь о программах, которые понадобятся вам для установки модификаций, это конечно же IMG Tool 2.0. Программа служит для открытия IMG архивов GTA3, GTA: Vice City и конечно же GTA: San Andreas.

Установка нового транспорта.

В скачанных с нашего сайта архивах с автомобилям (кстати для их открытия в большинстве случаев нужна программа WinRAR) всегда есть два файла dff и txd, помимо них конечно же бывают скриншоты ReadME и ссылки на сайты автора но сейчас они нам не важны. Теперь пошагово расскажу как установить этот автомобиль.

Конвертирование персонажа в GTA San Andreas

Теперь нам нужно скачать готового персонажа или смоделировать его самостоятельно. Так как моделить я могу только шары и кубики, я скачаю персонажа. Нам нужно будет сконвертировать его в игру.

Вы можете найти нужную модель персонажа в другой игре (но это мы не рассматриваем в уроке) или в интернете, например, тут .

Когда скачали модель, распакуйте архив. Вы увидите файл модели для 3ds Max и текстуры в графических файлах. Если текстуры не в BMP или PNG, сохраните их в эти форматы.

3. Ставим скрипт

Так как 3ds Max не поддерживает файлы GTA SA dff, надо скачивать для этого скрипт под названием Kam’s Script. Когда скачали, распакуйте архив.

Распакованные файлы выглядят так:

Конвертирование персонажа в GTA San Andreas

Теперь откроем папку с 3ds Max. Заменяем и добавляем файлы как в папках. Всё. Скрипт есть!

4. Загружаем модель

Теперь пришло время посмотреть, что же мы скачали. Открываем 3ds Max и сразу как он запустился, можно увидеть наш установленный скрипт:

Конвертирование персонажа в GTA San Andreas

Далее нам нужно загрузить модель, делаем это так: нажимаем Ctrl+O и появится окно, где надо будет найти нашу модель. Открываем её.

Конвертирование персонажа в GTA San Andreas

5. Накладываем текстуры

Теперь, после загрузки модели нам надо наложить текстуры. Нажимаем на и появится окошко с шарами. Там мы нажимаем на один из этих шаров и на пятнистый квадратик чуть ниже: .

Далее жмём на М рядом с надписью Diffuse, и под нашим пятнистым квадратиком появится кнопка Bitmap. Жмём! В появившимся окне ещё раз заходим в Bitmap. Теперь ищем одну из текстур.

Теперь шар этой текстурой. Точно та же загружаем последние текстуры. Потом просто перетащите текстуры на человека, если у него очень много текстур, надо будет выделять полигоны.

Но у меня, к счастью, только глаза и одежда. Вот как должна выглядеть моя модель после текстурирования:

Конвертирование персонажа в GTA San Andreas

6. Берём стандартного персонажа

Теперь нам нужно вытащить из игры GTA SA стандартного персонажа, которого вы хотите заменить. Для этого нужна программа Alсi’s IMG Editor (можно скачать отдельно или в наборе SA Tools Pack 2.0).

Скачиваем, распаковываем, включаем. Нажмите на кнопку с изображением папки (вторая) и откройте файл gta3.img в папке models игры. Вы увидите файлы, содержащиеся в нем:

Конвертирование персонажа в GTA San Andreas

Далее нужно найти нужного персонажа, персонажа который примерно подходит к нашему по пропорциям (кстати, для этого может пригодиться программа Ped Editor; скачать отдельно, скачать в наборе). Я выбираю модель male01, а значит мне нужно найти в IMG-архиве файлы male01.dff и male01.txd, а затем сохранить где-угодно.

7. Подгонка по размерам

Возвращаемся в 3ds Max. Теперь надо импортировать вытащенную только что модель персонажа в него. Для этого на панели скрипта выбираем: DFF IO > Import DFF > Import DFF.

Внизу, под скачанным персонажем, мы увидим импортированного.

Конвертирование персонажа в GTA San Andreas

Конвертирование персонажа в GTA San Andreas

Теперь нужно нашего огромного нового персонажа уменьшить до таких размеров, как стандартная модель. Делаем это так: выделяем нашего здоровяка, жмём и уменьшаем.

Если у вашего нового персонажа несколько частей, нужно нажать на персонажа, на и на . Теперь нажимаем на те части, которые отделены от персонажа, но чтобы они обязательно были на месте! У меня это глаза. Теперь нужно чтобы руки и ноги были там, где и у стандартного персонажа.

Конвертирование персонажа в GTA San Andreas

Теперь выделите стандартного персонажа, нажмите на Editable Mesh, потом на . Стандартная модель будет вся покрыта синими точками, выделяем их и нажимаем на Attach.

Конвертирование персонажа в GTA San Andreas

Потом щёлкаем по нашему новому персонажу и в появившемся окне жмём ОК. Затем жмём Del и останется только наш персонаж. Снова нажимаем на и все точки исчезнут! Осталось лишь сохранить персонажа.

Конвертирование персонажа в GTA San Andreas

8. Сохранение

Итак, перейдём к сохранению. Сначала сохраним модель в dff расширении. Для этого жмём на персонажа, DFF IO > BonesSkin Export. Потом жмём на dff файл нашего старого персонажа и сохраняем.

Затем вылетит окошко о замене, жмём да. Теперь осталось сохранить текстуры. Скачиваем и устанавливаем программу TXD Workshop (скачать отдельно) и заходим в неё. Потом перетаскиваем txd файл старого персонажа (в моём случае это male01.txd) в окно программы. Появилась текстура старого педа (человека).

Конвертирование персонажа в GTA San Andreas

Теперь жмём на Import (импорт) и появится окно. Тут мы должны найти всё свои текстуры и сохранить их с таким же названием.

Конвертирование персонажа в GTA San Andreas

Делайте так же как и на картинке, только заменяйте название на то, как называлась текстура когда вы её наложили. Далее, чтобы добавить ещё текстуру надо нажать на Image > New > 32BPP (изображение, новое, 32BPP). Потом делайте всё так же. Обязательно жмите галку Compression (сжатие).

Теперь осталось заменить файл. Открываем Alci’s IMG Editor, опять открываем gta3.img, жмём на зеленую стрелку (заменить модель) и выделяем 2 наших файла (dff и txd). Жмём открыть. Далее жмём на кнопку с изображением шестеренки. Пойдёт длительная загрузка.

После этого можно выключить программу, заходить в игру и искать нашего персонажа.

GTA-моделирование

В прошлом номере мы закончили цикл статей о создании миссий для GTA: SA при помощи скриптов. Вы уже умеете самостоятельно делать собственные уровни, но ведь кроме уровней всегда хочется добавить еще и свои модели, а не лепить что-нибудь «якобы новое» на основе уже встроенных в движок 3D-объектов.

Специально для тех, кто хочет создать миссию с нуля, мы сегодня расскажем, как моделировать объекты для GTA: San Andreas в популярной программе Zanoza Modeler. Впрочем, почему же только для GTA? Полученные объекты вы сможете использовать практически в любой компьютерной игре, поддерживающей экспорт внешних моделей.

Welcome to the jungle

Рядовому пользователю Zmodeler поначалу может показаться настоящим монстром. Поэтому мы будем изучать программу от простого к сложному. Установите редактор с нашего диска. При первом запуске утилиты вы увидите четыре окна с различными видами (сверху, справа, спереди и 3D), ряд менюшек и инструментальных строк. Настройку программы начнем с видов редактирования объекта. Щелкните по кнопке с названием проекции одного из видов — перед вами появится меню, где можно изменить текущее положение камеры (Front, Back, Right, Left, Top, Bottom, UV Mapper, User view или 3D).

С UV Mapper мы поработаем при текстурировании созданной модели. Под горизонтальной чертой в этом меню содержатся пункт Settings, где можно изменять визуальные настройки программы, и пункт Background, в котором разрешено выбрать цвет фона, а при желании загрузить собственную картинку в качестве бэкграунда (например, чертеж новой модели). Чтобы изменить фон, выберите в меню пункт Background\Color и в цветовой палитре укажите понравившийся вам цвет (данная функция работает только в окне 3D-вида).

Если хотите загрузить чертеж, выберите в меню пункт Background\Image\Load Image. В появившемся окне нажмите кнопку Add, чтобы добавить изображение. После того как чертеж будет добавлен, нажмите кнопку Ok.

Анатомия редактора

Изучим строение основного окна редактирования. Все внимание на рис. 1.

Стрелка 1 указывает на эллипс, где расположились стандартные примитивы — базовые компоненты любой игровой модели.

Стрелка 2 указывает на действия, которые можно проводить над объектами (модифицирование, объединение, текстурирование).

Стрелка 3 указывает на красный кружок — редактор материалов (Material Editor), используемый нами при текстурировании модели.

Поле объектов, которые были (или будут) созданы, выделено на рисунке зеленым прямоугольником. Красный кружочек в левом верхнем углу каждого окна — кнопка смена вида. Красным прямоугольником в панели инструментов отмечены кнопки импорта/экспорта моделей. Наконец, синим прямоугольником в панели инструментов выделены режимы редактирования объекта.

Рис. 1. Анатомия редактора.

Стандартные примитивы

Любая игровая модель состоит из так называемых стандартных примитивов: куба, сферы, цилиндров. Выберите любой стандартный объект, на одном из видов (кроме 3D) кликните левой кнопкой мыши и определите размер будущей модели. Снова кликните левой кнопкой мыши на текущем виде — объект будет создан.

При определении любого примитива (кроме куба) вам будет предложено меню, в котором необходимо выбрать количество полигонов объекта по горизонтали и вертикали. Чем больше полигонов, тем проще придать объекту желаемую форму.

Рис. 2. Пример правильного наложения текстуры на созданный объект.

Модификаторы

Рис. 3. Модель готова, осталось лишь наложить текстуру на заготовку.

Не думайте, что, создав несколько кубиков, вы получите действительно красивую модель. Чтобы объект вышел привлекательным, необходимо скрыть грубость базовых форм. Достигается это путем редактирования примитивных объектов. Чтобы изменить стандартную форму, выберите в инструментальной панели кнопку Modify — в инструментальной панели появятся модификаторы для редактирования объекта. Рассмотрим основные из них.

Модификатор Move позволяет редактировать и перемещать выделенные части объекта. Он может работать в нескольких режимах. В режиме редактирования (скрывается под цифрой 4) можно выделить объект целиком. Режим редактирования полигонов живет под цифрой 3, режим редактирования плоскостей — под цифрой 2, а режим редактирования вершин — под цифрой 1. После того как вы выберете нужный вариант, щелкните на одном из видов правой кнопкой мыши, чтобы выделить соответствующие объекты, плоскости, вершины или полигоны.

Например, если вам нужно выделить 15 полигонов, плоскостей или вершин, выстроенных в один ряд, отмечать их поштучно будет не совсем удобно. Для такого случая предусмотрен специальный инструмент — Rectangle Easy selector. Он позволяет выделять неограниченное число элементов объекта. Находится селектор в инструментальной панели под красной стрелкой — кнопкой экспорта (прямоугольник, построенный из пунктирной линии с красным крестиком в верхнем правом углу).

Двигаемся дальше. Модификатор Rotate позволяет поворачивать объект в нужном направлении. Для того чтобы повернуть объект на одном из видов, выберите данный модификатор, наведите указатель на объект и, удерживая левую кнопку мыши (далее ЛКМ), поворачивайте его по или против часовой стрелки.

Следующий полезный модификатор — Mirror. Выбрав его и нажав ЛКМ, вы добьетесь эффекта отражения объекта. Модификатор Scale позволяет уменьшать/увеличивать объект на соответствующих видах. Наконец, чтобы объединить созданные вами объекты, выберите пункт меню Select\Single и выделите нужные объекты целиком (режим редактирования объектов 4). Затем выберите пункт Create\Objects\Uniteselect и щелкните ЛКМ по выделенным элементам. Появится меню, в котором нужно прописать название и нажать кнопку Ok. Ненужные объекты вы всегда можете удалить при помощи модификатора Delete.

Основы текстурирования

Рис. 4. Финальный вариант строения.

Текстурирование модели проходит в несколько этапов: подготовка текстур, выбор объектов (или их частей), которые нужно затекстурировать, применение текстуры к модели и последующее редактирование текстуры.

Нажмите клавишу M на клавиатуре или кликните на изображение красного кружочка в панели инструментов. Перед вами появится окно выбора материалов текстур. Чтобы добавить изображение в Material Editor, поставьте галочку напротив пункта Primary. Справа появится кнопка Load Map, ранее недоступная. При ее нажатии подсветится меню выбора текстур. Чтобы добавить внешнее изображение, нажмите кнопку Add и выберите ту картинку, которую собираетесь применить к объекту.

Нажмите Оk и выйдите из Material Editor. Переходим ко второму этапу текстурирования модели. Выберите пункт меню Surfaces\Mapping\Assign UV и при включенном режиме Select\Single (предварительно выбрав режим редактирования полигонов — 3) щелкните ПКМ по объекту, чтобы выбрать нужные элементы. После того как выделенные части станут красного цвета, кликните по ним ЛКМ. Если вы выбрали несколько полигонов, включите кнопку Sel, располагающуюся под списком созданных объектов. После этого снова щелкните ЛКМ по выделенным элементам. Если вы выбрали, например, два полигона, кликните мышкой на каждом из них при нажатой кнопке Sel: таким образом вы избавите себя от лишних проблем при редактировании текстуры объекта.

Текстура наложена. Чтобы растянуть ее, выберите в одном из окон вид UV Mapper — появится затекстурированная часть объекта. Алгоритм работы с ней тот же, что и при редактировании объектов. Растянуть полигоны по размеру текстуры вы можете в режиме Modify\Move.

Хейко Фиджа (Heiko Feege), известного в Сети как Odie, можно считать отцом-основателем моделирования и маппинга для GTA. Именно благодаря ему игровая общественность познакомилась с такими проектами, как Stunt Park, Miss Liberty и Odies’s Beach Park. Он же начал в свое время разработку глобального аддона GTA: Berlin, который по качеству исполнения можно смело ставить в один ряд с творениями Rockstar. Многие надеялись, что проекты Odie будут выпущены и под GTA: San Andreas, но судьба распорядилась иначе — Хейко Фидж скончался 7 июня 2005 года, так и не дождавшись выхода GTA: San Andreas на PC.

Подведем итоги: мы рассмотрели основные принципы создания, редактирования и текстурирования модели, которую вы можете использовать по своему усмотрению. Можно даже экспортировать ее в NFS или трехмерный редактор 3ds Max — решать только вам!

Читайте также: