Перейти к содержанию

Imp Mech Project


Рекомендуемые сообщения

  • Ответов 987
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

В общем, наступила пора отчитаться. После небольшого отдыха от всей этой кутерьмы, взялся и развернул ноги. С торсом решил подождать, дабы не делать лишнюю работу, если что-то пойдет не так. Тем более, поскольку текстурить я не умею и вообще понятия не имею, что делаю, очень вероятно, что придется начинать все с начала еще раз.

mt75HYC.jpg

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

Ну, во первых шейдеры. Дабы иметь возможность посмотреть как оно будет выглядеть в итоге, пришлось покопаться с настройками редактора. Настройки меня удовлетворили, поскольку благодаря нехитрой картинке, теперь можно задавать отражающие качества поверхности. Потертости, металичности, все дела.

Вот вам коротенькое видео, где можно глянуть как на краешках брони ног свет отражается в динамике.

Естественно ни о какой финальной текстуре речи не идет, поэтому даже не обращайте внимания на цвет.

Затем прикрутил тестовую карту нормалей, она работает, и это даже меня не удивило. Однако сама карта - большой вопрос. По хорошему ее следует запекать с хай-поли модельки. Вот только, нету у меня хайпольки, и это было глупо с моей стороны.

Кроме того, сообразил, что меху нужен камуфляж, а значит нужно два слоя цветовых текстур. Собственно комок, с заделом под его выбор. Тут важно сделать так, чтоб он не сильно вылезал на стыки текстур, иначе его придется подгонять под каждый мех, а это крайне муторная затея, не говоря уже о том, что в идеале он должен генерироваться автоматически путем сочетания шаблона и цветов. К счастью, с весьма стандартным шаблоном, заметить стык не так уж просто.

AFMbiuR.jpg

Ну, а поверх нее уже рисовать детали: торчащие железяки, люки всякие, потекшее масло, копоть и грязь.

e5zURTQ.jpg

В результате накидал (частично) веселеньку схемку. Где цветами обозначены примерные типы поверхности. Однако, в итоге тоже малость притормозил. Гложит меня ощущение, что нужно пофиксить косяки для начала, а потом уже лепить текстурку.

Да, вытаскивать UV координаты и редактировать их в векторе определенно хорошая затея, потому что.

Красный - блестящие срезы

Синий - матовые плиты брони

Желтый - яркие металические детали

Белый - темный окрашенный метал

7vnxJxD.png

В сухом остатке за прошедшие две недели я не только расслабил булки, но и многому научился. Однако, игре непосредственно от этого пока не холодно не жарко. Ну, напоследок хорошая новость: мех несмотря на некоторую тяжесть вполне спокойно подцепился движком и не вызвал проседания ФПСа к такой-то маме.

  • Класс! 1
Ссылка на комментарий

Так. Для начала, встал с утра и переименовал топик. А то гуглом не индексируется, впрочем меня кто-то ищет в гугле? Ладно, ближе к делу.

Надо бы накидать отчет и валить баиньки. Начну сразу с хороших новостей. Если до этого у меня у самого были сомнения, то теперь с уверенностью можно сказать PBS'y быть.

Что это такое? Это физически достоверный рендеринг. Главная его фишка заключается в том, что внешний вид материала в реальной жизни определяется во многом не только его цветом, но и отражающими способностями, и PBS пытается передать эти особенности посредством хитрых телодвижений шейдеров. Если нужно подробнее - гуглите, если нет, верьте на слово, это работает кое-как и выглядит довольно круто.

Но начнем с другого конца. Идея рисовать карту нормалей вручную меня покинула довольно быстро. Учитывая, что она вообще пришла мне в голову, я, так сказать, о многом в своей жизни подумал, переосмыслил себя как личность и все дела. Но это не сильно помогло, другое дело - рисовка модели... опять. Но с нее уже карта нормалей запеклась как надо. В процессе пришлось еще повозиться и с разверткой (она оказалось печально неудачной в силу размера деталей) и с "печкой", но что-то получилось.

zTjO3Us.png

В следующий раз буду умнее, и начну делать с хаев. Но следующего раза придется подождать, а на этот потерпите пожалуйста лажу.

В общем-то, можно было наконец-то заняться текстурированием. Картинка в блендере выходила более-менее окейная, тем более если добавить карт отражений и прочей мишуры.

c6k3gpc.jpg

Но тут в голову мне стрельнуло: а в движок то я потом это как совать буду? Да и учитывая, что с настройками редактора пришлось изрядно повозиться ради картинок еще с прошлой недели, вполне логично было предположить, что в двигле оно тоже потребует тщательного допиливания. В общем, тут бы стоило задуматься о своей жизни во второй раз, но времени уже не было.

В двигле, естественно, нужного шейдера вшито не оказалось. Но после недолгого гугления нашелся готовый, бесплатный и опенсорсный (что впоследствии оказалось громадным плюсом).

sN7LCE0.jpg

Однако, радость была не долгой. Мех это вам не крутые кубики в демках пилить. Кроме камуфляжа на нем нужно еще детали разные рисовать. А дырки, куда можно было бы заткнуть текстуру с деталями в шейдере не оказалось. И в другом тоже. Да и вообще, даже дефолтные шейдеры не очень хотели поддерживать режим "одна текстура поверх другой", и рисовали полосами говен мне по альфа-каналу. Гугл скромно намекнул "сам пиши", и я ответил ладно. Вот и повезло, что автор в общем-то сам был не против, чтоб над его шейдером надругались.

QWapuPJ.png

DEltQOy.png

Ну вот, текстура с альфой граммотно перекрывает рандомный шлак выбранный в качестве камуфляжа, можно жить спокойно.

Осталось разобраться с освещением. Но это уже дела художественные.

BOWyX1I.png

Отдельного упоминания стоит важность этого дерьма. Дело в том, что полученный в итоге материал не нужно настраивать под каждый из вариантов освещения. То есть, я не забочусь о том, что мне нужно переделать каждый мех в игре, если вдруг появился ночной уровень, или хотя бы уровень с чуточку другим освещением. Но что рассказы? Лучше гляньте пример.

xaHMqX3.png

Jwe8Oy1.jpg

Тут пожалуй стоило бы упомянуть еще насколько огромная разница при наличии динамических источников света, но лучше подождите когда запилю демку. А пока не буду спойлерить как чудно отражаются всполохи взрывов на броне.

В общем, теперь в душе моей

6Ey2Fdb.png

Даже несмотря на то, что полностью в текстуре (текстурах точнее) готовы только резиновые шланги. Но выглядят они так чудно, что вы вряд ли найдете еще хоть одного человека, который бы получил столько удовольствия от резинового шланга.

Держите, короче, няшку. А я спать пошел.

TILWkYk.jpg

Хотя постойте. Вот вам сегодня еще и бонусы.

Туториалы плохому не научат, но кому черт возьми может потребовать не просто рисовать свастику, но так много и часто заниматься этим, что у него для этого есть набор специальных кистей?

IpL5e3J.png

Еще я не рассказал, что через тот же шейдер, можно задовать цвет тонирования изображения. Что в сочетании с перекрытием одной картинкой другой дает нам возможность использовать не просто готовые камуфляжи, но шаблоны, которые игрок сможет красить сам.

Как геймплейная фича мне это дерьмо не доставляет. Довольно утомительно наблюдать засилье камуфляжа, который специально сделан наиболее труднопередаваемым графической системой, и как следствие внешне превращающим мех в кусок непонятно чего, что мешает по нему стрелять.

Но как минимум для сингла оно того стоит, и больших затрат труда не требует. Если потребуется спасать мир, вы знаете к кому обратиться за двумя мегатоннами красоты.

Ссылка на комментарий

Научился писать шейдеры? ВНЕЗАПНО и с вертухана. Ну фигли, по-моему - грандиозно!

Не уверен надо ли с этим поздравлять, но на всякий случай грац с двухлетием разработки. :JC_you_rock:

Даешь теперь няшу с калашом в хохломе!

Спрашивать, какого хрена ты не пришел вчера на дропы теперь не буду - уже понял, хотя все равно жаль.

Ссылка на комментарий

Окей, немного с запозданием, но нужно накатать апдейт. Сразу предупреждаю, картинок будет мало, поскольку что сделал - лучше один раз в динамике увидеть, нежели сто раз посмотреть на картинку. Да и часть всего этого безобразия попросту не готова.

Начал я неделю с рисования текстур. Шейдер написал - молодец конечно, но вот опыта в использовании PBS'а от этого не прибавилось. Поэтому набивал. Первый нехороший сюрприз ждал меня с металлом. Поверхность отражающая, а для корректного отражения нужна кубмапа.

cube_map2.png

Такая вот фигота, чтоб в отражении наличествовал не только источник света, но и окружающая действительность. Чуете в чем подвох? Правильно, это надо из окружающей действительности делать картинку, и стоит чему-то поменяться, картинка перестает быть корректным отражением. А я уже пообещал беспроблемную работу с любым освещением. И тут мне честно говоря надоело менять параметры в ручную. Раз уж нужен динамический свет, его будет у меня.

Дальше все как в тумане. Я чуть ли не полгода вообще не занимался программированием по хорошему, поэтому как-то про необходимость сидеть и рисовать текстуру я позабыл. Но зато, соорудил за вечер систему динамической смены дня и ночи.

yXrGF9k.png

Конечно пришлось подумать и о правильном движении солнца, и об угле возвышения. Но в общем и целом вся система легко выстроилась вокруг градиента. Довольно удобно тыкая мышкой задать параметры освещения на 24 часа, не говоря уже о том, что аналогичный трюк можно провернуть и с туманом например. Ну, и каждое изменение в таком виде выступает достаточно точечно, не возникает ситуаций, когда исправил слишком яркий свет утром, и поломал все остальное освещение. После этого еще чуть-чуть повозившись заставил все работать прямо в окне редактора. И вот, наконец-то можно не возиться с кучей настроек, а просто крутить ползунок. Так что с кубмапами?

GyOE6m1.png

Естественно полная хрень. Вроде в последующих версиях движка всю эту работу скинут на автоматику, но когда они последующие версии? Поэтому решение пришлось искать на месте. Первым местом я обратил внимание на "якоря" градиента. Они представляют из себя ключевые точки, с ними легко работать и в общем-то можно было бы заставить всю систему предварительно запекать картинки в этих точках, после чего их динамически переключать. Единственное, что совсем не круто - это явный и резкий переход, который был бы заметен любому игроку. Так же кубмапы можно было бы запекать прямо в динамике, но эта идея мне тоже не понравилась - слишком напряжная процедура для системы. Да и вообще картинка полученная из текущей сцены меня честно признаться не радовала, конечно полностью соответствующие действительности отражения это круто, но задача то в том, чтоб получить отражение на метале, а не зеркалах. И тут в первую очередь встает вопрос эстетики, а не реализма. Иначе, черт бы дернул, дошел по концепции реалтаймовых отражений без всяких мап.

К счастью, голова быстро включилась обратно. Шейдер, который я взял за основу, включает в себя менеджер глобальных настроек, да и сами глобальные настройки. Помимо удобной смены кубмап (чтоб каждый материал в ручную не перетыкивать), есть там еще и параметр выдержки. Думаю люди знакомые с фотографией понимают как он работает, незнакомым поясню: яркость отражаемой кубмапы меняет. В сочетании с правильной кубмапой, дающий наиболее эстетически меня удовлетворяющий эффект, метал стал выглядеть металично. А уж имея в руках код, определяющий яркость освещения, добавить туда правку этой выдержки труда не составило.

Ну, а остальное уже дело совсем не интересно. Нарезал маски для текстуры, чтоб не возиться с каждым пикселем. Определился с тем какой и где материал будет расположен. Ненавижу дизайн, но пришлось опять собирать тучу вариантов и пересматривать, чтоб в итоге картинка не выглядела паршиво. Ну, и начал уже непосредственно рисовать. Да еще и развертку местами пришлось исправлять, опять.

Плохая сторона дела состоит в том, что с PBS'ом не плохо видно, что делаешь, пока не закидываешь текстурку в движок и смотришь собственными глазами. Хорошая сторона в том, что опыт решает. Правильно развернув модель, зная какие параметры выставить и имея запас базовых текстур, всю эту кутерьму можно резко сократить.

wr43xJ0.jpg
Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Расскажите друзьям

    Нравится Эриданская лёгкая кавалерия? Расскажите друзьям!
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...