EYEK. Blender Add-on

Дополнение к Blender, самостоятельное приложение

Задача проекта:
Создание текстуры из множества изображений и данных о позиции и повороте камеры.

Что и как было сделано:
Можно сказать, что это рендеринг наоборот. По всем треугольным полигонам сцены строится иерархия ограничивающих объемов. Из каждой позиции камеры выпускаются лучи для определения видимых полигонов модели. При определении видимого полигона через барицентрические трансформации находятся пикселы на UV карте и изображении на картинной плоскости, соответствующие друг другу. Цвет с изображения на картинной плоскости переносится на изображение с UV картой.

Особенности проекта:
Изначально реализован на Python Blender API, впоследствие полностью переписан на Rust в самостоятельное приложение.

Год реализации проекта: 2020

Публикации в медиа о проекте:

— 80.lv

— 3dnchu

— modelinghappy 

Blender PythonRust

Сроки: 1 месяц

Команда проекта
CG, RND: Рома Чумак

Blender add-on для текстурирования путем проецирования с нескольких камер на один UV-слой

Особенности проекта:

ДОКУМЕНТАЦИЯ

Resolution: разрешение сгенерированной текстуры, число горизонтальных и вертикальных пикселей.
Blending: статистический метод для смешивания цветов из разных камер, если они проецируются на один пиксель в текстуре.
Properties:
Clip UV: ограничение в пределах UV координат (0 — 1).
Shadowing: включить трассировку лучей, в противном случае проекция проходит через полигоны насквозь.
Expand: закрашивание пикселей вокруг UV-островов.
Output: путь к файлу, в который будет сохраняться сгенерированная текстура.
Paint!: генерирует текстуру.

 

Как пользоваться:

1. Установите фоновые изображения для камер.
2. Разместите камеры так, как вы хотите, чтобы проецировать их фоновые изображения на ваши объекты.
3. Выберите камеры и объекты.
4. Запустите Eyek.

Часто задаваемые вопросы:

У меня есть несколько изображений с разным соотношением сторон, но камеры Blender имеют одно соотношение для всех.

Нет проблем. Eyek проецирует изображения с камер так, как они выглядят в кадре или соответствующие кадрированию Crop или Fit, в зависимости от соотношения сторон. Если соотношение рендеринга больше, чем соотношение изображения, используйте кадрирование Crop, в противном случае Fit. Впрочем, после первого запуска Eyek делает это всё автоматически.

У меня есть несколько фоновых изображений на одной камере и я хочу, чтобы они были наложены на мою текстуру.

Eyek использует проецирование текстуры только для первого фонового изображения. В случае, если у вас несколько изображений, вам стоит продублировать эту камеру и каждой новой камере присвоить по одному фоновому изображению.

Почему некоторые из моих камер игнорируются?

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

Почему моя текстура выглядит немного искаженной?

Это может произойти в том случае, когда области многоугольников в проекции камеры слишком большие. Вы можете добавить модификатор Subdivision Surface с простым алгоритмом к своей модели. Модификатор должен быть активным для рендеринга.

 

ЕСЛИ У ВАС ЕСТЬ ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ, ВЫ МОЖЕТЕ ЗАДАТЬ ИХ ПО ЭЛЕКТРОННОЙ ПОЧТЕ P4@PHYGITALISM.COM