Добрый день. Я занимаюсь web-разработкой и почти всем, что с этим связано.

Microdisplacement

Microdisplacement подразделяет и смещает поверхность во время визуализации. Так как результаты вычислений не сохраняются, нагрузка на память меньше, а на процессор — больше.

Настройки

  • Microsubdivision Levels — Этот параметр управляет числом подразделений. Чем больше подразделений, тем медленнее визуализация. Этот параметр отличатся от такого же в Loop, значение первого для получения одинаковых результатов должно быть гораздо меньше. Если вы используете X Loop Subdivision Levels, то вам нужно использовать N = sqrt(4^X) уровней Microsubdivision. Например, если X=6, то N=64.
  • Scale — эта настройка контролирует высоту смещения каждого треугольника. Чем выше значение, тем больше смещение.
  • Offset — этот параметр похож на модификаторы Shrink и Fatten.

Использование Microdisplacement

Важно помнить, что при использовании Microdisplacement всё относительно. Если вы уменьшите ваш объект, вам заодно придётся уменьшить и масштаб микродисплейсмента. Например, вы создали сферу диаметром 1 м и применили к ней текстуру, используя Scale=0.01 для смещения на 1 см. Если вы уменьшите сферу в 10 раз, то придётся изменить значение Scale до 0.001 для достижения того же эффекта.

При использовании Microdisplacement смещение рассчитывается как Scale*Value+Offset, где Value — это текстура. Если необходимо инвертировать цвет текстуры для микродисплейсмента, просто используйте отрицательное значение Scale, а Offset отрегулируйте соответствующим образом.

В LuxBlend26 Microdisplacement находится во вкладке Object Data.

Примеры

На рисунках ниже разница лишь в параметре Scale. Объект содержит 500 треугольников с тремя уровнями подразделения Catmull-Clark, применёнными до микродисплейсмента. Когда удваивается значение Scale, скорость визуализации падает линейно, примерно на 40-50 процентов.

Всего с двумя уровнями подразделений, применёнными до микродисплейсмента, количество треугольников возросло до 15744. Для достижения того же эффекта необходимо 20 уровней подразделений.

62976 треугольников, subdivlevels=10, Scale=0.0005, ~100-110 kC/s
62976 треугольников, subdivlevels=10, Scale=0.001, ~50-60 kC/s

А вот и реальный пример того, как можно использовать Microdisplacement. Цифры на шкале радиоприемника были созданы с помощью Microdisplacement. Циферблат имеет 2 уровня подразделения в программе Blender и 50 уровней подразделений Microsubdivision. Значение Scale равно 0.0003.

Автор: Moure

Комментарии