Делаем ломающиеся объекты (SA)

Материал из GTAModding.ru
Версия от 08:05, 21 апреля 2014; DK22 (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

В этом уроке мы опишем, как сделать ломающийся объект в GTA SA с помощью 3DS Max и плагина к нему.
Урок рассчитан на моддеров, которые знают как накладывать текстуры в 3DS Max, знают как двигать объекты в Максе,
знают как импортировать-экспортировать dff, txd, coll, знают как делать кулл с помощью макса и как вставлять объекты в игру.

Содержание

Инструменты

Что нам понадобиться для этого дела:

  1. Сам GTA SA
  2. 3DS Max 7 или выше
  3. Скрипты от Дениски
  4. IMG Tool v.2.0 или аналог
  5. TXD Workshop
  6. Photoshop или любой графический редактор
  7. Map Editor
  8. CollEditor II
  9. RW-Analyze 0.4 beta - позволяет увидеть всю структуру выбранной модели/текстуры.

ВНИМАНИЕ! В этом туторе не описывается, как делать модель коллизии и как вставлять в игру объект. Если вы не знаете, как это делать то можете дальше не читать.

Подготовка моделей

Распаковываем скрипты от Дениски в любую папку, а от туда уже делаем вот так: Скидываем папки Startup и sa_tools в директорию 3dMax\Scripts.

В максе чтоб найти этот скрипт заходим на панель Utilites Broc01.jpg далее нажимаем на MAXscript и внизу вылезит вот такое окошко:

Broc02.jpg

И из списка выбираем Broc03.jpg

Вылезет еще одно окно.. оно в самом низу списка.. пролистайте чуток вниз

Broc04.jpg

Вот это и есть скрипты от Дениски.

Первым делом нам нужна модель которую мы хотим сломать. Импортируем ее или создаем в 3D Max (далее буду называть «Макс»). А сделаем мы вот такую штуку: похоже на столб с рекламами и афишами

Broc05.jpg

Он у меня состоит из 2 частей.

Broc06.jpg

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

Broc07.jpg

Теперь конвертируем его в Editable Mesh. Нажимаем ПКМ на объекте и выбираем пункт Convert To, а там Convert to Editable Mesh

Broc08.jpg

В списке модификаторов должна появиться строка Editable Mesh

Broc09.jpg

Теперь выбираем polygon Broc10.jpg

И выбираем ту часть, которую хотим отделить..

Broc11.jpg

И жмем кнопочку Detach Broc12.jpg

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

Broc13.jpg

Жмем ОК и все. Кусок отделен. Выделяем верхушку и видим, что действительно объекта стало два.

Broc14.jpg


Вот и все. Как видите, в отделении ничего сложного нет.

Далее надо чтоб каждый кусок имел свой ID номер и свою отдельную текстуру. Даже если вы используете одну текстуру на весь объект. Для этого надо выбрать Multi\Sub Object и там поставить 2 материала. (у вас может быть и больше и меньше в зависимости сколько ломаных частей у вас будет)

Broc15.jpg


Текстурим

Профи могут смело пропускать этот пункт т.к. тут я буду бегло рассказывать как затекстурить модель. Итак у нас 2 части, следовательно нужно 2 текстуры или сколько вы там захотите, даже одну можно использовать. Я думаю, текстуры вы уже приготовили. Поехали.

Открываем Material Editor или просто жмакая клавишу «М» открывается вот такая панелька:

Broc16.jpg

Там нажимаем на клавишу Standart и выбираем материал Multi\Sub Object

Broc17.jpg

Когда сделали, то должна появиться вот такая панелька:

Broc18.jpg

Тут удаляем ненужные окна, просто нажимая на delete Broc19.jpg или Add, если хотите добавить. Теперь приступим к занесению текстур. Жмем на кнопочку

Broc20.jpg

Соответственно на каждую новую текстуру нажимаем свою кнопку, ну вроди-бы суть ясна.. После нажатия откроется вот такое окно:

Broc21.jpg

Там нажимаем на маленький квадратик напротив слова Diffuse, и откроется окно Material/Map Browser

Broc22.jpg

Там жмем на Bitmap, далее откроется окно, где вы выбираете свою текстуру,… когда выбрали, то будет вот что:

Broc23.jpg

Далее ту часть, которую вы хотите затекстурить, конвертируем в Editable Mesh и выбираем тип Polygon. (если вы не научились до сих пор этого делать, то можете дальше не читать) Выделили

Broc24.jpg

Теперь листаем список вниз и находим вкладку Surface Properties. Далее назначаем текстуру на выделенный объект. Broc25.jpg теперь смотрим, какой ID нам присвоили, там может оказаться и 4 и 5 и 7 ну и т.д. а нам нужно, чтоб стоял 1 т.к. текстура идет у нас первая (т.е. если материал стоит 1, то и ID должен быть 1). Ставим значение 1 и нажимаем на кнопку Quick Render Broc26.jpg, если текстура видна, значит все сделано правильно.

Broc27.jpg

Если нет, то надо попытаться проделать еще раз. А если же все получилось, то текстурьте остальные ломаные объекты… Вот что вышло:

Broc28.jpg

Примечание: чтобы вернуться назад к материалам нажимайте кнопку Go to parent Broc29.jpg 2 раза.

Экспортирование модели

Ну а теперь начнем экспортировать нашу модельку, выбираем скрипт

Broc30.jpg

Там вылезет вот такое окно:

Broc31.jpg

В одноименных полях выставляем: unk1, unk2, unk3 = 60 unk4 = 120 Выделяем наш ломаный объект и экспортируем его, задав какое-нибудь имя. Так делаем со всеми ломаными частями. Если вы сохранили модель под одним именем, то все остальные объекты (ломанные) сохраняйте под таким же именем, т.е. перезаписывая.

Теперь надо сделать Кулл для модели. Лучше делать в максе. Если не знаете, как делать в максе то делайте как обычно через CollEditor. Для каждой части свой кул. Если частей 3 то и кулов у объекта должно быть 3. Сделали кулл. Теперь перейдем непосредственно к той части, которая отвечает за «ломачину»

Теперь открываем программу RW Analyze.

Увеличить


Жмем, Файл =>Открыть (или просто Ctrl+O) и выбираем нашу рекламу.. И смотрим, что нам открыло..

Увеличить

Это вся структура нашей модели. Теперь нам нужна вот эта строчка:

Увеличить

Жмем на ней ПКМ и выбираем пункт «Импорт данных секции»

Broc35.gif

Теперь выбираем наш файл (который сделали) с расширением .bin Как только импортировали, то снизу в таблице появятся значения:

Broc36.gif


Значит все гуд. Теперь сохраняем нашу модельку Файл => Сохранить (или просто Ctrl+S) Теперь надо его впихнуть в игру. Этот пункт пропущу т.к. подобное было описано в уроке «Создание и вставка острова в игру» принцип одинаков. Это еще не все.. теперь надо объект, т.е. нашу рекламу прописать в object.dat который сидит в папке data.

Настройки в object.dat

Открываем object.dat. Вверху как всегда описание столбцов. Сейчас покажем, какие параметры нужны:

Столбец (I) Collision Damage Effect - нужно ставить 200 (примерно как у скамейки)
Столбец (J) Special Collision Response Cases - выбираем
1:lampost
2:smallbox
3:bigbox
4:fencepart

И столбцы BREAKABLE INFO:
BREAKABLE INFO:

; ===============
;
; (B-SM) Smash Multiplier - if set to 2.0 then it will take twice the force to smash as opposed to break an object 
  (1.0 - smash only - never break, set very large if it only breaks and never smashes)
; (B-VX) Break Velocity X - velocity of breakable parts ; (B-VY) Break Velocity Y ; (B-VZ) Break Velocity Z ; (B-VR) Break Velocity Rand - velocity randomness factor ; (B_GUN) Gun Break Mode - 0 - not breakable by gun, 1 - breakable, 2 - smashable ; (B_SPK) Produce Sparks on Impact - 0 - no sparks, 1 - sparks produced


Итак. Чтоб не запутаться в этих строках возьмем по примеру:
Ищем строчку breakables и возьмем в качестве примера скамейку parkbench1

parkbench1, 50.0, 100.0 0.99, 0.05, 50.0, 5.0, 1.0, 200, 0, 1, 0, 0, 0.0, 0.0, 0.0, none 115.0, 0.0, 0.0, 0.1, 0.07, 1, 0

и по примеру делаем нашу рекламу:

reklama, 50.0, 100.0 0.99, 0.05, 50.0, 5.0, 1.0, 200, 0, 1, 0, 0, 0.0, 0.0, 0.0, none 115.0, 0.0, 0.0, 0.1, 0.07, 1, 0

Значит, стенд с рекламой будет по свойствам, как и скамейка.

Теперь чуть-чуть просмотрим настройки:
(B-SM) 2.0 – это вроде разрушится, может дважды, т.е. один раз въехать потом второй
1.0 – разбивает в дребезги

(B_GUN) 0 – это разрушение с помощью оружия
1 – это просто разрушение
2 – это вроде от машины.. хотя не уверен..

(B_SPK) 0 – это без искр (или чего подобного)
1- уже с искрами (или чего подобного)

Я не проверял эти параметры, так что могу и ошибиться. Вот что у меня вышло:

Broc37.jpg

Все! Теперь это дело вставляем в игру через мед. Я вставил поближе, чтоб далеко не ходить. Загружаем игру. Если при загрузке и вас вырубает, то наверно вы не правильно сделали кулл. Проверти, совпадают ли имена.

Результат

Такс вот моя реклама.

Broc38.jpg


Теперь достаем дробовик и пуляем по рекламе!!! Вот что осталось от нее… лишь крышечка…

Broc39.jpg


Вот и все. Так можно делать любой объект. Лишь бы фантазии хватило и усердия.

Автор: ZimeT
Оригинальная статья на gtamir.ru