Всем доброго времени суток. Решил я создать тему, про такой вот способ создания ландшафта.
Что из себя представляет в GZDoom. Несколько скринов такого ландшафта:
Скрытый текст:
Что для этого нужно:
Скрытый текст:
GZDB последние билды(версии) тут.
Программа EarthSculptor. Я лично пользуюсь 1.05 версией.
По идее можно использовать тот же Blender или любой другой подобный 3D редактор умеющий импортировать 3D модель в .obj, но ИМХО EarthSculptor удобнее и проще, особенно для тех кто не умеет делать 3D модели.
Собственно кому лень искать, небольшие уроки как пользоваться программой(в комментариях), там же и ссылка на 1.05 версию Ссылка
От себя добавлю..
Что бы сохранить свою карту жмите Export>Obj Export и выставляйте примерно такие параметры:
Скрытый текст:
LOD 0.01 или 0.02 по моему лучше всего для большого ландшафта(1024х1024) т.к. меньше лагов в GZDoom.
Что бы добавить готовый ландшафт XXX.Obj на карту, открываем GZDoomBuilder, жмем File>Import>WaveFront.obj as Terrain..
В открывшемся окне выбираете свой файл xxx.obj, выставляете Scale (имхо лучше от 10.0000 до 15.0000)
Up Axis ставим на Y
И ставим галочку Sloped Terrain. Если не поставить, посмотрите что будет, по своему интересно..
Жмем Import и ждем, если вы делали ландшафт размером 1024x1024 и выше, придется ждать долго. (Как показала практика достаточно 1024х1024.)
Так же ландшафт можно экспортировать из GZDoomBuilder в 3D модель формата .obj (Просто выделяем нужные сектора и жмем File>Export>Selection to WaveFront.obj) получившийся .obj файл удобно редактировать в Blender. В EarthSculptor я не знаю можно ли импортировать .obj путем конвертирования в .MAP
В EarthSculptor можно наложить текстуру на ландшафт, потом импортировать ее.
Export>Terrain Textures в открывшихся настройках HardwareRender ставим галочку, Size картинки лучше ставить не более 2048х2048 и убрать галочку с Color (если не убрать уж сильно засвечивает картинку..) и жмем RUN.
Можно и 4096х4096, но картинка экспортируется в .PNG формате, что не очень хорошо для GZDoom и ее вес будет около 20мб., лучше переделайте ее в .jpg с помощью Photoshop или чего другого, тем самым уменьшите вес картинки.
Что бы натянуть картинку на ландшафт в GZDoom, добавляем ее в pk3 архив(или Wad), выделяем все секторы ландшафта в GZDB(если большой придется подождать) и цепляем на пол картинку, и подгоняем ее (с помощью Scale) или весь ландшафт под размер картинки.
Вот пример такого ландшафта в PK3 архиве(Только плохого качества, на скорую руку делал.):
Ссылка
В итоге полученные карты объединить в HUB, получится довольно красочный мод, на котором можно выстраивать здания и т.д. уже в GZDoomBuilder, будет ли тормозить такая карта? Все зависит от самого себя, как сделаешь так и будет.
Еще есть небольшой нюанс.. Как правило у карты будет много треугольников, причем не нужных их надо удалять или объединить в 1 сектор с другими треугольниками такой же высоты, на худой конец просто сделать Z высоту Vertices(точки) у всех не нужных треугольников одинаковой, это не много снизит нагрузку.
Вообще на эту тему можно даже спидмапы устраивать, думаю интересно было бы.
Так же предлагаю тут выкладывать готовые ландшафты в .obj или уже в Wad архиве (Только не такие как пример, он делается за 2 мин.)
alekv
Хорошая идея, в своё время я предлагал landscape map contest, но все крутили носом, правда и способ создания уровня из карты высот, с помощью одного заброшенного генератора, был немного извращённый.
alekv
Хорошая идея, в своё время я предлагал landscape map contest, но все крутили носом, правда и способ создания уровня из карты высот, с помощью одного заброшенного генератора, был немного извращённый.
Ну данный способ прост и результат очень хорош если постараться, и возможен благодаря разработчику GZDB MaxEd, за что ему большое спасибо
И если делать ландшафт так сказать продуманным(заранее представить где будет например вход в пещеру или озеро или подъем на скалу и т.д.) + стараться закрывать слишком большие сектора и "урезать треугольники" там где они не надо, то даже большая карта лагать не будет (почти).
А тот старый редактор я видел, и помоему там такого результата не добиться, но в свое время был интересен для меня, только до сих пор не знаю как им пользоватся.
alekv
Ландшафт, конечно, красивый.
но ты подумал, как на таком ландшафте класть скрипты? Делать 3д полы? Задавать поведение объектов и монстров? Как вообще потом работать с такой картой?
Не одной картинкой сыт игрок, нужен еще и геймплей.
Потому мне кажется, что данный способ все же не подойдет для гоззо-вадов. Разве что - как декоративный ландшафт на области, куда не должна ступать нога человека.
Shadowman
На самом деле, карта-пример у alekv хорошо оптимизирована и добавить туда архитектуру не особо-то и проблематично:
Скрытый текст:
А что по поводу моих успехов... Ну качнул я прогу с официального сайта, оказалось демкой где каждая 1,5 функция отключена нахрен %)
Экспортируя дефолтный ландшафт в .obj мне показали большой и толстый по поводу упрощения геометрии, так что полигоны нарезал в блендере. В итоге, вышло какое-то уг:
alekv
Ландшафт, конечно, красивый.
но ты подумал, как на таком ландшафте класть скрипты? Делать 3д полы? Задавать поведение объектов и монстров? Как вообще потом работать с такой картой?
Не одной картинкой сыт игрок, нужен еще и геймплей.
Потому мне кажется, что данный способ все же не подойдет для гоззо-вадов. Разве что - как декоративный ландшафт на области, куда не должна ступать нога человека.
Все тобой перечисленное хорошо сочетается с подобным ландшафтом, единственное это проблема с 3д и воксельными моделями(и то только в гоззе 2х)
Тут скорее другой вопрос, потянет ли мапер такую планку ? Я к сожалению не тяну, но пытаюсь
Jurijus :
Зачем это вообще нужно? Doom - апофеоз геометрической чистоты (в идеале). Хороший ландшафт у нас по-другому делается.
Doom быть может и "апофеоз геометрической чистоты (в идеале)", но гозза уже нечто другое и такие ландшафты имеют место быть.
И "Хороший ландшафт" все тем же wavefront.obj as Terrain можно делать кубикоподобные уровни, достаточно убрать при импорте галочку Sloped Terrain.
Добавлено спустя 7 минут 22 секунды:
ChaingunPredator :
А что по поводу моих успехов... Ну качнул я прогу с официального сайта, оказалось демкой где каждая 1,5 функция отключена нахрен %)
Экспортируя дефолтный ландшафт в .obj мне показали большой и толстый по поводу упрощения геометрии, так что полигоны нарезал в блендере. В итоге, вышло какое-то уг:
Я не знаю можно ли тут выкладывать версии с кряком, так бы дал ссылку.
Карта пример сделана в размере 256х256, и растянута на 15.0000, я сейчас делаю другую пример карту, 1024х1024 постараюсь сделать получше, мб и мобов добавлю с 3д полами
А с блендером сам мучался, там уменя проблемы с размером ландшафта, и я брал карту .obj сделанную EarthSculptor ом и загружал в блендер, не очень удобно, но у блендера кистей поболее..
В GZDB Terrain можно не только импортировать, но и експортнуть выделенные сектора File>Export...
alekv
Вообще у тебя очень хорошо получается делать оптимизированные сетки. Я думал в своё время попробовать сделать ещё фейковые lightmaps, но там есть проблема с переносом освещения на окружающие объекты.
Вообще у тебя очень хорошо получается делать оптимизированные сетки. Я думал в своё время попробовать сделать ещё фейковые lightmaps, но там есть проблема с переносом освещения на окружающие объекты.
По поводу оптимизированных сеток не знаю хорошо или плохо, карта пример просто очень маленькая, с большими картами явно есть не большие проблемки, но они касаются только текстуры которая натягивается на ландшафт. К примеру если сделать ландшафт размером 1024х1024 и картинку 4000х4000 в .png, то в гоззе поидее будет вместо текстуры чернота и сильные лаги, если запихнуть эту же картинку только в .jpg и немного ухудшить качество не размер!(я это делаю в ФШ) тогда нормально работает.
Так же можно делать кучу маленьких карт потипу примера в шапке, и объединять в 1 большой уровень или делать только горы...
При експорте картинки EarthSculptor может сохранять и лайтмап прямо на картинке(будет эффект тени на горах..), но тогда к примеру скрипт динамической смены дня и ночи будет глупо смотрется.
Нашёл решение: сначала в 3д редакторе сделать уровень полностью... затем запечь light map отдельно для определённой поверхности (в данном случае ландшафт), после этого сохранить сам ландшафт отдельно от сцены, и перевести его в формат ГЗО, затем в уже в ГЗО мы применяем light map как bright карту текстуры ландшафта. Но тут есть гемморой: чтобы тени совпали нужно точно расположить все объекты, и карту делать два раза в моделере и бюлдере
Нет лайт бэйкинг в текстуру само по-себе глупое занятие. Если только AO добавить можно.
В чем глупость?
BFG2407 :
Нашёл решение: сначала в 3д редакторе сделать уровень полностью... затем запечь light map отдельно для определённой поверхности (в данном случае ландшафт), после этого сохранить сам ландшафт отдельно от сцены, и перевести его в формат ГЗО, затем в уже в ГЗО мы применяем light map как bright карту текстуры ландшафта. Но тут есть гемморой: чтобы тени совпали нужно точно расположить все объекты, и карту делать два раза в моделере и бюлдере
В чем смысл запихивания освещение в брайтмап вообще? Гздум все равно не умеет изменять освещенность акторов по брайтмапу пола
BFG2407
Я видимо не совсем понял про лайт мап... ты имел ввиду такую чернобелую текстурку которая в 3д моделях налаживается как эффект?
Скульптор ее может делать, но увы ее никак не прикрутить к ландшафту в гоззе, в принцыпе в шапке на 4 скрине хорошо видно тень на горах и земле, в игре создаеся сильное впечатление будто светит солнце, такая тень делается в EarthSculptorе и там можно поворачивать лучи солнца, без такого эффекта ландшафт смотрится очень не красиво.
Гозза понимает какие-то BrightMap, но я догадываюсь что это больше для спрайтов, как бы дает понять где надо спрайт делать ярче а где нет.
ChaingunPredator :
В чем смысл запихивания освещение в брайтмап вообще? Гздум все равно не умеет изменять освещенность акторов по брайтмапу пола
Теперь более понятно что за брайтмап. ИМХО, чисто в теории можно симитировать такой эффект(незнаю стоит оно того) с помощью acs и CheckTextureFloor или как-то так называлось спомощью простого If else освещать спрайт или затемнять (как в декорейте проперти +Bright) но думаю это титанический труд.. хороший ландшафт за 1-2 дня не сделать, его ведь и в GZDB потом редактировать надо и очень долго, а если еще и текстуру разрезать на части для имитации эффекта brightmap...
Еще и звуки шагов на таком ландшафте проблематично делать