Работа над ошибками в 3D. Интермеццо

Здравствуйте!


Часть 1

Часть 2

Часть 3

Часть 4

Часть 5.1


Сегодня, как некоторые уже смогли догадаться, мы снова обойдем практические знания стороной. Я прошу прощения у всех, кто подписался на меня (а я был очень удивлен популярности темы) и обещаю вам уже завтра исправиться, выложив новый пост, продолжающий тему Smooth groups. В нем я наглядно покажу, как запекаются различные варианты групп сглаживания, как группы сглаживания тесно связаны с UV, а также исправлю ошибку, которую по неосторожности допустил в информации про тангенты, желая все максимально упростить.


Но сегодня о другом.


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


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


Итак, начнем по порядку:


1. После такой оптимизации модель станет выглядеть хуже.


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


Однако, довольно часто приходится именно что "ухудшать" модель.


- Как часто игрок будет видеть в игре этот объект? Два раза? Как часто этот объект будет находиться прямо перед камерой? Никогда? В таком случае выделить на него 10к треугольников - офигенный вариант! - Именно так сказал... ни один арт директор или тим лид, находящийся в своем уме.


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


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


2. Современное железо может потянуть овердохералион полигонов в кадре, так зачем тогда что-то оптимизировать?


По последним данным, собранным с форумов CS:GO, Warface и популярного паблика ВК "Дивайсы настоясчих поцонтрэ", PC среднестатистического пользователя на сегодняшний день представляет из себя машинку, собранную на базе последнего поколения i7, две GF 1080Ti, сдобренный 64 ГБ оперативы и приправленный SSD на терабайтничек. Это, конечно, только в том случае, если вы не нищеброд, который вынужден превозмогать, имея в комплекте всего одну 1080Ti (искренне жаль этих людей).


А теперь серьезно. Даже самый мощный PC в состоянии потянуть работу с 20-40 млн полигонов. Заметьте - работу. Самый простой шейдинг, никаких текстур, никакого сглаживания, никаких анимаций. Просто возможность хоть как-то взаимодействовать с объектом. И назвать эту работу комфортной язык уж точно не повернется. Можно и больше. Но это будет уже просто вывод на экран статичной картинки, а любая попытка взаимодействовать с данным объектом может привести в лучшем случае к необходимости прибегнуть к кнопке Reset.


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


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


Железо сделало огромный шаг. Это так. Но давайте взглянем на то, на что реально уходят мощности:

Работа над ошибками в 3D. Интермеццо 3D, Gamedev, Длиннопост
Работа над ошибками в 3D. Интермеццо 3D, Gamedev, Длиннопост

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


3. Зачем запариваться? Сэкономить 2 полигона, но потратить кучу времени.


Запариваться затем, что в этом и заключается ваша работа. По поводу времени. Во-первых, время, потраченное на оптимизацию, изначально учитывается при составлении графиков и бюджетов. Во-вторых, опытный художник отличается тем, что он делает все гораздо быстрее начинающего. В-третьих, подумайте. ААА игры разрабатываются командами, состоящими из 500, а порой и 1000+ человек. И разрабатываются они по несколько лет. И стоят сотни миллионов долларов. Если вы думаете, что все это время они катаются верхом на проститутках по двойным сплошным из кокаина, а за месяц до релиза сидят и "не запариваются", то вы, мягко говоря, заблуждаетесь. Даже на самый небольшой ассет для игры у опытного художника может уйти несколько рабочих дней, а то и недель. Говоря "небольшой", я имею в виду именно что небольшой. Клумбу, лестницу, фонарь. И, уверяю вас, что занимаются они именно тем, что запариваются. И стараются выдать не просто качественный результат, а результат, который позволит игре стать такой, какой ее задумали. Красивой, атмосферной, детализированной.


Если вы придете на собеседование (если!) в Naughty Dog, Ubisoft, EA и скажете им, что запариваться не надо, ведь современное железо - огонь, да и полигонаж не вызывает серьезных просадок ФПС (честно, вы тестили не на самом топовом железе), то в лучшем случае с вами вежливо попрощаются.


Знаете кто не запаривается?

Работа над ошибками в 3D. Интермеццо 3D, Gamedev, Длиннопост

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


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


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


Удачи вам всем. До новых встреч.

Лига Разработчиков Видеоигр

6.6K постов22.1K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

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

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

3
Автор поста оценил этот комментарий

Ладно. Убедили. Тогда хотелось бы что бы рассказали про нужность запека нормалей. Множество людей сейчас бездумно лепят хайполи, и после пекут нормали и др по 4 к в саб пайнтере и довольные кичится, не думая о том, что 1 такая текстура забивает 10% памяти даже топовой видеокарты. При этом если посмотреть на модели (в частности пропсы) от больших компаний(тот же Дайс, 4a games), то на пропсах будут заметно, что никто им не делал уникальную юв и никто не пек нормали. Это просто проекция куба для юв и 1 материал для всех пропсов деревянного, металлического или др. типа. Единственные места, где были запеки - это оружие и персонажи, те то, что всегда в кадре.

Так хотелось бы услышать где и когда нужно печь карты, а когда лучше избежать этого, когда лучше сделать фаски, а когда лучше избежать и того и другого.

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

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

1
Автор поста оценил этот комментарий
разработка игры - это не веселье

Когда не умеешь ничего - то да, это не веселье.

раскрыть ветку (1)
8
Автор поста оценил этот комментарий

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

показать ответы
Автор поста оценил этот комментарий

Всем бы такую любовь к работе) Кстати, вы работает фриленсем или на какую известную может студию? Вообще как оцениваете есть ли сейчас спрос на моделлеров в РФ?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Я работаю в аутсорс студии. Спрос на 3Dшников конечно же есть

показать ответы
1
Автор поста оценил этот комментарий

Как обычно сначала лайк потом читаем. Ну и пара вопросов созрела

1) Как относишься к blender и чего он не может, что могут именитые и дорогие редакторы?

2) Есть ли вариант motion capture  в домашних условиях? Слышал где-то что kinect может в этом сильно помочь. Было бы просто нереально круто не делать анимации катсцен вручную...

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

К Блендеру отношусь хорошо. Сам лично не пользую, но ни одного плохого слова не слышал. Несколько коллег в нем работают. В плане возможностей умеет все то же, что и «старший» софт. Вообще выбор обычно стоит делать не по возможностям, а по тому, как они реализованы. Но тут про блендер ничего не скажу, ибо личного опыта почти не имею. Motion capture на кинекте сделать можно. Один мой товарищ занимается подобным шаманством. Результат конечно не Голливуд, но вполне даже хороший.

Автор поста оценил этот комментарий

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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

По поводу выбора ПО - это исключительно дело вкуса. Серьезно. Обычно одного взгляда хватает, чтобы понять, твой это софт или нет. Майка и Макс имеют более-менее схожую популярность в индустрии. А вот с роликами про геймдев (тем более на русском) очень и очень... нет. Я по крайней мере не встречал. Но что хочу сказать. Моделировать диван и какую-нибудь пушку для игры - это одно и то же с точки зрения процесса. Техники моделирования одинаковы для любого ассета. А игровая модель просто отличается более жескими требованиями к оптимизации, которые я тут и доношу. А английский нужно учить. Без него в геймдеве вообще никуда, если конечно не ограничиваться местячковыми инди-командами.

показать ответы
Автор поста оценил этот комментарий

Можете посоветовать какие видеоуроки для начинающих моделлеров или книги может?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

показать ответы
Автор поста оценил этот комментарий

А в чем ты моделишь? И в чем делаешь репотологию?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

По большей части в майке

Автор поста оценил этот комментарий

Кажется у этого слова нет других значений. Разработка она и в Африке разработка.
Вот что говорит по этому поводу вики https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D1%80%D0%B0...

Если вкратце: "Разработка компьютерных игр — процесс создания компьютерных игр (видеоигр)."
Дополню что 3д моделирование это лишь часть процесса.

Когда можешь делать больше 50-60% сам т.е. моделировать, писать код, рисовать, строить уровни, продумывать игровые механики, обрабатывать\создавать звуки, при этом нет никого сверху кто долбит мозги правками и прочими ужасами, разработка игры приносит большое удовольствие и часто веселье, проверено. =)
Хотя опять же это скорее личное имхо, уверен что найдутся те кто мучается.

А так-то я не агрессивно настроен, просто захотелось не много поделиться об впечатлениях. +)

раскрыть ветку (1)
Автор поста оценил этот комментарий

А, речь про разработку в одиночестве? Это весело, подтверждаю)

показать ответы
Автор поста оценил этот комментарий

Хз как можно что-то там опровергнуть если не разрабатываешь игры, а занимаешься всего лишь 3д моделированием для игр. :)
По моему мнению и опыту разработка игры очень даже интересное занятие, часто весёлое, но увы иногда веселье может резко оборваться, а часто это когда переделываешь\правишь что-то по 2-3 и более раз.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Делать 3D для игр - это не разрабатывать игры, писать код для игр - это не разрабатывать игры, писать сценарий - это не разрабатывать игры) Что же тогда разработка игр, коллега?)

показать ответы
Автор поста оценил этот комментарий

Всем бы такую любовь к работе) Кстати, вы работает фриленсем или на какую известную может студию? Вообще как оцениваете есть ли сейчас спрос на моделлеров в РФ?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Я работаю в аутсорс студии. Спрос на 3Dшников конечно же есть

Автор поста оценил этот комментарий

ТС, выдай плез свои контакты для связи (вк там или почту) если не трудно). Надоедать не буду, просто пару вопросов по существу.
P.S. Можно вот сюда - xs85design@gmail.com
P.P.S - я уже нашел тебя) ты не против если я напишу?)))

раскрыть ветку (1)
Автор поста оценил этот комментарий

Кинул на почту

1
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

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

показать ответы
7
Автор поста оценил этот комментарий

Ещё немаловажный фактор — размер модели на экране. Если человечек на экране занимает область 100х100 пикселей, вряд ли ему стоит делать объёмные пуговицы :)

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

Абсолютно верно

2
Автор поста оценил этот комментарий

Как давно "не профессионал" могу сказать - поищите на стоках фришную модельку лошади. И мокап сразу для нее

раскрыть ветку (1)
Автор поста оценил этот комментарий

Странно, что @MisterBee добавил меня в игнор) Отвечу тут) Да, в сообществе часто не любят новичков, но не потому что они новички, а потому что многие, задавая вопрос, не хотят получить на него ответ. Вот к примеру, что значит «второй день учусь делать лошадь»? А сколько дней вы учились основам моделирования? Сколько дней вы изучали анатомию лошади? Что вы научились делать до того как приступить к столь сложному ассету? С каким вопросом вы можете обратиться к профессионалу? Как заскульптить копыто? Всегда прежде чем задать вопрос, сформулируйте его и постарайтесь ответить сами и с помощью огромного количества инфы в гугле. И если вы не сможете найти ответ на «конкретный и четко сформулированный вопрос», то тогда задайте его профессионалам. И я уверен, что вы наткнётесь не на «нежность», а как минимум на интерес со стороны опытного человека. И скорее всего на ответ, либо на информацию, которая вам поможет.

4
Автор поста оценил этот комментарий

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


Тыжеартист? Нафигач тут нам пару десятков скетчей космо-кораблей, 3-4 перса в разном эквипе, несколько моделек оборудования, так чтоб неплохо смотрелись иконкой 32*32 и рендере 4000*4000, архитектуры вариантов 30, неплохо былоб это все замоделить, текчиуры 4096*4096, а персам некстген нормал сделать в збраше, отриггить, анимацию несколько позиций, сварганить сцену, и желательео до завтра. И нафиг что-то оптимизировать, пусть у лида башка кипит, раз процесс не смог спланировать и оптимизировать

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Это точно. Вот и забыл написать с самого начала. Теперь вот приходится постфактум разгребать последствия своей забывчивости)