Render.ru

Как читать текстуру дисплэйса?

Анкор

Пользователь сайта
Рейтинг
4
#1
Доброго времени суток !
Собственно, вот ряд вопросов :

Как читать текстуру дисплэйса, выдаваемого Майей?
Что значит информация в данном пикселе?

На какое расстояние должна сместиться вершина, попадающая на белый пиксель ? Является ли смещение производимое белым пикселем - максимальным?
 

Агапов

Активный участник
Рейтинг
8
#2
Это зависит от типа карты. Если это обычный восьмибитный дисплейс, то да, смещение самого белого пикселя - максимальное, как впрочем и самого темного. Если карта дисплэйса 16, 32-битная, или если это векторный дисплайсмент, тогда совсем другая песня.
 

Анкор

Пользователь сайта
Рейтинг
4
#3
Благодарю за ответ !

А на какое конкретное расстояние должен белый пиксель сместить вершины?
 

Агапов

Активный участник
Рейтинг
8
#4
Благодарю за ответ !

А на какое конкретное расстояние должен белый пиксель сместить вершины?
Карта передает лишь информацию о разнице в поверхности между лоу-поли и хай-поли. Этой информацией в последствии ты можешь управлять, добавляя интенсивности выдавливания, либо наоборот, уменьшая его. Тут уже конкретно от рендера зависит. В renderman это параметры Disp. Mult и Disp. Bounce. В остальных как то аналогично наверное. Если я конечно правильно понял твой вопрос. Если ты имел в виду конкретное расстояние в mm?
 

Анкор

Пользователь сайта
Рейтинг
4
#5
Карта передает лишь информацию о разнице в поверхности между лоу-поли и хай-поли. Этой информацией в последствии ты можешь управлять, добавляя интенсивности выдавливания, либо наоборот, уменьшая его. Тут уже конкретно от рендера зависит. В renderman это параметры Disp. Mult и Disp. Bounce. В остальных как то аналогично наверное. Если я конечно правильно понял твой вопрос. Если ты имел в виду конкретное расстояние в mm?
Не совсем.
Дело в том что тут идет написание собственного рендера с этой функцией.

И я, увы, не знаю, какие новые координаты получит вершина( насколько далеко по нормали сдвинется) из-за белого/черного цвета?
Хотелось бы точное число.
 

Агапов

Активный участник
Рейтинг
8
#6
Не совсем.
Дело в том что тут идет написание собственного рендера с этой функцией.

И я, увы, не знаю, какие новые координаты получит вершина( насколько далеко по нормали сдвинется) из-за белого/черного цвета?
Хотелось бы точное число.
Тогда я тебе ничем не помогу, не знаю как это на программном уровне реализовано. Только на прикладном.
 

Andots

Знаток
Рейтинг
66
#8
Не совсем.
Дело в том что тут идет написание собственного рендера с этой функцией.

И я, увы, не знаю, какие новые координаты получит вершина( насколько далеко по нормали сдвинется) из-за белого/черного цвета?
Хотелось бы точное число.
У дисплейса нет жестких привязок по расстоянию. Все зависит от параметра макс дисплейса (ну или как ты там его обзовешь, можешь весом дисплейса обозвать, выбирается для каждого рендера индивидуально, относительная величина) . Т.е если у тебя макс дисплейс к примеру 10 то белый выдвинет на 10, черный на -10 .. 0.5 на 0 все что между белым и черным двигается пропорционально .

посмотри просто как другие рендеры работают. Покрути дисплейс.
 

Puppet

Активный участник
Рейтинг
19
#9
Про другие рендера не берусь утверждать, там может быть и терминология другая. Но что в ментале, что в рендермане все буквально. Чёрный - точка не смещается. Белый- точка смещается на 1. Минусовое значение, значит в обратную сторону.
И пофигу какой битности текстура. Процедурная или нет. На выходе все равно скаларное значение, которое и есть, та дистанция на которую точка сместится. Ну разумеется сверху накладываются всякие Scale, Weight и тп дополнительные множители. Но это всё рюшечки для удобства.
Max Displacement обычно это не множитель для дисплейсмента, а скорее параметр оптимизации. Это то, на сколько увеличится баундинг бокс объекта, чтобы учитывать дисплейсмент. Если он вычислен неправильно и не влезает, то дисплейсмента просто обрежется. Если он слишком велик, возможен небольшой просад по скорости.
 

Анкор

Пользователь сайта
Рейтинг
4
#10
Неужели нет способа точно определить максимальное смещение дисплейсмента?
Скажем, в этой текстуре белый - смещение на 1см, а в этой - на 1 метр.
Иными словами, выходит каждую текстуру нужно подгонять на глаз ?
 

Puppet

Активный участник
Рейтинг
19
#11
Неужели нет способа точно определить максимальное смещение дисплейсмента?
Скажем, в этой текстуре белый - смещение на 1см, а в этой - на 1 метр.
Иными словами, выходит каждую текстуру нужно подгонять на глаз ?
Ставим множитель 100 и будет 100см.
 

Анкор

Пользователь сайта
Рейтинг
4
#14
Ну укажите в текстуре значение 100. Кто мешает то?
А при запекании это число можно точно установить,чтобы не подгонять на глаз ?

Поправьте меня если я ошибаюсь :
При запекании низкополигональная модель проецирует лучи на высокополигональную и самая удаленная точка получает белый цвет, а самая...углубленная - черный.

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

Иными словами, запекая две одинаковые детали с выступом на 1 метр и 1 сантиметр - я получу одинаковые карты ?
 
Последнее редактирование:
Сверху