Додаємо свій об'єкт у GTA San Andreas
Я вирішив написати статтю про те, як правильно вставляти свої об'єкти в гру GTA San Andreas. Тут ви також знайдете відповіді на питання, які зазвичай виникають у початківців з цієї теми.
Зміст:
1. Необхідний інструментарій.
2. Моделювання та текстурування.
3. Вставка об'єкта в гру.
4. Розбір найчастіших проблем і питань, що виникають у початківців маперів
1. Необхідний інструментарій
Для початку вам знадобиться програма для моделювання. Я рекомендую 3D Studio Max, хоча в принципі, ви можете використовувати і Blender, і Maya. Але, спішу вас порадувати, що якщо ви не збираєтеся моделювати в Максі, то вам знадобиться ще й програма ZModeler для конвертації моделі в формат .dff Так що рекомендую одразу запастися Максом, та й моделювати в ньому не так складно, як вам здається, варто лише прочитати (подивитися) пару уроків. В якості сьогоднішнього тренінгу я детально зупинятися на моделюванні не буду - я змоделюю простий куб, але ж цього для демонстрації достатньо, чи не так? Далі. Я використовую дев'яту версію Макса, але ви можете використовувати і будь-яку іншу, але стабільну роботу скриптів на нових версіях Макса я НЕ гарантую. Так що буде достатньо і цієї версії програми.
Тепер нам знадобляться скрипти для конвертації моделі та колізії. Різниці в скриптах від 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 - платна програма!).
Ну що ж, переходимо до початку роботи!
2. Моделювання та текстурування
Перед початком роботи вам потрібно встановити скрипти для 3DS Max'a. Я використовую скрипти від Kam'a, туди входять:
* Інструмент для імпорту/експорту моделей .dff
* Інструмент для експорту (і знову ж імпорту) колізії формату .col
* Інструмент для створення текстурних карт.
* Інструмент для створення анімації.
До того ж, у самому Max'e досить непоганий інструментарій, який і виправдовує його вагу.
Переконайтеся, що скрипти встановлені, і запустіть 3DS Max. Якщо вам так зручніше, то розкрийте вікно перспективи на весь екран і приступайте до моделювання. Знову ж таки, якщо у вас виникає питання "а як моделювати?" то не флудьте про це в коментарях, а задайте своє питання Гуглу. Людина, яка взялася за справу, точно знає, які труднощі її чекають, і постарається їх усунути.
Я змоделюю куб, простий, зовсім простий, використовуючи вкладку Create => Cube.
Зверніть увагу, що не варто робити занадто високополігональні моделі. Навіть якщо ви змоделювали щось з великою кількістю полігонів, то використовуйте модифікатори, щоб зменшити їх число, інакше гра буде лагати, підвантажуючи всі полігони вашої моделі. В першу чергу - оптимізація!
Потім, щоб колізія була коректною, поставте ваш об'єкт в нулі координат (ПКМ по інструменту переміщення об'єктів => Виставте всюди 0.0). Я, звісно, не буду заморочуватися з моделюванням, а вам раджу докласти якомога більше зусиль до цього етапу! Можливо навіть, що у вас піде не один день тільки на моделювання, тож запасіться терпінням.
Припустимо, наша модель вже готова (так у мене і є). Тепер прийшов час накласти текстури. До цього кроку я рекомендую поставитися як можна уважніше - до текстур об'єктів у GTA San Andreas приймаються жорсткі вимоги. Отже, знаходимо текстуру в інтернеті. Ви можете використовувати як пошуковик Гугла (ніхто не шукає картинки краще за нього, навіть Яндекс), або спеціалізовані сайти з безкоштовними текстурами. Другий варіант у даному випадку набагато кращий. Я зроблю свій куб дерев'яним. Я вже навіть знайшов і зберіг текстуру:
Вам навряд чи видно, але вона має розмір 1500х1500 пікселів, має формат .JPEG і має вагу аж 2 з лишком мегабайти. Ви можете запитати: і що такого? Я ж вам ось що відповім: для коректного відображення текстур, вони повинні бути стиснуті, мати формат .bmp (або .tga) і вони повинні бути квадратними (прямокутні HD-текстури вам доведеться попсувати - на жаль, движок Render Ware вже застарів). Ось для цього вам і знадобиться графічний редактор. Як я казав, підійде і Paint, але я буду використовувати більш вмілу програму Paint.NET.
Відкриваємо нашу текстуру і першим ділом змінюємо її розмір - я виставлю 512 на 512 пікселів, оскільки майже всі текстури мають саме таке розширення.
Тепер зберігаємо її у форматі .bmp, наприклад. Інакше ви просто не зможете вставити її в гру.
Також ви можете підредагувати насиченість картинки, прибрати водяний знак, а якщо ви вмієте працювати в Photoshop (ех, мені б ваші вміння), то ви зможете довести текстуру до фотореалізму!
Графічний редактор можете закривати, він нам не потрібен.
Тепер настав час накласти текстуру в 3DS Max'і на модель. Найпростіший спосіб зробити це: просто перетягнути її на об'єкт з провідника, або ж ви можете скористатися редактором матеріалів (клавіша M). На роботі з текстурами в Максі я уваги приділяти не буду з вищеописаних причин.
Ось що у мене вийшло:
Тепер настав час експортувати нашу модель! Якщо у вас на сцені об'єкт складається з кількох частин, то об'єднайте їх в один об'єкт і перевірте, щоб він стояв на початку координат.
Переходимо на вкладку Utilities. У вас буде свиток зі скриптами. Якщо скрипти від Kam'a або від Дениски не з'явилися, то ви їх неправильно інсталювали. Вибирати модель перед експортом необов'язково. Я натискаю кнопку DFF IO (не забувайте, що я використовую набір скриптів від Kam'a) і у мене з'являється вікно з налаштуваннями імпорту/експорту. Перейдіть у вікно експорту, виберіть гру, для якої розроблялася модель (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 файл.
На цьому ми закінчили створення моделі, текстури і колізії. Настала найпростіша частина нашого уроку - перенесення моделі в гру.
3. Вставка об'єкта в гру
Настав час вставити наш об'єкт у гру. Переконайтеся, що у вас є .dff файл (модель), .txd файл (текстура) і .col файл (колізія). Відкриваєте будь-який свій редактор ігрових архівів, у мене це IMG Tool. Тепер виріште, в який архів ви покладете модель. Врахуйте, що у архіву GTA3.img майже вичерпані ліміти, тому при переповненні архіву гра буде вилітати. Якщо модель велика, то рекомендую покласти її в менш завантажений архів (cutscene.img наприклад), а якщо ви створюєте глобальний мод, то має сенс очистити gta3.img від непотрібних об'єктів, тільки будьте обережні з цим.
Я буду все скидувати в 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 дещо спотворює реальні розміри об'єктів). У нього є текстура, а значить, він виглядає досить непогано. У нього є колізія, значить, по ньому можна бігати, і ми не будемо проходити крізь нього.
Якщо у вас все вийшло, то я вас вітаю, ви змогли самостійно змоделювати і вставити об'єкт в гру. Якщо у вас щось не вийшло, не засмучуйтеся, почитайте наступний розділ і спробуйте уважніше прочитати статтю, зробивши все з самого початку. Ну а у нас останній на сьогодні розділ цієї довгуватої вже статті.
4. Часто виникаючі проблеми та питання
Якщо у вас щось не так, то я раджу вам прочитати цей розділ - тут я зібрав проблеми, які часто виникають у користувачів, та які виникали у мене. Що ж, я дав на них відповіді.
П: Я зробив все правильно, але при спробі завантажити гру, вона вилітає в середині завантаження. Що не так?
В: Швидше за все, у тебе проблема з колізією.
П: В Map Editor'і у мене після завантаження чорний екран. Шлях до GTA правильний. Що не так, може справа в Editor'і?
В: Перевір, чи немає в шляху до гри кирилиці. Якщо немає, то скачай іншу версію Едитора.
П: У мене не відображаються текстури в Map Editor'і і він жахливо лагає. Галочка Textures в властивостях стоїть.
В: Онови драйвера на відеокарту.
П: Гра вилітає в самому кінці завантаження. Що не так?
В: Перевір, чи не пошкоджений файл моделі. Для того, щоб це перевірити, імпортуй .dff в Макс через скрипт від Kam'а або від Дениса. Спробуй видалити і заново завантажити колізію, модель і текстуру в .img архів. Спробуй заново розмістити об'єкт на карті.
П: Я накладаю текстуру в 3DS Max'і через редактор матеріалів. Виглядає, що роблю все правильно, вибираю матеріал, перетаскиваю його з вікна перегляду матеріалів на модель, але текстура все одно не відображається. Міняється тільки колір моделі.
В: Прямо під вікном з матеріалами є ряд кнопок. Натисни на кнопку Show Standard Map In Viewport - вона четверта з кінця і має вигляд кубика.
П: TXD Workshop показує помилку Property Out Of Range при спробі зберегти текстуру. І висне.
В: Скачай п'яту версію з нашого сайту. Я вирішив свою проблему саме таким способом. Те ж саме стосується і до інших помилок TXD Workshop'а.
П: IMG Tool на початку запуску видає якусь помилку, але працює нормально, не вилітає, та й в грі все добре. Що це?
В: Не звертай уваги) У мене так само, але я раджу скачати іншу версію IMG Tool'а або взагалі інший редактор .img архівів - IMG Tool має масу недоліків і підходить лише для зовсім новачків.
П: Чи можна додати об'єкт в гру не використовуючи Map Editor?
В: Можна, шляхом редагування IDE і IPL файлів того шматка карти, де ти хочеш розмістити об'єкт. Але це вже для зовсім профі, які можуть із зав'язаними очима зібрати і розібрати GTA по байтах.
П: Чи можна обійтися без ColEditor'a?
В: В принципі так, але у мене вже стало звичкою відкривати його для налаштування колізії.
Ось і все. Я розібрав всі найчастіші питання, які виникають у початківців. Я явно перерахував не все, тож якщо що, задавайте свої питання в коментарях до цієї статті, а також ставте хороші оцінки, я старався