Привет, Хабр!
Эта статья является продолжением статьи Опыт использования VR в проектной организации.
Меня зовут Максим Тимофеев, и я работаю в МТ-инжиниринг, где мы уже более 3-х лет применяем VR.
Как было сказано в предыдущей статье, Blender – отличный и довольно простой инструмент для просмотра 3d моделей в VR.
Здесь я расскажу о том, как использовать Blender 3d для VR и делать это более эффективно. Я опишу конкретные шаги и рекомендации на основе собственного опыта. В статье я буду ориентироваться на начинающих пользователей этой программы.
Blender 3D – профессиональное свободное и открытое программное обеспечение для создания трёхмерной компьютерной графики. Blender имеет большое количество Add-On для различных целей и в том числе для VR.
Подготовка
Для начала работы вам нужно скачать дистрибутив и установить саму программу Blender 3d. На этом шаге, думаю, проблем не возникнет. Я буду использовать версию программы 4.0.2.
Далее вам необходимо установить дополнения (Add-Ons). Для этого в главном меню перейти во вкладку Edit -> Preferences и выбрать в левой части окна Add-Ons. Для установки соответствующего дополнения вам нужно поставить галочку, либо установить его через кнопку Install в верхней части окна, выбрав заранее загруженный файл с расширением zip.
Устанавливаем Add-On VR Scene Inspection
![Установка VR Scene Inspection Установка VR Scene Inspection](https://habrastorage.org/getpro/habr/upload_files/a7e/cfa/b02/a7ecfab029e0ea115a583f9f83d9ea4f.jpg)
Далее устанавливаем Add-Ons для импорта моделей
По умолчанию Blender уже предлагает несколько форматов для импорта.
![Форматы файлов для импорта, которые есть в Blender по умолчанию Форматы файлов для импорта, которые есть в Blender по умолчанию](https://habrastorage.org/getpro/habr/upload_files/2bb/b97/dcc/2bbb97dcc89cd15ae6629e185a8ac77f.jpg)
В зависимости от формата файлов ваших моделей, вы можете устанавливать различные дополнения.
![Add-Ons для импорта-экспорта в Blender Add-Ons для импорта-экспорта в Blender](https://habrastorage.org/getpro/habr/upload_files/008/5cf/e0e/0085cfe0e63b7aaf3874390f48ce946f.jpg)
Доступно множество форматов, в том числе и для импорта DXF.
Отдельно нужно остановиться на формате ifc. Это наиболее распространённый формат в BIM проектировании и возможно единственный корректный способ передачи моделей из таких программ, как Autodesk Revit или Tekla Structures. Для импорта ifc можно установить дополнение BlenderBIM.
![Установка Add-On BlenderBIM Установка Add-On BlenderBIM](https://habrastorage.org/getpro/habr/upload_files/a42/890/30c/a4289030c355f4d3d5cbaae4801ce24c.jpg)
Также вы можете установить последнюю версию BlenderBIM, скачав zip файл непосредственно с сайта разработчика.
![Страница на сайте разработчика BlenderBIM Страница на сайте разработчика BlenderBIM](https://habrastorage.org/getpro/habr/upload_files/f61/a77/f15/f61a77f1562ae03ceaf0a922c4e083d9.jpg)
После установки вам необходимо подключить VR шлем. В сети имеется много видео о том, как это сделать для конкретного типа оборудования.
Теперь у вас всё готово для VR.
Hello VR world
Запускаем Blender и видим, что модель уже содержит стартовый объект – куб с размерами 2*2*2 м. Давайте на него посмотрим в VR шлеме.
![Запуск VR Запуск VR](https://habrastorage.org/getpro/habr/upload_files/971/dc5/2ee/971dc52ee2db36018e93a97610aa3ee7.jpg)
Для запуска VR нажимаем клавишу N на клавиатуре и справа получаем окно с настройками. Выбираем вкладку VR и нажимаем Start VR Session.
Чтобы видеть на экране монитора тоже самое, что и в шлеме (это полезно для сторонних наблюдателей), отмечаем Mirror VR Session.
Для перемещения или поворота в VR пространстве используйте контроллеры. У контроллеров HTC Vive есть особенность - в Blender нужно не нажимать, а только касаться круглых кнопок в соответствующих областях.
![Управление с помощью контроллеров HTC Vive Управление с помощью контроллеров HTC Vive](https://habrastorage.org/getpro/habr/upload_files/b48/d48/363/b48d48363ca07a84d81baeeeb249a7c4.png)
В Meta Quest 3 управление более привычное. Для перемещения или поворота необходимо отклонить джойстик в нужную сторону.
![Управление с помощью контроллеров Meta Quest 3 Управление с помощью контроллеров Meta Quest 3](https://habrastorage.org/getpro/habr/upload_files/723/93a/962/72393a962c3c5b06220f70cc68fd7227.jpg)
Для телепортации на большие расстояния используйте курок контроллера и направляйте луч на какую-либо поверхность.
Надеюсь, что у вас получилось рассмотреть кубик через VR и мы идём дальше.
Режимы отображения модели
В пространстве VR вы можете видеть всё в таком же виде, как и на экране монитора в Blender. В верхней части окна программы доступно 4 режима отображения модели: wireframe, solid, material preview и rendered.
Для демонстрации режимов я присвоил граням стандартного куба 3 материала: red, green и blue. Для каждого материала я назначил соответствующий цвет для отображения во Viewport и imаgе текстуру плитки.
Порядок работы с материалами такой: сначала создаём материал, а уже затем присваиваем его конкретной грани. После этого в режиме Shading можно назначить данному материалу текстуру.
![Назначение текстуры материалу Назначение текстуры материалу](https://habrastorage.org/getpro/habr/upload_files/6f8/ab9/fbf/6f8ab9fbfa5125b04d0209a8b75516e8.jpg)
Тема работы с материалами и текстурами очень обширна и выходит за рамки данной статьи.
Переходим в Layout и включаем режим Wireframe.
![Режим отображения Carcass Режим отображения Carcass](https://habrastorage.org/getpro/habr/upload_files/986/18c/d70/98618cd7054b7121479f0b4fc265957e.jpg)
В этом режиме можно отображать или скрывать невидимые грани (кнопка Toggle X-Ray рядом с кнопкой выбора режима отображения).
Следующий режим отображения – Solid. Это наиболее универсальный режим отображения для VR, поэтому остановимся на нём подробнее. В данном режиме не требуется настраивать освещение, но он позволяет отображать материалы как цветом, так и с текстурами.
![Solid режим, материалы отображаются цветом Solid режим, материалы отображаются цветом](https://habrastorage.org/getpro/habr/upload_files/216/b20/e9b/216b20e9b0fc9780ed76079dfc3a6fd9.jpg)
![Solid режим, отображение текстур Solid режим, отображение текстур](https://habrastorage.org/getpro/habr/upload_files/ba1/6ef/946/ba16ef94674a0ca1aa3c8177081cda0d.jpg)
Также доступен режим X-Ray для включения прозрачности всей модели.
Следующий режим - material preview служит для отображения текстур материалов со всеми эффектами (отражение, преломление и т.д.).
![Material preview Material preview](https://habrastorage.org/getpro/habr/upload_files/3cf/199/8f7/3cf1998f7949ebc347ff878c66712f29.jpg)
Последний режим render даёт возможность получить сцену наиболее приближенной к реальности с учётом света и теней.
![Режим render Режим render](https://habrastorage.org/getpro/habr/upload_files/ca2/e29/371/ca2e2937175b51a0c74784beb20303c6.jpg)
Для этого режима необходимо настраивать освещение. В VR этот режим работает при выбранном методе рендеринга в реальном времени EEVEE.
Теперь вы можете загрузить модель, назначить материалы и текстуры, а также просмотреть её в VR в разных режимах.
Идём дальше.
Что можно улучшить в VR сцене
Функция Cavity
При использовании режима отображения Solid, для большей реалистичности (выразительности), вы можете использовать опции Cavity и Shadow. Здесь же можно поиграть с типом шейдинга, выбрав World, Screen или Both.
![Режим Cavity Режим Cavity](https://habrastorage.org/getpro/habr/upload_files/ee2/19e/985/ee219e985f6dfdccbe7023a25b1d0cb5.png)
Наложение граней
Важно избегать наложения элементов (грани элементов лежат «почти» в одной плоскости). При наложении начинается мерцание, которое сильно мешает просмотру.
![Установка Clip Start Установка Clip Start](https://habrastorage.org/getpro/habr/upload_files/ccf/ea2/ce8/ccfea2ce817a781d6d38b8c5e7cec969.jpg)
В таком случае, нужно либо удалить/сместить одну из граней в Blender, либо попробовать изменить Clip Start на меньшее значение (нажатие клавиши N и в появившемся окне выбрать View).
Anti-Aliasing
Сглаживание служит для того, что бы рёбра объектов были более гладкими (убирает "зубцы" на рёбрах).
Настройки сглаживания располагаются в основном меню: Edit -> Preferences -> Viewport, раздел Quality.
![Значения Viewport Anti-Aliasing Значения Viewport Anti-Aliasing](https://habrastorage.org/getpro/habr/upload_files/0bd/1ff/4e3/0bd1ff4e37a5cd1a0b9f380447d36abe.jpg)
Оптимизация модели
Если ваша модель содержит слишком много полигонов и сильно тормозит, вы можете разбить её на отдельные фрагменты и вставить каждый фрагмент в общую модель через внешнюю ссылку.
![Выделение повторяющегося элемента Выделение повторяющегося элемента](https://habrastorage.org/getpro/habr/upload_files/5b6/4f1/c38/5b64f1c38338a2f6d465b9d18d62c05a.jpg)
Например, в каркасе здания можно выделить типовую раму и сохранить её в отдельном файле blend, а затем вставить через ссылку в файл общей сборки.
![Вставка объекта через внешнюю ссылку Вставка объекта через внешнюю ссылку](https://habrastorage.org/getpro/habr/upload_files/e2e/495/8ef/e2e4958efa659d699d20aea0913cbc0c.jpg)
После вставки необходимо спозиционировать элемент в сцене и затем раскопировать ссылку нужное количество раз.
Данный метод позволяет работать с очень большими моделями и напоминает подход, реализованный в 3D CAD программах, например, в SolidWorks. Сборка состоит из деталей. При изменении одной из деталей, эта деталь в сборке также изменяется автоматически. При этом сборка - легковесная, а вся информация о построении деталей хранится в файлах деталей.
Добавьте немного деталей в сцену
![Дополнительные детали оживляют сцену Дополнительные детали оживляют сцену](https://habrastorage.org/getpro/habr/upload_files/6f4/7b7/c76/6f47b7c76b5f942c514e23af9110d7bc.jpg)
Хорошо оживляет сцену наличие незначительных деталей, например, разметки пола в цеху, высотных отметок или фигур людей (можно отсканировать себя и членов своей команды).
Заключение
Мы рассмотрели всё, что нужно для VR старта с Blender. Надеюсь, данная информация будет полезна.
На данный момент в Blender VR не хватает инструмента для измерений. Очень жду его появления.
А ещё в Blender VR круто смотрятся физические анимации:
![Жёсткая посадка вертолёта. Хорошо, что всего лишь в VR) Жёсткая посадка вертолёта. Хорошо, что всего лишь в VR)](https://habrastorage.org/getpro/habr/upload_files/bc8/cc6/bb6/bc8cc6bb6f6331e92ffb228c0cbed748.gif)
Справочную информацию по Add-on VR Scene Inspection вы можете почитать здесь.
Задавайте ваши вопросы и пишите в комментариях, о чём ещё рассказать по данной теме.