- PVSM.RU - https://www.pvsm.ru -
Большинство используют движок Unity3D для моделирования виртуальной реальности, но у этого инструмента великолепный потенциал для визуализации реальной реальности.
Какие сферы применения могут быть у визуализации реальных объектов?
Для себя, мы открыли следующие области применения Unity3D:
Соответственно, при решении каждой такой задачи, возникают собственные нюансы реализации, как связанные с Unity3D, так и связанные с предметной областью.
Этот некоммерческий проект [2] был создан по заказу администрации района, которая таким способом решила увековечить в цифровой реальности памятные места района: усадьбы, памятники, воинские захоронения. Для каждого объекта, расположенного на карте, создано описание на русском/английском языках, в текстовом и аудио виде. Каждый объект был смоделирован в Unity3D. Можно походить вокруг, посмотреть с разных ракурсов. Текстуры были наложены по реальным фотографиям объектов. К сожалению, состояние виртуальных объектов значительно лучше реальных. И вполне вероятно, что цифра проживёт дольше.
Мы предполагаем дальнейшее развитие этого проекта: добавление объектов культуры, спорта, объектов паломничества. В общем, всего того, что позволит дать представление о культурных традициях района.
Проект по созданию 3D модели «Лесного Городка» [3] был заказан застройщиком.
На ролике виден масштаб проекта — от района до квартиры.
Я задал вопрос нашему ведущему 3D разработчику Андрею Федосееву:
— Андрей, опиши в двух словах для Хабрасообщества, что и как было сделано при создании 3D моделей реальной застройки?
и вот его ответ:
— Изначальной задачей проекта была попыткой реализовать на базе Unity модель территории, которая позволила бы наглядно демонстрировать застройку района, как для жителей, так и для застройщика.
Модель создавалась на основе данных, которые были собраны заранее, а именно: генеральный плана застройки, проекты каждого дома и спутниковые снимки территории.
После первых сборок готовых вариантов модели draw calls зашкаливал за 40 тыс. Не сказать, что я не был к этому готов, рассчитывал на 20 тыс. Вопрос оптимизации встал остро и заставил меня не спать 2 недели в поисках решения. Поначалу свел весь проект (50 уникальных многоэтажных домов плюс мелкая застройка, а также гаражи, беседки, дорожки, мусорные баки, скамейки, фонари и т.д.) к использованию всего 10 текстур.
Следующим шагом было использование встроенной системы Occlusion culling [4]. Если вкратце, то система запрещает отрисовывать объекты, которые не видит камера. Например, если за домом стоит детская площадка, то она отрисовываться не будет, следовательно, и общая нагрузка на систему меньше. При правильной настройке можно добиться спада драуколов на 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, то вы можете погулять по нашей модели [5].
Минимальные системные требования для прогулки: Corei5/4Gb RAM/Video > 5xx Nvidia
Управление: WASD + правая кнопка
Автор: neiromancer
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/unity3d/30451
Ссылки в тексте:
[1] ИСОГД: http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D0%B4%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B4%D0%B5%D1%8F%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8
[2] некоммерческий проект: http://odinculture.ru/
[3] «Лесного Городка»: http://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D1%81%D0%BD%D0%BE%D0%B9_%D0%93%D0%BE%D1%80%D0%BE%D0%B4%D0%BE%D0%BA
[4] Occlusion culling: http://docs.unity3d.com/Documentation/Manual/OcclusionCulling.html
[5] погулять по нашей модели: http://3d.ssc1.ru/
[6] Источник: http://habrahabr.ru/post/173371/
Нажмите здесь для печати.