Теперь нам понадобятся скрипты для конвертации модели и коллизии. Разницы в скриптах от Kam'a и Дениса я не вижу. Для сегодняшней демонстрации я буду использовать скрипты от Kam'а. Самое главное, чтобы вы понимали что они делают. Так что разобраться в скриптах Дениса не будет для вас особой сложностью.
Нам понадобится еще и TXD Workshop (либо любая другая программа для работы с текстурами в GTA SA). Я использую Workshop пятой версии, именно она сейчас самая стабильная.
Скачайте ColEditor (у меня он версии 2.0) - эта программа нужна для настройки коллизии, которую мы создадим в процессе создания модели.
Нам понадобится IMG Tool (и опять таки я оставляю за вами право выбора программы для работы с .img архивами) для работы с .img архивами GTA San Andreas. Этот формат используется в играх серии GTA начиная с третьей части и заканчивая Сан Андреасом.
Без Map Editor'а вы просто не сможете вставить свой объект в игру. Если же вы скажете "да я лихой скриптер, я сайчас вам настрочу скрипт, который будет отображать модель, и никаких Мап Эдиторов не нужно!", то в конце загрузки игры вы будете лицезреть вылет. Если у вас возникают проблемы с этим капризным чудом, то вам в последний раздел этого урока.
Вам понадобится любой графический редактор. Сойдет даже Paint. В частности, для изменения формата и размера текстуры.
Вам понадобится терпение и желание. Как раз на самом первом этапе - моделировании. Вставка модели в игру проста до невозможности, а ведь именно с моделированием могут возникнуть проблемы. Если вы хотите создать целую новую карту для игры, то вам лучше собрать команду - многого в одиночку вы не сделаете.
Где же все это добро скачать? Несколько программ из нашего инструментария можно взять прямо с нашего сайта, а остальные инструменты вы будете искать в Google. К сожалению, помочь в этом направлении я вам не могу, да думаю администрация сайта не разрешит выкладывать ссылки на ворованное программное обеспечение (3D Max - платная программа!).
Ну что же,
переходим к началу работы!
Убедитесь что, скрипты установлены, и запустите 3DS Max. Если вам так удобнее, то раскройте окно перспективы на весь экран и приступайте к моделированию. Снова же таки, если у вас возникает вопрос "а как моделировать?" то не флудите об этом в комментариях, а задайте свой вопрос Гуглу. Человек, который принялся за дело, точно знает, какие сложности его поджидают, и постарается их устранить.
Я смоделирую куб, простой, совсем простой, используя вкладку Create => Cube.
Затем, чтобы коллизия была корректная, поставьте ваш объект в нули координат (ПКМ по инструменту перемещения объектов => Выставьте везде 0.0). Я, разумеется, заморачиваться с моделированием не буду, а вам советую приложить как можно больше усилий к этому этапу! Возможно даже, что у вас уйдет не один день только на моделирование, так что запаситесь терпением.
Предположим, наша модель уже готова (так у меня и есть). Теперь пришло время наложить текстуры. К этому шагу я рекомендую отнестись как можно внимательнее - к текстурам объектов в GTA San Andreas принимаются жесткие требования. Итак, находим текстуру в интернете. Вы можете использовать как поисковик Гугла (никто не ищет картинки лучше его, даже Яндекс), либо специализированные сайты с бесплатными текстурами. Второй вариант в данном случае намного лучше. Я сделаю мой куб деревянным. Я уже даже нашел и сохранил текстуру:
Открываем нашу текстуру и первым делом изменяем ее размер - я выставлю 512 на 512 пикселей, т.к. почти все текстуры имеют именно такое разрешение.
Графический редактор можете закрывать, он нам не нужен.
Теперь настало время наложить текстуру в 3DS Max'е на модель. Самый простой способ сделать это: просто перетащить ее на объект из проводника, или же вы можете воспользоваться редактором материалов (клавиша M). На работе с текстурами в Максе я внимания уделять не буду по вышеописаным уже причинам.
Вот что у меня получилось:
Теперь настало время экспортировать нашу модель! Если у вас на сцене объект состоит из нескольких частей, то объедините их в один объект и проверьте, чтобы он стоял в начале координат.
Переходим на вкладку Utilities. У вас будет свиток со скриптами. Если скрипты от Kam'a или от Дениски не появились, то вы их неправильно инсталлировали. Выбирать модель перед экспортом необязательно. Я нажимаю кнопку DFF IO (не забывайте, что я использую набор скриптов от Kam'а) и у меня появляется окошко с настройками импорта/экспорта. Перейдите в окно экспорта, выберите игру, для которой разрабатывалась модель (SA стоит по умолчанию). Export Scale обозначает размер экспортируемой модели, по умолчанию он стоит на 1.0, но вы можете подредактировать его, правда вы можете ненароком уменьшить модель до размеров мамочкиного блендера, либо до размеров Андромады. Осторожнее с этим параметром. Ставьте галочку Skip Col - коллизию мы создадим позже. Если вы хотите сделать Read-only модель, то выберите Lock DFF, и нажимайте кнопку Export. Я экспортирую модель в папку Box на рабочем столе под названием Box.dff:
Теперь надо создать файл коллизии для нашей модели. Я нажимаю на кнопку Collision IO и у меня появляется такое же окно как и в случае с DFF IO. Если честно, я не знаю, какая разница между COLL, COL2 и COL3, но я всегда пользовался COL3, и именно этот тип коллизии имеют большинство объектов в San Andreas. Нажмите на кнопку Collision Mesh и кликните на наш куб (либо другой смоделированный вами объект). То же самое проделайте и с кнопкой Shadow Mesh. Эти две кнопки определяют наш объект, для которого будет создана коллизия и тени, правда, если вы хотите сделать качественный прелайт и тени, вам уже не в этот учебник. Вводите имя col-файла и сохраняете его ПОД ТАКИМ ЖЕ именем, что наш куб. В моем случае, это Box.col
Осталось настроить текстуру и донастроить коллизию перед импортом нашего объекта в игру.
Открываем TXD Workshop и создаем новую текстуру (File => New). Текстуру мы будем создавать полноцветную, так что выбирайте 32 бита.
Затем жмите Import и выбирайте нашу текстуру оттуда, куда вы ее сохранили (я еще надеюсь, что она у вас формата .bmp или .tga). Теперь нажимайте на кнопку Properties (свойства) и задавайте такое же имя, как и у модели, а также ставьте галочку Compressed (это сожмет текстуру). Если в файле текстуры есть альфа-канал, то поставьте также галочку в строке Alpha Is Used. Нажмите ОК и подождите от 10 секунд до минуты, пока идет сжатие текстуры.
Если все прошло успешно, то у вас в списке всех текстур рядом с размером появится надпись Compressed...
Теперь сохраняйте вашу текстуру в папку с моделью и коллизией (желательно для вашего же удобства) и под тем же именем (желательно, но не обязательно по моему). Если же у вас несколько текстур, то сожмите все и только потом сохраняйте (ну это простая логика).
TXD Workshop больше не нужен, можете его закрывать.
Теперь открывайте программу ColEditor и загружайте в нее наш файл коллизии (File => Open). Вы должны увидеть коллизию нашего файла. Напоминаю (уже который раз), чтобы она правильно создалась, ваш объект должен быть в центре координат в Максе.
Выберите наш объект и внизу вы увидите две кнопки - View Mode и Edit Mode. Переходите в режим редактирования, переходите на вкладку Box и выберите все (All). В разделе Surface Settings вы увидите кнопку Default. Это настройки материала. Выберите любой, я выберу тот, что ближе к нашей текстуре (напомню, что у нас деревянный ящик). Я выбрал Wood (Bench), то есть, материал, который стоит у деревянной скамейки.
Выйдите из режима редактирования и сохраните .col файл.
На этом мы
закончили создание модели, текстуры и коллизии. Настала самая
легкая часть нашего урока - перенесение модели в
игру.
Я буду все сваливать в gta3.img. Загрузите коллизию, текстуру и модель - с этим проблем возникнуть не должно.
Дальше IMG Tool нам не понадобится, можете его закрыть. Открывайте Map Editor - программу для редактирования карт GTA. Заострять внимание на работе с этой программой я не буду, да и к тому же на нашем сайте полно учебников по Map Editor'у, да и в интернете найдется.
Перейдите на вкладку Scene и отрендерите сцену, где вы хотите расположить объект. Список большой, но я лишь скажу, что Grove Street располагается в куске LAe2.IPL.
Я расположу свой бокс в центре Грув стрит. Теперь нам надо собственно расположить объект в нужном месте. Переходите к вкладке IDE и выбираете карту, которую вы рендерили сейчас (у меня это LAe2.IPL). У вас в окне ниже отобразятся все объекты, которые содержит этот кусок карты. Внизу этого окна есть кнопка New Item (не перепутайте! Этих кнопок две и нам нужна та, что располагается под первым окном). У вас отобразится окно с кучей настроек. Здесь вы можете указать свой ID модели, самое главное, чтобы он не совпадал с уже существующими ID объектов в игре. Я ввожу имя моего объекта в поле Model Name - Box и в окне предварительного просмотра у меня появляется мой куб. Я ввожу имя текстуры - Box и мой объект обретает текстуру, которую мы ему задали в 3D Max'е. Получается? Очень хорошо. Если же вы не помните имя своей модели и текстуры, то нажмите кнопку Browse справа от этих полей и выберите модель в уже в списке всех объектов GTA SA, но это не будет длиться долго - все новые модели помещаются в конец архива.
Остальные параметры я объяснять не буду, да я и не знаю, что большинство из них значат, но здесь вы также можете задать LOD для объекта, если он достаточно большой и грузит память нехило.
Как только вы нажмете ОК, то объект появится в списке. Теперь нам остается его только добавить в IPL файл. Для этого переходите на вкладку IPL и выбираете кусок карты, в который вы запихивали модель в IDE. Затем также под первым окном вы нажимаете New и выбираете IDE файл (у меня это, напоминаю, LAe2.IDE), в который вы запихивали модель. Во втором окне вы выбираете собственно, вашу модель - Box.dff и она отобразится в окне быстрого просмотра. Остается только нажать ОК.
Теперь ваш объект появляется на карте! Остается его расположить в нужной вам точке с помощью органов управления. Вот мой результат:
Объекты в Map
Edtior'е выглядят немного сплюснутыми, но в игре все будет
отлично. Слева вы видите поля, где можно выставить интерьер -
если вы например, вставляете объект в дом Карла, то вам нужно
будет указать и номер интерьера, тогда объект встанет
правильно. Для точной корректировки местоположения вы можете
ввести координаты. Вот мои:
X: 2490.01
Y: -1669.91
Z: 12.7191
Также для интереса я повернул объект по оси Z. Также вы можете указать LOD для вашего объекта. Все, на этом заканчивается эта глава, перейдите на вкладки IDE и IPL и нажмите кнопки Save, а затем подтвердите сохранение. Также зайдите в меню File и выберите там Save Installation. Все, переходим к демонстрации.
Я свофотографировался на фоне большооого куба (как я и говорил, Map Editor несколько искажает реальные размеры объектов). У него есть текстура, а значит, он выглядит довольно таки неплохо. У него есть коллизия, значит, по нему можно бегать, и мы не будем проходить сквозь него.
Если у вас все
получилось, то я вас поздравляю, вы смогли самостоятельно
смоделировать и вставить объект в игру. Если у вас что-то не
получилось, не расстраивайтесь, почитайте следующий раздел и
попробуйте внимательнее прочитать статью, сделав все с самого
начала. Ну а у нас последний на сегодня раздел этой длинноватой
уже статьи.