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

Материал из GTAModding.ru

Перейти к: навигация, поиск

В этом уроке мы опишем, как сделать ломающийся объект в 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