3dsmax 8. Подгрузка объектов уровня — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
RedPython (обсуждение | вклад) м («3dsmax. Подгрузка уровня в 3ds max 8» переименована в «3dsmax 8. Подгрузка уровня») |
Pihan13 (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | В данной статье я расскажу как настроить конвертер от Бардака для декомпиляции уровней, преобразовать им уровень в формат редактора уровней из комплекта SDK от Сталкера, а затем подгрузить данный уровень в 3ds max 8. В уроке я расскажу о некоторых приёмах работы с material editor-ом и о использовании слоёв. | |
− | + | <br> | |
− | + | <br>В процессе нам понадобится [http://www.stalkerin.gameru.net/downloads/SDK/ai_compiler/xray_re-tools-10sep2008.rar xray_re-tools-10sep2008], плагины экспорта в формат object, установленный SDK для сталкера, 3ds max 8 и распакованная игра. | |
− | + | <br> | |
− | + | <br>И так начнём, сначала распакуем xray_re-tools (куда не важно), после чего нужно поправить конфиги, в '''fsconverter.ltx'''. | |
− | + | <br> | |
− | + | <ini>$sdk_root$ = false| false| C:\program files\x-ray sdk\level_editor\</ini> | |
− | + | По умолчанию так, зависит от того куда вы установили сдк. | |
− | + | <br>В '''converter.ini''' ищем секцию 2947 (тень Чернобыля) и указываем пути (у меня так, поправьте их под свои): | |
− | + | <ini><nowiki>; 2947+ (финалка включая обновления) | |
− | + | [2947_config]:2945_config | |
− | ''' | + | $game_data$<nowiki>= C:\Moding\SoC\gamedata\ |
− | + | $game_levels$<nowiki>= C:\Moding\SoC\gamedata\levels\</ini> | |
− | + | И напротив слова '''default = 2947_config''' (т.е. поставили за умолчанием секцию теней Чернобыля). | |
− | + | <br>Теперь в папке xray_re-tools создадим bat-файл. Для этого создайте текстовый документ и смените расширение (например: '''Текстовый документ.txt''' поменяйте на '''декомпиляция.bat''') в котором напишите: | |
− | + | <ini>converter -level testers_mp_rostok -out rostok -mode le -with_lods | |
− | + | pause</ini> | |
− | + | т.е. у меня карта с именем '''testers_mp_rostok''', будет сохранена в SDK в папку '''maps''' с именем '''rostok''', а ключи le и -with_lods указывают что карта разберётся в формат Level Editor'a и с лодами. После редактирования сохраняем и закрываем содержимое батника, щёлкаем на нём 2 раза и ждём пока разберётся локация. | |
− | + | <br> | |
− | + | <br>После чего открываем Level Editor, жмём file -> open и выбираем '''rostok'''. Для удобности можно удалить мелкие объекты и деревья, вот как стало у меня. | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level1.jpg|thumb|150px|Удалены lod-объекты]] | |
− | ''' | + | |} |
− | + | Мне понравился вот этот объект: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level2.jpg|thumb|150px|Трансформаторная будка, которую мы будем рипать]] | |
− | + | |} | |
− | + | Выделяем его и жмём enter, видим: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level3.jpg|thumb|150px|Object Properties выбранного объекта]] | |
− | + | |} | |
− | + | Нас интересует '''Reference level\rostok\rostok_part0011''' (т.е. где искать наш объект). | |
− | + | <br>Теперь открываем Actor Editor, жмём file -> load и открываем этот объект. Обычно он находится здесь С:\Program Files\X-Ray SDK\level_editor\rawdata\objects\levels\rostok. | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level4.jpg|thumb|150px|Наш объект в Actor Editor'e]] | |
− | + | |} | |
− | [[Изображение:load_level1.jpg| | + | Затем в Actor Editor'e жмём File -> export -> export to obj, указываем имя, куда сохранять и жмём ок. |
− | + | <br>Но не спешим закрывать Actor Editor, нам ещё интересна вкладка '''Surface''' - там у нас настройка материалов. | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level5.jpg|thumb|150px|Actor Editor с раскрытой вкладкой '''Surface''']] | |
− | + | |} | |
− | [[Изображение:load_level2.jpg| | + | Теперь запускаем макс (не забываем что должны быть установлены плагины экспорта для макса в формат object и смонтирован виртуальный жёсткий диск X:\) |
− | + | <br>Щёлкаем на иконке слоёв. | |
− | [[Изображение:load_level3.jpg| | + | {| |
− | + | |valign=top|[[Изображение:load_level6.jpg|thumb|150px]] | |
− | + | |} | |
− | ''' | + | И видим: |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level7.jpg|thumb|150px|Окно Слоёв]] | |
− | + | |valign=top|[[Изображение:load_level8.jpg|thumb|150px]] | |
− | [[Изображение:load_level4.jpg| | + | |} |
− | + | Так же мы видим колонки '''hide''' (можем спрятать как весь слой так и объект слоя), '''freeze''' (можем заморозить как весь слой так и объект слоя, т.е. запретить трансформацию и выделение), '''render''' (тут различные типы визуализации объекта/слоя) и т.д. | |
− | + | <br>Итак, жмём на слое правой кнопкой мыши, выбираем из открывшегося меню '''select''' а затем жмём file > import и выбираем то что мы сохранили из Actor Editor'а, видим: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level9.jpg|thumb|150px|Окно импорта OBJ-файла]] | |
− | [[Изображение:load_level5.jpg| | + | |} |
− | + | Делаем всё как на рисунке. В результате чего получили все объекты нашего домика на новом слое: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level10.jpg|thumb|150px| Наш объект в 3dsmax импортирован и распределён по слою]] | |
− | + | |} | |
− | [[Изображение:load_level6.jpg| | + | В дальнейшем мы можем легко выделить все объекты слоя нажав на слое правой клавишей мыши и выбрав select, так же можем поступить с любым объектом слоя, ещё мы можем спрятать весь слой или его части, и при необходимости быстро выделив слой (те все объекты дома и экспортировать его). |
− | + | <br>Теперь перейдём к настройке материалов, нажмём M и увидим: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level11.jpg|thumb|150px|Окно редактора материалов]] | |
− | + | |} | |
− | [[Изображение:load_level7.jpg| | + | Делаем как показано на рисунке и видим: |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level12.jpg|thumb|150px|Окно Material\Map Browser]] | |
− | [[Изображение:load_level8.jpg| | + | |} |
− | + | Теперь делаем следующее: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level13.jpg|thumb|150px|Перенос материалов сцены из библиотеки в слоты Material Editor'a. ]] | |
− | + | |} | |
− | [[Изображение:load_level9.jpg| | + | Каждый материал нужно назначить в свой слот. Делать это можно двумя способами: |
− | + | * 1.Выбирать ячейку и кликать по материалу 2 раза, каждый раз передвигая выделение слота. | |
− | + | * 2. Просто перетаскивать материалы из окна Material\Map Browser по ячейкам Material Editor'a. | |
− | + | Ну вот текстуры все в слотах, дело за материалами и открытием текстур: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level14.jpg|thumb|150px|Замена типа материала со '''Standart''' на '''S.T.A.L.K.E.R. MTL''']] | |
− | + | |} | |
− | + | Такими действиями мы поставим тип материалов сталкера. | |
− | + | <br>Теперь назначаем сами свойства материала. В максе они тут: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level15.jpg|thumb|150px| Настройки шейдеров материала]] | |
− | + | |} | |
− | + | А теперь вспоминаем, что это домик у нас открыт в Actor Editor'e и мы можем посмотреть настройку материалов для конкретной текстуры: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level16.jpg|thumb|150px]] | |
− | + | |} | |
− | + | Меняем материалы для всех текстур, а затем: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level17.jpg|thumb|150px]] | |
− | + | |} | |
− | + | После чего выбираем текстуру из папки с распакованной игрой и после видим это: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level18.jpg|thumb|150px]] | |
− | + | |} | |
− | + | Повторяем операцию для всех текстур и в результате: | |
− | + | {| | |
− | + | |valign=top|[[Изображение:load_level19.jpg|thumb|150px]] | |
− | + | |} | |
− | + | Ну вот собственно данную операцию повторяем для всех объектов из нашего уровня, и благодаря тому что они будут на разных слоях мы сможем быстро оперировать нужными нам объектами(выделять, а значит экспортировать, прятать, а значит облегчать себе работу) Не знаю как вы, а я делаю именно так, использование слоёв очень удобно и практично особенно если в сцене много объектов, а очень часто это именно так. Надеюсь статья окажется вам полезной. | |
− | + | <br> | |
− | + | <br>Автор: '''Жуков Антон (Dzot), AMK-II(c)''' | |
− | + | <br>Оформление: '''Pihan13''' | |
− | + | ||
− | + | ||
− | < | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | ''' | + | |
[[Категория:Wireframe]] | [[Категория:Wireframe]] |
Версия 06:08, 5 января 2011
В данной статье я расскажу как настроить конвертер от Бардака для декомпиляции уровней, преобразовать им уровень в формат редактора уровней из комплекта SDK от Сталкера, а затем подгрузить данный уровень в 3ds max 8. В уроке я расскажу о некоторых приёмах работы с material editor-ом и о использовании слоёв.
В процессе нам понадобится xray_re-tools-10sep2008, плагины экспорта в формат object, установленный SDK для сталкера, 3ds max 8 и распакованная игра.
И так начнём, сначала распакуем xray_re-tools (куда не важно), после чего нужно поправить конфиги, в fsconverter.ltx.
$sdk_root$ = false| false| C:\program files\x-ray sdk\level_editor\
По умолчанию так, зависит от того куда вы установили сдк.
В converter.ini ищем секцию 2947 (тень Чернобыля) и указываем пути (у меня так, поправьте их под свои):
<nowiki>; 2947+ (финалка включая обновления) [2947_config]:2945_config $game_data$<nowiki>= C:\Moding\SoC\gamedata\ $game_levels$<nowiki>= C:\Moding\SoC\gamedata\levels\
И напротив слова default = 2947_config (т.е. поставили за умолчанием секцию теней Чернобыля).
Теперь в папке xray_re-tools создадим bat-файл. Для этого создайте текстовый документ и смените расширение (например: Текстовый документ.txt поменяйте на декомпиляция.bat) в котором напишите:
converter -level testers_mp_rostok -out rostok -mode le -with_lods pause
т.е. у меня карта с именем testers_mp_rostok, будет сохранена в SDK в папку maps с именем rostok, а ключи le и -with_lods указывают что карта разберётся в формат Level Editor'a и с лодами. После редактирования сохраняем и закрываем содержимое батника, щёлкаем на нём 2 раза и ждём пока разберётся локация.
После чего открываем Level Editor, жмём file -> open и выбираем rostok. Для удобности можно удалить мелкие объекты и деревья, вот как стало у меня.
Мне понравился вот этот объект:
Выделяем его и жмём enter, видим:
Нас интересует Reference level\rostok\rostok_part0011 (т.е. где искать наш объект).
Теперь открываем Actor Editor, жмём file -> load и открываем этот объект. Обычно он находится здесь С:\Program Files\X-Ray SDK\level_editor\rawdata\objects\levels\rostok.
Затем в Actor Editor'e жмём File -> export -> export to obj, указываем имя, куда сохранять и жмём ок.
Но не спешим закрывать Actor Editor, нам ещё интересна вкладка Surface - там у нас настройка материалов.
Теперь запускаем макс (не забываем что должны быть установлены плагины экспорта для макса в формат object и смонтирован виртуальный жёсткий диск X:\)
Щёлкаем на иконке слоёв.
И видим:
Так же мы видим колонки hide (можем спрятать как весь слой так и объект слоя), freeze (можем заморозить как весь слой так и объект слоя, т.е. запретить трансформацию и выделение), render (тут различные типы визуализации объекта/слоя) и т.д.
Итак, жмём на слое правой кнопкой мыши, выбираем из открывшегося меню select а затем жмём file > import и выбираем то что мы сохранили из Actor Editor'а, видим:
Делаем всё как на рисунке. В результате чего получили все объекты нашего домика на новом слое:
В дальнейшем мы можем легко выделить все объекты слоя нажав на слое правой клавишей мыши и выбрав select, так же можем поступить с любым объектом слоя, ещё мы можем спрятать весь слой или его части, и при необходимости быстро выделив слой (те все объекты дома и экспортировать его).
Теперь перейдём к настройке материалов, нажмём M и увидим:
Делаем как показано на рисунке и видим:
Теперь делаем следующее:
Каждый материал нужно назначить в свой слот. Делать это можно двумя способами:
- 1.Выбирать ячейку и кликать по материалу 2 раза, каждый раз передвигая выделение слота.
- 2. Просто перетаскивать материалы из окна Material\Map Browser по ячейкам Material Editor'a.
Ну вот текстуры все в слотах, дело за материалами и открытием текстур:
Такими действиями мы поставим тип материалов сталкера.
Теперь назначаем сами свойства материала. В максе они тут:
А теперь вспоминаем, что это домик у нас открыт в Actor Editor'e и мы можем посмотреть настройку материалов для конкретной текстуры:
Меняем материалы для всех текстур, а затем:
После чего выбираем текстуру из папки с распакованной игрой и после видим это:
Повторяем операцию для всех текстур и в результате:
Ну вот собственно данную операцию повторяем для всех объектов из нашего уровня, и благодаря тому что они будут на разных слоях мы сможем быстро оперировать нужными нам объектами(выделять, а значит экспортировать, прятать, а значит облегчать себе работу) Не знаю как вы, а я делаю именно так, использование слоёв очень удобно и практично особенно если в сцене много объектов, а очень часто это именно так. Надеюсь статья окажется вам полезной.
Автор: Жуков Антон (Dzot), AMK-II(c)
Оформление: Pihan13