Проект Сербия - часть 1
На данный момент нахожусь в отпуске в сербии. Не все идет гладко но открылась творческая жилка. Экспериментирую с фото и 3d
Все результаты и исходники по мере сил будут тут.
Источники вдохновения и поиск проблем
Поэтому я вооружился смартфоном, блендером, критой и пошел фотографировать окружение. Из фото я уже пытался создавать объекты, и ручками собирать текстурные атласы. Способ не самый веселый но рабочий. Думаю смогу набрать базу тайловых материалов и собрать из них небольшой район.
Эксперименты с фотограмметрией
Ручная работа это очень здорово, но хотелось подумать и о более сложных объектах. Поэтому я начал изучать фотограмметрию. Перепробовал множество приложений и программ могу вынести следующий вердикт.
RealityCapture абсолютный победитель . Он выдает лучший результат за самое быстрое время. НО требует оплаты и поэтому невозможен для использования теми кто не может платить.
3DF Zephyr имеет "пробную версию". Выдает отличную сетку, пытаеться создать UV развертку, и сильно мажет текстуры. Хорош если нам нужно для 3d печати, или сразу закинуть куда то.
meshroom. Опенсорсный и бесплатный. Медленно работает, ужасная UV развертка, очень странные текстуры, куча артефактов сетки(не критичные). Но визуально его модели лучше чем у 3DF Zephyr, поэтому лучше подходят для допиливания ручками. Его я буду использовать в дальнейшем.
Создание первого пропса
Мне очень понравилась разрушенная ограда с кучей кирпичей. Интересный угол на котором можно потренироваться в сканировании, и использовать в сцене. Обратите внимание что внешняя сторона ограды мне была не интересна, и она имеет минимум входных фото.
для кирпичей же я сделал множество дополнительных фото.
mushroom создает много ненужной и неправильной геометрии на границах скана. В блендере я выравниваю и обрезаю исходный файл.
По сетке хорошо видно влияние количества исходных данных на детализацию. Чем больше фото участка мы скармливаем, тем более высокая на нем детализация.
Высокая детализация это не только достоинство, но и большой недостаток. На данном этапе размер нашей модельки с текстурами около 100 мегабайт. 70 геометрия 30 текстуры. Можно понадеяться на nanite в UNREAL. но это все равно будет 20 мегабайт сжатой геометрии + много ненужных текстур. Поэтому я решаю уменьшить полигонаж, и заново запечь текстуры.
Вспомнил вот этот ролик, который обещает мне скульптинг в EEVEE с dyntopo. Отличная вариант, просто пройтись кисточкой по участкам где слишком много полигонов. К сожалению. эта функция так и не появилась в блендере, поэтому идем более классическим путем с ретопологией и запеканием.
После автоматической ретопологии руками убрал лишние лупкаты, и сделал UV развертку.
Теперь перепекаем текстуры и деталицию с оригинального скана на нашу лоуполи, и получаем достаточно прилично выглядящей асет "гейм реди" качества. 2 мегабайта геометрии +10 мегабайт текстур(которые тоже можно сжать)
И вот я теперь могу смотреть на знакомую кучу мусора прямо в своей игре.
Итог
Сформирован примерный пейплайн работы.
Из больших целей это создание сцены и набора асетов.
Из дальнейших тем для изучения интересней всего:
- создание растительности
- запись звуков
- доработка индивидуальных пропсов до модульных