Большинство используют движок Unity3D для моделирования виртуальной реальности, но у этого инструмента великолепный потенциал для визуализации реальной реальности.
Какие сферы применения могут быть у визуализации реальных объектов?
Для себя, мы открыли следующие области применения Unity3D:
- Виртуальные туры по музеям, памятникам и другим культурным объектам. Не всегда есть возможность посетить место, да и не понятно, стоит ли тратить драгоценное время на это посещение.
- Визуализация объектов строительства. Тут всё понятно. Особенно для застройщиков, которые производят строительство не просто одного объекта, а целого комплекса зданий. Возможность походить/полетать вокруг и около объектов даёт дополнительное понимание удобно ли будет жить/эксплуатировать данное место. И конечно привлекает покупателей/инвесторов красивой сценой.
- Визуализация ИСОГД. Да, Unity3D можно использовать для модели всего города/района! И дальше только фантазия ограничивает применение этой модели.
Соответственно, при решении каждой такой задачи, возникают собственные нюансы реализации, как связанные с Unity3D, так и связанные с предметной областью.
Проект «Культурное наследие Одинцовского района»
Этот некоммерческий проект был создан по заказу администрации района, которая таким способом решила увековечить в цифровой реальности памятные места района: усадьбы, памятники, воинские захоронения. Для каждого объекта, расположенного на карте, создано описание на русском/английском языках, в текстовом и аудио виде. Каждый объект был смоделирован в Unity3D. Можно походить вокруг, посмотреть с разных ракурсов. Текстуры были наложены по реальным фотографиям объектов. К сожалению, состояние виртуальных объектов значительно лучше реальных. И вполне вероятно, что цифра проживёт дольше.
Мы предполагаем дальнейшее развитие этого проекта: добавление объектов культуры, спорта, объектов паломничества. В общем, всего того, что позволит дать представление о культурных традициях района.
Проект «Лесной Городок»
Проект по созданию 3D модели «Лесного Городка» был заказан застройщиком.
На ролике виден масштаб проекта — от района до квартиры.
Я задал вопрос нашему ведущему 3D разработчику Андрею Федосееву:
— Андрей, опиши в двух словах для Хабрасообщества, что и как было сделано при создании 3D моделей реальной застройки?
и вот его ответ:
— Изначальной задачей проекта была попыткой реализовать на базе Unity модель территории, которая позволила бы наглядно демонстрировать застройку района, как для жителей, так и для застройщика.
Модель создавалась на основе данных, которые были собраны заранее, а именно: генеральный плана застройки, проекты каждого дома и спутниковые снимки территории.
После первых сборок готовых вариантов модели draw calls зашкаливал за 40 тыс. Не сказать, что я не был к этому готов, рассчитывал на 20 тыс. Вопрос оптимизации встал остро и заставил меня не спать 2 недели в поисках решения. Поначалу свел весь проект (50 уникальных многоэтажных домов плюс мелкая застройка, а также гаражи, беседки, дорожки, мусорные баки, скамейки, фонари и т.д.) к использованию всего 10 текстур.
Следующим шагом было использование встроенной системы Occlusion culling. Если вкратце, то система запрещает отрисовывать объекты, которые не видит камера. Например, если за домом стоит детская площадка, то она отрисовываться не будет, следовательно, и общая нагрузка на систему меньше. При правильной настройке можно добиться спада драуколов на 10-20%.
Ну и конечно же важную роль сыграл скрипт CombineChildren, доставшийся от одной из демок unity. Важность этого скрипта для меня невозможно переоценить. Так, к примеру, имеем 10 домов, драуколы на уровне 4-5 тысяч. Создаем пустой game object, кидаем в него наши дома и вешаем CombineChildren. Общий вид сцены не меняется, а драуколы 200-300.
От создания 3D моделей до финальной сборки проекта заняло примерно 3 месяца.
Ну и немного о том с чем работал: Unity 3.5 (позже Unity 4) + Playmaker + Easy road + ShaderBox + nuaj (отдельная версия с настройками погоды) + пара шейдеров из местного магазина.
Моделинг: 3d max + google sketchup
Если ваша ОС поддерживает Unity Web Player, то вы можете погулять по нашей модели.
Минимальные системные требования для прогулки: Corei5/4Gb RAM/Video > 5xx Nvidia
Управление: WASD + правая кнопка
Автор: neiromancer