3695

Выжимаем по максимуму из полигона!

Пятнишное моё.

Допустим есть у нас плоскость из одного полигона (на самом деле 2, триангуляция всё такое). Что же можно получить с этого полигона?

Попробуем как в лихие 90-е, кинуть на него фототекстуру.

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

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

Ну вот, появились затенения в тех местах куда свету якобы должно труднее попасть. Напомню что просчёт света в сцене не изменился, движок думает что это все еще  плоская поверхность. Чтобы вбить ренедер-движку идею о том, что эта поверхность имеет неровности, прибегнем к стандартной с года 2003 для геймдева технологии - Normal bump. Это RGB карта, где каждый канал содержит себе информацию о угле наклона нормали в конкретном текселе. Где условно черный цвет это -45 градусов, а белый +45 относительно осей X Y Z соответственно.

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

Плохо видно структуру, накрутим отражений. Абсолютно все поверхности отражают не только диффузно, но и рефлексно.

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

Проблема - поверхность одинаково ярко отражает, такого не бывает, добавим карту reflection (specular).

Попробуем покрутить глянцевость. 

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

нямка, вернем предыдущие карты на место: Diffuse color,Ambient occlusion, normal bump.

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

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

Упс, переборщ.

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

Посмотрим под более привычным углом. "плитка как плитка" - если так скажет обыватель,то значит работа удалась.  И это еще не все, что можно выжать из пары полигонов, все выше описанное относится к классическому подходу к текстурированию, а ведь есть еще PBR (physically based rendering), но это уже другая история :)

P.s.Текстуру для этого примера я получил методом фотосканирования, про который я писал в предыдущем своем посте. http://pikabu.ru/story/nemnogo_o_teksturirovanii_ili_chto_mo...

Подписывайтесь, спрашивайте, а я буду пилить посты по популярным вопросам.

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

Здраствуйте. Я, Кирилл. Хотел бы чтобы вы сделали игру, 3Д-экшон суть такова... Пользователь может играть лесными эльфами, охраной дворца и злодеем. И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи. Можно грабить корованы... И эльфу раз лесные то сделать так что там густой лес... А движок можно поставить так что вдали деревья картинкой, когда подходиш они преобразовываются в 3-хмерные деревья[1]. Можно покупать и т.п. возможности как в Daggerfall. И враги 3-хмерные тоже, и труп тоже 3д. Можно прыгать и т.п. Если играть за охрану дворца то надо слушаться командира, и защищать дворец от злого (имя я не придумал) и шпионов, партизанов эльфов, и ходит на набеги на когото из этих (эльфов, злого...). Ну а если за злого... то значит шпионы или партизаны эльфов иногда нападают, пользователь сам себе командир может делать что сам захочет прикажет своим войскам с ним самим напасть на дворец и пойдет в атаку. Всего в игре 4 зоны. Т.е. карта и на ней есть 4 зоны, 1 - зона людей (нейтрал), 2- зона императора (где дворец), 3-зона эльфов, 4 - зона злого... (в горах, там есть старый форт...)



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



P.S. Я джва года хочу такую игру.

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

Главное, чтобы грабить корованы. xD

19
Автор поста оценил этот комментарий
А движок можно поставить так что вдали деревья картинкой, когда подходиш они преобразовываются в 3-хмерные деревья[1]

Дисплейсом выдавливать :)))

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

Ну вообще-то так делают в играх и не редко.

раскрыть ветку (4)
0
Автор поста оценил этот комментарий
Не просто не редко, а почти всегда, если разраб знает про оптимизацию. Но обычно не до картинки, конечно, но полики срезают неплохо.
раскрыть ветку (3)
2
Автор поста оценил этот комментарий

Это называется LOD(Level Of Details)

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

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

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

Вспоминается фонтанчик.

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

с 2001 года так делают.

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

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

Что? Оплата? Вы будете получать 20% прибыли с игры, остальное останется мне - я же это всё придумал.

ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку