Подделка трехмерного объекта для уменьшения количества полигонов

20

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

введите описание изображения здесь

введите описание изображения здесь

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

введите описание изображения здесь

MR-матовый
источник
7
Я считаю 52 вершины на этом заборе. Это не так много.
Фарап
1
@Pharap Но имейте в виду, что происходит, когда вы размещаете тысячи копий этого меша на границе уровня.
Филипп
5
@Philipp Если Unity правильно использует объекты Vertex Buffer и подобные методы оптимизации, это не должно быть проблемой. Вы всегда можете просто использовать рекламный спрайт с альфа, если вы так волнуетесь. Или, еще лучше, визуализируйте спрайт рекламного щита на расстоянии и создавайте правильную сетку, когда игрок подходит достаточно близко. И я искренне сомневаюсь, что вы получите тысячи заборов, которые будут отображаться одновременно. Даже если в мире будет установлено более 9 000 заборов, я подозреваю, что большое их количество будет забраковано. Вы на самом деле сравнивали или вы просто делаете предположения о производительности?
Pharap
6
Вы разрабатываете для мобильных устройств или для ПК / консоли? По крайней мере, на современных (5 лет и младше) графических процессорах модель с 52 вершинами, вероятно, дешевле, чем выполнять альфа-смешение / альфа-маскирование. Это зависит от многих факторов (покрытие экрана, графический процессор, пиксельный шейдер или узкое место при растеризации и т. Д.), Но использование альфа-маски всегда приводит к перерисовке. Вы должны, вероятно, сравнить это перед оптимизацией.
Тобиас Б
2
Однако один случай, когда вы можете этого не делать, может быть, если вам нужно игнорировать обнаружение столкновений в этих промежутках, например, если вы пытались снимать пробелы в определенных объектах (в некоторых шутерах от первого лица) и «пуля» "дыра" ( переводная картинка ) появилась на "пустом месте" ( модель ).
DoubleDouble

Ответы:

26

Если я правильно понимаю, чего вы хотите достичь, вы ищете понятие «самозванцы». Это именно 2D-представления 3D-объектов, используемые для уменьшения геометрической сложности рендеринга 3D-среды.

Вы можете думать о них в значительной степени как о изображениях трехмерных объектов, которые используются в качестве текстур двухмерных объектов. Каноническим справочником для них является, вероятно, глава 21 книги GPU Gems 3, названная «Истинные самозванцы». Это общедоступно здесь . Еще одним важным справочным материалом является глава 5.7 книги «Game Programming Gems v.2» под названием «Самозванцы: добавление беспорядка» в Game Programming Gems 2, Том Форсайт.

И они могут быть равномерно сгенерированы на лету, чтобы иметь дело с небольшими изменениями угла обзора или сгенерированным во время выполнения контентом. Взгляните на замечательную статью Gamasutra на эту тему, которая называется «Динамические 2D-самозванцы: простая и эффективная реализация DirectX 9» . Дальнейшее развитие концепции появилось в разделе «Облака щитов для экстремального упрощения модели» .

Подробное объяснение концепции см. В этой записи блога: http://blog.wolfire.com/2010/10/Imposters

Наконец, поскольку вы используете Unity, я слышал о плагине, который автоматизирует такой процесс. Это называется Real Imposters LOD System .

ОБНОВЛЕНИЕ: ради завершения я думал добавить две вещи, о которых я недавно вспомнил. Во-первых, есть отличное видео GDC, где арт-директор SimCity объясняет, как они (тяжело) использовали самозванцев для достижения первоклассных графических достижений этой игры: «GDC - Создание SimCity: искусство на службе симуляции». , Во-вторых, для тех, кто интересуется Unreal Engine, он имеет встроенную функцию для реализации самозванцев, что можно увидеть в документации

MAND
источник
Так что, если я сделаю модель забора, полную и использую систему Real Imposters LOD, это сработает, как вы думаете?
Мр-Мэтт
5
@ MatthewInglis Я не могу точно рассказать вам о плагине: я давно не использую Unity, поэтому не могу проверить. Но в принципе да, он должен создать 2D спрайт-версию вашего полностью детализированного 3D-объекта. Вы должны поиграться с конфигурациями, хотя. Если вы планируете купить плагин, сначала прочитайте документы ( drive.google.com/file/d/0B3GMQtflbloSeHhvUGJmcjluX3M/view ) и связывайтесь с автором заранее по конкретным вопросам, которые могут у вас возникнуть по их продукту.
И
0

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

PRDeving
источник