The Vanishing of Ethan Carter: сканы местности

The Vanishing of Ethan Carter: сканы местности

Сей материал будет дополнением к мартовскому блогу Cohen'а. Букв очень много, но вдруг кому-то будет интересно.


Известно, что разработчики The Astronauts используют фотограмметрию и они же сами хвалятся, что благодаря ей "в The Vanishing of Ethan Carter вы увидите одну из самых правдоподобных окружающих сред когда либо созданных для игр, а объекты теперь не будут просто приблизительной передачей реальности – они и есть реальность", но, судя по отзывам о трейлерах и скриншотах игры, с этими словами многим людям согласиться сложно. Неужто разработчики лгут ? Не совсем. При сканировании на выходе получается и впрямь реалистичный результат, но над объектами приходится поработать, так как при фотограмметрии:

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

2) Приходится убирать артефакты (например, при внезапно упавшем/появившемся листе, насекомом, прочей мелочи или при движении самого снимаемого объекта в целом/части этого объекта во время съёмки), которые выскакивают на сканах часто кусками в связи с тем, что съёмка ведётся с разных ракурсов и асинхронно (в разное время) да и подливают масла в огонь прозрачные элементы снимаемого объекта, типа водопадов/луж и прочего, что тоже влияет на внешний вид скана, либо накладываясь сплошной текстурой поверх основного рельефа снимаемого объекта, но без особых изменений его геометрии (в основном бывает, когда той же воды на поверхности объекта совсем немного и в данном случае исправляется это дело относительно легко, как и в случае с паразитными тенями), либо изменяя эту самую геометрию донельзя (а вот тут уже труднее, ибо придется поправлять приличную часть получившейся 3D-модели).

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

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

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

P.S: примеры сканов можно оценить и по видео ниже, но если хочется самим рассмотреть их поподробнее, то можно не волноваться и спокойно просматривать их на сайте ссылкой выше (780 Ti для просмотра не требуется и хватит даже интегрированной графики Intel последних лет (т.е. это даже на планшете может пойти с поддержкой WebGL)). 

5 Комментариев

  • Насколько я понял из их презентации, сканов там не так и много, не вся игра, а только некоторые объекты.

    0
  • @AlexB, как и написано в данном тексте. Зато, сканируя всё нужное, разработчики экономят время и результат получается намного лучше того, что они бы сделали самостоятельно, рисуя текстуры и создавая 3d-модели с нуля.

    0
  • Очень интересная технология. А что если она войдет в массы, и все разработчики будут выкладывать свои сканы в единую базу? Таким образом через х-лет мы получим потрясающе детализированные игровые миры) Остается вопрос с физикой - как эти камни и статуи заставить себя вести в соответствии и реальной физикой, разрушаемостью и т.п...

    0
  • @BOOMbastiK, все разработчики вряд ли будут выкладывать свои сканы в единую базу, но если отсканить один объект со всех сторон, упростить полигональную сетку, то получится уже добротная 3D-модель, которую остаётся лишь слегка доделать в 3D Max/Zbrush самому. Касаемо физики: можно объекту задать физ. характеристики в DMM (лично я только ЗА подобный физический движок, потому что он поддерживает OpenCL (значит он универсален) + он использует метод конечных элементов (что уже его делает лучшим физ. движком, работающим в реальном времени), в то время как PhysX написан на CUDA, а значит может адекватно в полной мере работать только на картах Nvidia, да и та же разрушаемость там выполняется по заранее просчитанным кускам, как в мозаике, но зато работа с партиклями в PhysX и впрямь интересная, Havok хоть и обновляется, но там алгоритмы слишком упрощены и ту же деформацию 3D-модели в Havok убедительно реализовать тяжело, но можно (правда Havok с PhysX и дешевле в разы)).

    0
  • Шейдеры..... Шейдеры...... Да заманчивая идейка про point cloud, но это только так..... для карт местностей например, но не для игр. Так как это всего лишь статика, ни физики, ни анимации и освещене статическое. И то все равно много будет весить это все дело. Например одна точка она трех мерная, имее 3 координаты x y z по 64 бит на координату, плюс 32 битный цвет и то много, а если добавить физику, а это все го лишь цветная точка точка, что бы она имела какой либо материал надо ей задать нормаль, а значит по логике вещей эта точка уже должнать иметь форму сферы, что бы имела нормаль от которой отщитывался угол отражения, переломления и поглощения света ( все вот эти шейлдеры задаются от нормали ), и какждому такому параметру тоже величину присвивать надо порядка от 32 до 64 бит. Кароче проще так ж работать с полигонами, к которыми можно практически что угодно сделать. Если использовать чистый point cloud, то думаю в качестве 3d-снимков и 3d-фотографий. Для игр в качестве сфер то там на одну сцену не один десяток терабайт места уйдет, а на полигонах на пару терабайт можно сделать такую масштабную игру.... Сами счиатйте...... Либо использовать point cloud и наслаждаться " кастрированной " фотореалистичной графикой, ну или полигоны, к которым можно подключть физику, анимацию, шейдеры и прочее, ну и экномить место на ram и hdd.

    0
Войдите на сайт чтобы оставлять комментарии.