Gamedev Александр Горячев
14 363

Создание современного игрового 3D-окружения

Независимые разработчики White Noise Team, работающие над кооперативным хоррором Twin Soul, делятся опытом.

В закладки

В рамках работы над проектом Twin Soul мы ведем Devlog и часто получаем вместе с фидбеком вопросы о создании игрового контента. Подобную информацию трудно уместить в рамках одного комментария, что и сподвигло нас на написание этой статьи.

Вне зависимости от того, слышали ли вы краем уха слова «полигон» и «нормалка», занимаетесь разработкой видеоигр или же вы простой обыватель — мы постарались сделать статью максимально понятной и интересной для всех. А конкретно — мы расскажем о нашем пайплайне (поэтапный алгоритм ведения работы) создания простых игровых моделей (на жаргоне разработчиков — «пропсов», от англ. props), познакомим с технической терминологией и дадим несколько практических советов.

1. Сбор референсов

Всё начинается с подбора референсов (вспомогательные изображения в качестве примера). Неисчерпаемым и бессмертным источником референсов является Google.

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

Естественно, такие методы не совсем эффективны, когда окружение выходит за рамки реальности. На этот случай у нас есть концепт-художник.

Для более глубокого погружения мы стараемся максимально правдоподобно копировать референс в 3D. «Эксперты», любящие писать «Вот так вот не бывает!» — знайте: на каждое «не бывает» у нас есть фото, подтверждающее обратное.

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

Мелкие объекты и детали могут быть плохо заметны и «нечитабельны», приходится увеличивать их в разы относительно реальных аналогов. Например, это может быть тонкая картонная упаковка, мелкие радиодетали, незаметные провода и трубы, кнопки на электроприборах и так далее.

2. Моделирование — базовая теория

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

Готово! Получена желаемая форма, но для использования в игре она не годится. Это пока ещё скетч, на основе него предстоит сделать две модели, и начнем с низкополигональной (полигон — плоскость 3D-модели, описанная точками), будем называть такие объекты — LP (low poly).

В процессе создания LP мы удалим со скетча точки, не влияющие на форму объекта, тем самым сократим количество полигонов и упростим оставшиеся. Теперь модель будет потреблять значительно меньше ресурсов вашего компьютера. На этом же этапе удаляются все полигоны, которые не будут видны в игре.

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

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

Выходит не очень, и становится очевидно, что для «графона» грамотный подход в работе с нормалями жизненно необходим. Относительная погрешность в виде подобных артефактов допускается, но в данном объекте мы сгладим только конусную часть.

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

В примере выше «кривой» полигон был триангулирован по-разному, путем соединения ребром разных точек, и в результате получились две разные формы. Любая полигональная графика изначально строится на основе треугольников — так или иначе среда разработки поделит полигоны, но не всегда как нужно. Кроме того, триангулирование даёт дополнительные возможности в работе с нормалями, а в некоторых случаях помогает избавиться от артефактов, вызванных жёсткими группами сглаживания. Правильно строя сетку можно значительно оптимизировать модели и улучшить их визуальное качество.

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

Боковые части объекта одинаковы на предполагаемой текстуре, поэтому положим их друг в друга. На внешней части конуса предполагаем наличие фаски или другой текстурной детализации, поэтому немного увеличим её на развёртке. Дно модели редко будет видно игроку, уменьшим его развертку в несколько раз.

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

Теперь деталь полностью готова к экспорту в игровой движок. Но такие квадратные формы явно не подходят под определения «современного игрового окружения», по-прежнему хочется сгладить все углы. Для этого мы возвращаемся к нашему 3D-скетчу и делаем из него высокополигональную модель — HP (high poly).

Модель сглажена за счёт большого количества полигонов и их нормалей, теперь предстоит задача перенести эти нормали с HP на LP. Перенос осуществляется методом запекания в ранее созданную развёртку. На выходе мы имеем карту нормалей, где RGB-значение каждого пикселя соответствует XYZ значения вектора.

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

3. Подробнее о картах нормалей

Для максимального эффекта карты нормалей нужно заранее хорошо сгладить углы и выделить детали в HP-модели больше, чем в реальном аналоге (референсе). Базовые нормали LP-объекта можно также использовать для подчёркивания формы.

Использование подобных карт — не новинка в игровой графике, но современный пайплайн создания фотореалистичного контента требует совершенно иного уровня качества. Именно поэтому создание почти каждого объекта требует дополнительно HP-вариант, что увеличивает временные затраты разработки. Моделирование промежуточного скетча, сетка которого позволяет быстро получить HP и LP, экономит время и, кроме того, габариты двух моделей выходят идентичными. Чем больше идентичность HP и LP — тем меньше выходит проблем с запеканием нормалей.

Во время запекания на основе LP-сетки строится клетка «захвата», форма клетки влияет на угол проекции запекания. И иногда нам приходится добавлять в LP дополнительные рёбра, тем самым выравнивая клетку и исправляя некоторые «косяки». После этого временные рёбра можно удалить.

Как правило, игровые модели состоят из ряда мешей (цельные полигональные объекты), эти части будут мешать запеканию перекрывая друг друга — приходится отделять их и печь по отдельности. Куски получившихся карт нормалей склеиваются воедино после.

Для непосредственного запекания может использоваться почти любой современный пакет 3D-моделирования, но мы используем Substance Painter 2 (программа для процедурного текстурирования, далее SP2). Помимо нормалей, софт позволяет качественно запекать на основе HP целый ряд различных карт. К примеру, карта базового затемнения (Ambient Occlusion — АО) или карта высот (Height Map). Эти и некоторые более технически сложные карты могут участвовать в генерации необходимых визуальных деталей — грязь, потертости на углах и так далее.

Стоит отметить, что работаем мы исключительно с OBJ-форматом: как показала практика, общепризнанный FBX по неизвестным причинам может выдать неприемлемый результат.

4. Иные методы моделирования

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

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

Часто нас спрашивают, используем ли мы фотограмметрию (способ получения 3D-объекта с помощью фотографий). Бытует мнение, что этот способ является чуть ли не манной небесной. К сожалению, для качественной фотограмметрии нужен студийный равномерный свет, дополнительная работа с фото, большое время для просчета. На выходе получаем меш с хаотичной высокополигональной сеткой, и для дальнейшей работы требуется проведение ретопологии (изменения топологии сетки), а после — устранения артефактов с помощью скульптинга. Одно из преимуществ фотограмметрии — создание реалистичной текстурной карты, но она тоже требует дополнительных правок и сильно ограничивает в оптимизации развёртки.

В результате простой «проп» гораздо быстрее и качественнее сделать вручную. Способ оправдан, если для создания объектов нужны продвинутые художественные умения. Это могут быть сложные геометрические формы, органика, естественные объекты. На данный момент мы применяем фотограмметрию только для создания персонажей, и этой теме можно посвятить отдельную статью.

Стандартом для создания тканевых ассетов в игровых пайплайнах давно уже стал Marvelous Design. Он позволяет создавать и симулировать ткани из заготовленных пользователем выкроек. Наша команда пока ещё только осваивает новый инструментарий, но он уже нашел свое применение и для создания предметов окружения.

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

5. Материалы — базовая теория

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

С приходом консолей последнего поколения в пайплайн разработчиков внедрился новый технологичный стандарт, пришедший в игры из кинематографа — физически корректный шейдинг (сокращено PBS, в сети можно встретить также под аббревиатурами PBR и IBR). Технология представляет собой наиболее подобную реалтайму симуляцию взаимодействия света и материалов.

В реальности свет взаимодействует с объектами, на который падает — отражается, рассеивается и поглощается. Степень, с которой происходят эти физические явления, зависит от микроструктуры вещества. Чем более неровная поверхность, тем больше свет поглощается или рассеивается. Кроме того, отражаясь от поверхности, свет формирует видимое отражение окружающего мира. Металлы и неметаллы отражают свет по-разному, для первых свойственно фронтальное отражение (зеркало) и изменения цвета блика.

PBR использует те же правила для отрисовки поверхностей, но, к сожалению, симуляция отражений в реальном времени до сих пор остается тяжёлой темой для игровой графики. Поэтому в большинстве случаев в качестве отражения используются заранее заготовленные кубмапы (панорамные изображения натянутые на куб или сферу). А так как понятие «вещество» не применимо к полигональной графике, информация о микроструктурах хранится в текстурных картах.

Раньше разработчики вкладывали большую часть информации о поверхности в диффузную карту. И, не смотря на появление карт нормалей и спекуляров (карты бликов) с приходом DX9, дифузная карта до недавнего времени содержала в себе информацию о затемнении и бликах. Попросту говоря, дифуз был слегка обработанной фотографией. Теперь на их смену пришли альбедо-карты, содержащие в себе только цвет поверхности и ничего больше.

Остальная информация о материале раскидана по другим картам, их количество зависит от особых физических свойств объекта, которые требуется просимулировать. В нашем пайплайне для простых объектов, на базе работы с Unreal Engine 4, используется не так много карт. К знакомым нам уже картам нормалей и альбедо добавляется рафнес (roughness — карта шероховатости), металик (metalic — карта «металличности») и АО (ambient occlusion — карта базового затемнения).

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

6. Создание материалов

Теперь, когда мы знаем, как работают современные материалы, можно рассказать о том, как они создаются. Для этого вновь вернемся к разговору о SP2.

Программа предназначена для работы с PBR и, по аналогии с Marvelous Designer, широко распространена среди игровых разработчиков. В базе SP2 имеется библиотека уже готовых процедурных материалов. При наличии прямых рук и художественного вкуса, можно быстро «разукрасить» большинство простых объектов, не прибегая к использованию сторонних ресурсов.

В качестве примера «затекстурим» старый чайник, и для начала сгенерируем всё необходимое для дальнейшей работы карты.

Путем манипуляций с Curvature map (карта кривизны) и наложением стандартных материалов можно получить стальной чайник с эффектами стёртой краски по краям.

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

После первых проб задаётся основа для объекта. В данном случае мы использовали «сталь» из стандартных материалов. На этом этапе важно правильно выбрать панорамное изображение, чтобы лучше видеть и понимать, как будут играть на нём свет и отражения. Настройка панорамы и освещения рабочей сцены особенно важны для работы с металлами, так как их внешний вид сильно зависит от отражений.

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

Фактически чайник уже готов, но его внешний вид не подходит под определение «старый». Как правило, для эффекта состаривания добавляются грязь, царапины, цветовые вариации и прочее. На этом этапе работа по большей части идёт на уровне Roughness maps (карты шероховатости). Естественно, карты шероховатости уже содержатся в базовых материалах, но ничто не мешает добавить новые поверх них. Для «тела» чайника мы добавим карту, имитирующую потёртости, а для ручки — ещё и следы от пальцев.

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

Можете играть с настройками сколько угодно, но, каким бы крутым ни был софт, он не сможет всё грамотно нарисовать за вас. Финальная доводка и добавление деталей не обходится без ручного режима рисования. Для подобной работы обязательно нужен графический планшет.

Из дополнительных приёмов можно отметить использование старых добрых фото-текстур. Для подобного чайника, как и для другой утвари советского периода, характерны декоративные изображения цветов. Найдем в гугле подходящую картинку и с помощью фотошопа подготовим для дальнейшей работы. Cамая большая сложность — найти изображение хорошего качества, без засветов, теней, перспективы. Готовую текстуру импортируем в SP2 и проецируем на поверхность чайника.

Чтобы сэкономить время незначительные детали можно не отмоделивать в HP. SP2 содержит в себе набор заготовок. Ну или же можно найти на просторах гугла заготовки в виде карт высот. Например, мы добавим болты-крепежи на ручках.

Чайник готов. Теперь мы экспортируем набор карт (альбедо, нормалка, рафнес, металик) для дальнейшей работы с ними в игровом движке.

7. Работа с контентом в Unreal Engine 4

«Нарисовать» объект — это половина работы. Нужно ещё произвести с ним много различных манипуляций, сделать лоды и коллизию, лайтмап развертки, произвести батчинг, настроить пивоты… Но рассмотреть все аспекты пайплайна тяжело в рамках ознакомительной статьи, поэтому сконцентрируемся только на сборке визуальной составляющей.

Одна из основ оптимизации современной графики — сокращение количества текстурных карт, материалов и упрощение последних. Тем самым мы уменьшаем количество обращений к видеокарте для отрисовки элементов. К сожалению, текстурных карт даже в простом чайнике выходит не мало, и они требуют дополнительной оптимизации. Если внимательно взглянуть на AO, Roughness и Metalic, можно заметить, что все три карты чёрно-белые, а почти любые цифровые изображения состоят из RGB-каналов, каждый из которых является градацией серого. Проще говоря, один цветовой канал позволяет хранить одну чёрно-белую текстуру. В результате мы сливаем все три вышеуказанные карты в одну текстуру.

Различные дополнительные карты, к примеру для светящихся материалов или материалов с прозрачностью, мы дополнительно запаковываем в Alpha-канал альбедо-текстуры (некоторые форматы изображений имеют помимо RGB дополнительный канал для прозрачностей).

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

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

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

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

Но и тут не без подводных камней. То, что в Unreal Engine 4 называется материалом и редактором материалов, является полноценным шейдером и редактором шейдеров. Здорово, что шейдер может теперь создавать рядовой художник — пользователи Unity или CryEngine, к примеру, лишены такого удобства в «стандартной коробке», — но любая работа, созданная таким образом, генерирует полноценный C++ код и, к сожалению, не самый оптимизированный.

Раньше материал представлял собой экземпляр конкретного шейдера с изменением параметров или текстурных карт, но неизменным кодом. Граница понятий и терминов во многих 3D-редакторах со временем размылась, но возможность создавать традиционные «материалы» в UE4 осталась, и в подобном виде у нас хранятся материалы для большинства объектов.

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

Если захотите помочь нам, то можете дать фидбек, распространить статью, поддержать наш патреон, или просто подписаться на наши социалки:

https://twitter.com/WN_Team

https://vk.com/whitenoiseteam

https://www.youtube.com/c/WhiteNoiseTeam

https://www.facebook.com/twinsoulgame/

#арт #инди #twinsoul

Материал дополнен редакцией

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Александр Горячев", "author_type": "self", "tags": ["twinsoul","\u0438\u043d\u0434\u0438","\u0430\u0440\u0442"], "comments": 66, "likes": 176, "favorites": 119, "is_advertisement": false, "subsite_label": "gamedev", "id": 15921, "is_wide": true, "is_ugc": true, "date": "Sat, 10 Feb 2018 18:37:25 +0300" }
{ "id": 15921, "author_id": 25994, "diff_limit": 1000, "urls": {"diff":"\/comments\/15921\/get","add":"\/comments\/15921\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/15921"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954 }

66 комментариев 66 комм.

Популярные

По порядку

Написать комментарий...
–6

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

Ответить
41

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

Ответить
3

У вас опечатка - шейдинг это не то как падает тень. Скорее свет. И через 1 смуз группу мы не зададим всему 1 нормаль. Просто не будет разрывов между отдельными полигонами

Ответить
1

Так Shading ведь с английского - затенение

Ответить
2

Сама тень рисуется по другому, и вершинные нормали модели, ее материал и т.п ее мало волнуют. Тень и Shading о коротором шла речь, в реалтайм графике - отдельные вещи.

Ответить
0

Спасибо за поправку, буду знать.

Ответить
3

Ну, ребята сделали до этого крутой мод по Silent Hill, с Twin Soul победили в конкурсе GTP Indie Cup в номинации по UE4, выставлялись на Games Gathering и, в целом, многого добились. Я, как не посвящённый в тайны 3D-моделлинга, смотрю на то, что получается, и мне всё очень нравится.

Может быть и правда напишете материал тоже, опытом поделитесь? Чем вы сейчас занимаетесь? Уверен, есть, что рассказать.

Ответить
1

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

Ответить
2

развертку делать правильно стоит не только изза того как это все текстурится. Это потом будет влиять на ток как делаются ЛОДы, ресайз текстуры, мипы и т.п

Ответить
2

И да и нет. Как бы ни был крут пейнтер, ребра стоит выравнивать по осям, чтобы запеченные нормали выглядели максимально идеально (ведь на такие мелкие предметы не будут вешаться 2к текстуры). А это ведет нас к тому, что боковые стороны того усеченного конуса лучше выравнивать в ровные полосы (страйпы). Если, конечно, не планируется на них потом надпись в шопе наносить, но это было бы странно, учитывая, что мы обсуждаем пейнтер.
Результат визуально хороший, но неоптимизированный и местами технически не очень верно выполненный. Но повторюсь, визуально найс.

Ответить
0

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

Ответить
6

упрлс?

Ответить
4

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

а так всё круто, было интеренсно почитать.
Ждёмс стаью по поводу персонажки и фото геометрии.
Мне лично очень интересен процесс создания самой фотогеометрии. И не то что показывают те кто продаёт проги, а те кто ей пользуется.

Ответить
0

Ну с чайником больше похоже, что простая текстура из сабстенса - Steel painted. Типа для примера. Хотя статью не читал )

Ответить
4

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

Ответить
1

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

Ответить
3

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

Ссылка: https://www.youtube.com/playlist?list=PLKNL6cBnWo07lAaJKYG2D1lYvx9rL_m1T

Ответить
0

если не забуду потом чекну по компазиции и рендеру. и ещё кое какое полезное дерьмо

Ответить
0

Вот видос.(вернее серия видео) Норм, и кнопки и немного теории.
Но вообще самое главное это образование в 2д, а кнопки и технические аспект легко и быстро изучаются, а вот компазиция, цвета, тона, свет, формы, обьём, перспектива это вам не хухры мухры. тут всё, сука, серьёзно.

Ответить
3

Если знаете английский, то polycount.com - отдельный интернет для художников:)

Ответить
1

Я бы сказал что ещё 80lvl но блин, он в какую-то дресню скатился.

я бы посоветовал чекнуть ещё такие ресурсы как
CGpeers
gumroad
Pluralsight
https://cubebrush.co/ он же Brushboost
https://www.youtube.com/watch?v=my8n2QNrax0&list=PLrsq-o51mMFFQBoPpPX-BE-oP0-iOpYyb

Ответить
0

CGpeers можно вычеркивать

Because the user limit has been reached you are unable to send invites at this time.

Ответить
0

1 и 15 числа каждого месяца, на 48 часов открывается регистрация на персии. В чем проблема подождать два дня?

Ответить
0

Давно сам регистрировался?

Ответить
0

Сейчас открыта регистрация.

Ответить
0

Пробуй регистрироваться.

Ответить
0

Да, эти дяди жарят

Ответить
1

Клёвая статья, было интересно читать. Спасибо!

Ответить
2

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

Ответить
1

Молодцы кстати! Не знаю какой будет проект, но подход правильный. Ну и конечно хорошо, что энергия стала уходить на полезные материалы а не на бесполезные споры на ФБ))

Ответить
1

Как видите спорам есть место и на ДТФ )

Ответить
0

Надеюсь эти парни когда нибудь да прибудут на WN с билдом ;)

Ответить
1

Я еще на "реакторе" хотел спросить. Это ведь такая кропотливая работа с деталями. Всякие цветочки на чайнички. И всё для того чтобы сделать кооперативный симулятор ходьбы со скрримерами?

Ответить
0

Мы не любим скримеры, а симулятор ходьбы у нас уже один есть, больше желания делать нет.

Ответить
0

А в чем игра заключаться будет?

Ответить
0

Продвижение по сюжетной линии само собой.

Ответить
4

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

Ответить
4

Надо подумать, как это грамотно сделать с минимум спойлеров.

Ответить
0

я тут не очень хочу придираться, но все таки продвижение по сюжетной линии не геймплей)

Ответить
1

Ага! Ну я и не сразу вопрос понял, иногда под подобным подразумевают сюжет, а иногда геймплей.

- Перед игроками будет поставлена задача - выбраться и жилого комплекса (наподобие общаги).
- Геймплей завязан на кооп пазлах, и кооп механиках взаимодействия друг с другом начиная от банального (нажмите два рычага что бы открыть дверь) заканчивая (помочь вылечиться раненому напарнику). Ближайший референс это Way Out, но естественно не на таком качественном уровне проработки.
- Противники тоже представляют из себя пазл элементы. Дадим немного и пострелять но на акцент все же на "обойти". К примеру вид противника агрессивно реагирует на свет - игрок с фонариком отвлекает на себя, пока второй забирает квестовый предмет, либо разгадывают пазл связанный с электричество что бы включить свет.

Ответить
0

Прохождение игровых уровней попутная решая кооп задачи поставленные перед игроками.

Ответить
0

Без обид конечно. (собственно и не пытаюсь обидеть). Но я решительно не понимаю что за хрень вы ваяете. Вы подчеркиваете что это "ужастик" в том или ином виде. И тут же кооператив и совместное решение головоломок. Вы понимаете что "ужастики", это игры напирающие на атмосферу и некую "вдумчивость" процесса? Ну когда темно, страшно, скрипы, заунывные стоны и всё такое. И внезапно напарник, с которым даже самый стрёмный ужастик превращается в балаган. Не потому что напарник плохой, а просто не бывает людей настроенных на одну волну настолько точно, а значит разговоры в "эфире", обсуждение вслух "смотри какой прикольный чайник" и прочие штуки которые помножают атмосферу на ноль. Экшен в антураже еще возможен, всякие L4D и 5-й резидент не дадут соврать, но это именно что в антураже. Далее "совместное решение загадок". Это что? Вместе покрутить вентили? Ну сойдет. Что то посложнее, по типу нормальных головоломок? Сразу в сад. По многим причинам. Если это две отдельные головоломки которые каждый решает по отдельности и потом складывают результат. Значит один решил, второй тупит, первый ждет. Если это совместное решение одной. Значит решает только один второй ведомый. Да и вообще вы любите разгадывать ребусы когда у тебя за спиной стоит кто-нибудь и либо решает за тебя либо дает идиотские советы? Далее там есть строка про "разнообразных монстров" их надо убивать? От них надо убегать? (надеюсь что нет, это и вовсе будет треш). В общем...что вы делаете то вообще?

Ответить
1

[Ну когда темно, страшно, скрипы, заунывные стоны и всё такое.]

-> Нет, это не ужастик, это описание отдельного представителя. Далеко не самого лучшего причем. том.

[Не потому что напарник плохой, а просто не бывает людей настроенных на одну волну настолько точно, а значит разговоры в "эфире", обсуждение вслух "смотри какой прикольный чайник" и прочие штуки которые помножают атмосферу на ноль]

-> Поиграйте в Obscure

Значит один решил, второй тупит, первый ждет.

-> Поигратей в Portal 2 Coop

Монстры будут элементами загадок, их надо будет грамотно обходить или обманывать.

Ответить
–1

[Нет, это не ужастик, это описание отдельного представителя. Далеко не самого лучшего причем. том.]

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

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

[Поигратей в Portal 2 Coop]
Поигратейли в своё время. Ну....ладно. Аргумент засчитан. Т.е. загадки не логические (квестовые), а упор на аркадные забавы с физикой? Хорошо. Вариант.

[Монстры будут элементами загадок, их надо будет грамотно обходить или обманывать.]
Треш. Я не буду вас разубеждать. Вы создатели, вам виднее. Да и вообще. Но...как бы это сформулировать. Я могу оказаться не прав. Чёрт, я хочу оказаться не прав. Но есть идеи, которые не работают изначально. Когда я услышал про Evolve, первая мысль была "Там наркоманы что ли? Концепция четверо против одного не сработает на многих уровнях". Когда был заявлен No Man's Sky была мысль "Ну хорошо, генерация планет, генерация монстров, генерация вселенной, а делать то там что?" Ну и так далее. Ваш концепт он из той же серии. Я не понимаю как это вообще может работать при заявленных данных, оно рассыпается, не говоря уже о том, что выбранный концепт изначально сужает аудиторию до ниши в нише. Дабл нишевый проект получается. Но опять же, бывает что и палка стреляет.
PS: Чайники хорошие. Прикольные такие чайники.

Ответить
3

Я Obscure поставил не в качестве пример хоррор элементов, а именно в качестве того что атмосфера в кооп не рушится.

Ну а то что вы не сделаете или вы делаете фигню, это вечная песня которую слышим со времен начала работы над нашим первым проектом, иногда это давит, хочется все бросить. Но мы не сдаемся и продолжаем делать свою фигню и радовать в последствии вас же! Хоть бы кто удачи пожелал :)

Ответить
0

Эм...понимаете какая штука. Я не могу сказать фигню вы делаете или шедевр. Я не знаю. Я оперирую предоставленными данными. Достаточно плотная детализация на скриншотах. ок. Кое где неплохое освещение, хотя на других скриншотах отвратительная "рыжая" гамма. Но в целом нормально. Вполне неплохие панорамы кухни и какой то комнаты. Если при создании дальнейших локаций уровень сохранится, можно говорить, что проект получается в меру симпатичный.
...
И концепт. Концепт ужасен. Как это будет работать решительно не понятно. Пока что есть только общие фразы о ниочём. Ну вот как в обскуре и портале, только не так как там. Т.е.пролюблено таргетирование. Вы с трудом сможете объяснить аудитории что это за игра и почему в нее надо играть.

Намеренное отсечение аудитории. "Ужастик". Инди хоррор это уже ругательство так то, минус проценты аудитории. Я одинокий задрот у меня нет друга, а игра с кооперативом, минус дохрена процентов аудитории плюс минус дохрена процентов бесплатной рекламы со стриммов. Стриммеры любят стриммить всякое странное, это привлекает народ. Иногда зрители трансформируется в покупателей, в данном случае нужно ДВА стриммера, т.е. большая часть просто забьет. Игра про загадки, с упором на загадки, причем загадки кооперативные. Минус еще дохрена процентов.

Так что да. Я бы на вашем месте бросил. Пересмотрел концепт. И только с уже понятной стратегией ринулся бы в бой.

PS: Чайники прикольные. Простите, но это всё что можно сказать на данный момент.

Ответить
4

[ Так что да. Я бы на вашем месте бросил. Пересмотрел концепт. И только с уже понятной стратегией ринулся бы в бой. ]

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

Ответить
0

Сперва добейся? Мда. В ход пошли проверенные временем аргументы. Ну как знаете впрочем.

Ответить
1

Хороший аргумент против незнакомца советующего нам свернуться, не правда ли?

Ответить
–1

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

Ответить
4

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

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

Ответить
–3

Эм...я тут было начал писать, что вы в ответ на мои замечания не то что не ответили, в духе "вы не правы, идея заключается в том что...*описание механики", что позволило бы читающим данную дискуссию сделать определенные выводы, а предложили пойти на фиг (признаю за вами такое право, это интернет, здесь можно послать каждого). Но потом подумал и забил. Желаю удачи и всего такого.
PS: Поскольку вы так и не объяснили нихрена, продолжаю считать что чайник симпатичный, а концепт говно.

Ответить
1

Будешь оценивать игру, когда она будет готова и когда ты её купишь, как это происходит с кино.

Ответить
0

Иллюстрация к статье настолько реалистично передает беспросветную убогую совковость быта времен лихих 90-х (а кое где и до сих пор) что уже от одного взгляда на нее хочется то вырвать глаза, то ли напиться водки, то ли убить себя. Молодцы чо. Играть конечно не буду, пусть в это иностранцы играют для которых это экзотическое фэнтези.

Ответить
0

Правая часть первой картинки вызывает во мне ужас. Кажется в этот хоррор-симулятор от первого лица я уже поиграл.

Ответить
0

Мне кажется или на утюге текстуры металла перепутаны? Ну типа дырки не должны быть снаружи.

Ответить
0

Если вы сравниваете металик с юнити, то относительно него в Unreal инверсия данной карты.

Ответить
0

Я не очень понял как это связано с моим вопросом)

Ответить
2

А сори, суматоха тут у меня.

Ну у меня такой утюг дома. *разводит руками*

Ответить
1

Ну ладно) А вообще статья классная, так держать!

Ответить
0

Очень круто, что столько референсов из российской реальности будет. Для погружения во многие игры этого реально не хватает.
Главное, не повторите провала you are empty - игре с шикарной советской архитектурой и советскими референсами, но отвратным геймплеем.

Ответить
0

Шейдеры это не C++ код, а HLSL. Дизайнер шейдеров в Unity есть уже давно сторонний, а в 2018 есть уже и встроенный.

Ну и рассказать про Substance Painter, упомянув, но не объяснив принцип работы Curvature map и ни разу не упомянув Substance Designer это совсем уже странно.

Ответить
0

Автор, пиши еще!

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Игру с лучшим стелсом никто не заметил
Подписаться на push-уведомления