Render.ru

Вращение отражения по трем осям.

mr-asa

Знаток
Рейтинг
23
#1
Задача казалась несложной - привязать положение текстуры на хелпер.

Наиболее удачным решением мне показалось - назначить текстуру на отражение, то есть в слот environment, так как UVW map слишком сложно выравнивать. Получается сферическая проекция на объект. Меня это очень устраивало.

Но столкнулся с проблемой, что любая текстура при сферической проекции вообще никак не вращается по вертикали. Потом порылся, нашел, что vrayHDRImap может по вертикали крутиться, но по горизонтали крутится только вокруг своей локальной оси, то есть как глобус. И полюса глобуса я не могу крутить вбок.

Может кто-то знает как можно крутить отражение на объекте по трем осям? Стандартными шейдерами макса или виреевскими. Не смог найти решений. Только как написать шейдер самому. Может кто-то располагает исходниками vrayHDRI?
 

iVAt

Знаток
Рейтинг
68
#2
а способ иммитирования окружения/отражения сферой большого диаметра не подойдёт? сферу можно крутить как угодно
 

mr-asa

Знаток
Рейтинг
23
#4
to iVAt
Имитировать отражения не могу, так как у меня сфера не должна больше ничего другого отражать, кроме этой текстуры. А текстура представляет собой белое пятно какой-то формы на черном фоне.

to diwian diwian
"Coordinates" карты "U", "V", "W" отвечают только за разворот карты, которая потом натягивается на шар. А расположение полюсов от этого не изменится. Просто мне нужно сохранить положение картинки на экваторе, так как там она не искажается. Вот я и хочу этот экватор повернуть в любую сторону. Если не очень понятно, могу приложить пару картинок того, что нужно и того, что получается.
 
Рейтинг
82
#5
Быть этого не может если только не установлен режим "Screen".Переключение в "Texture" снимает все ограничения.Или покажи скрины(вообще это нужно было делать в первую очередь).
 

mr-asa

Знаток
Рейтинг
23
#6
Вот я иллюстрирую свою проблему. На втором изображении очень хорошо видно, что при развороте по горизонтали у меня ось сферы смещается на заданный угол. Это верхняя строчка. Но как только я пытаюсь повернуть потом текстуру по горизонтали, у меня ось остается на прежнем месте. вращается текстура вокруг нее. ну как будто я просто офсет карты сделал. Я хочу повернусь ось так, чтоб она на меня развернулась но не во фронтальной камере, а в боковой.
Как сделать подобный финт ушами?

Надеюсь, так нагляднее проблема стала? Если что-то непонятно, постараюсь еще как-то по другому изобразить.
 

Вложения

Рейтинг
82
#7
Всё равно не понял.Что нужно получить в итоге."Управляемое" отражение независимое от карты окружения или что то ещё.Конечная цель? Я не вижу ни каких препятствий что бы крутить-вертеть,сдвигать,повторять изображение в слотах материалов.
 

Вложения

mr-asa

Знаток
Рейтинг
23
#8
Конечная цель - привязка отражения к какому-то хелперу при анимации.

Пример - глаз. Есть сфера, на которую я сферически спроецировал текстуру глаза.
Я анимирую сферу как угодно. Рядом по столу ползет таракан. Я хочу, чтоб текстура зрачка на глазе следила за тараканом, в то время как геометрия могла вращаться, скажем, в другую сторону.

Или еще другой пример - у меня есть сфера с HDRI отражением интерьера с большим окном. И есть геометрия окна. Куда бы я ни сдвинул это самое окно, отражение повернется в ту же сторону. Но геометрия шара при этом вообще никак не затрагивается.
 

mr-asa

Знаток
Рейтинг
23
#9
Ну или еще вот такой пример. Сделать так, чтоб эта текстура следила за поинтом по этой кривой. Геометрия не затрагивается, ювишки не вешаются. Может быть есть способ как-то это по другому организовать?
 

Вложения

Рейтинг
82
#10
Через Wire Parameters.Правая кнопка мыши.Можно "связать" практически любые параметры любого объекта(ов) с любым(и) другим(ми) в том числе и "хелперами".
 

Вложения

mr-asa

Знаток
Рейтинг
23
#11
Я знаю что такое Wire Parameters. У меня задача не как привязать, тут много вариантов. Проблема в повороте текстуры вокруг глобальной оси Z.

Ювишка не очень удобна, так как анимация записывается через pointcache, а это значит, что пивот геометрии остается на месте, так же как и UVW map, зато геометрия может быть где угодно
 

mr-asa

Знаток
Рейтинг
23
#12
Вот такой еще пример работы vrayHDRI могу показать. Она работает как глобус. То есть по зеленым осям я могу вращать текстуру, а вот по красной, как бы к себе полюс повернуть я не могу. А мне надо, ну очень надо его на себя повернуть!!!
 

Вложения

Рейтинг
82
#13
Так!Стоп!Давай разбираться :
Пост №1 "..Но столкнулся с проблемой, что любая текстура при сферической проекции вообще никак не вращается по вертикали-выделенный отдельно "гизмо" производит любые операции с картой вращение по всем осям,масштабирование в любом направлении так же и смещение в разные стороны.При этом ни,что не мешает паралельно управлять координатами в самой текстурной карте(это ответ на второй вопрос).При том что аналогичное можно делать и в анимации.
И третье "Сделать так, чтоб эта текстура следила за поинтом по этой кривой"А не означает ли смысл слова "СЛЕДИЛА" со словом "ПРИВЯЗАТЬ"(или связать-кому как удобно).
По поводу глобуса.А что мешает изменить ориентацию оси гизмо?!Анимировать (или привязать к чему угодно) можно в любом направлении и с любой скоростью и притом ещё и отдельно"крутить координаты".
Не надо всё усложнять всё гораздо проще как кажется.
 

mr-asa

Знаток
Рейтинг
23
#15
diwian diwian сказал(а):
выделенный отдельно "гизмо" производит любые операции с картой
Вот проблема в том, что Вы не до конца поняли, о чем я пишу. Ключевая фраза - "назначил текстуру на отражение, то есть в слот environment".
Если Вы сможешь заставить реагировать карту отражений на разворот гизмо модификатора, расскажите как это делается.

PS. в 11 посте я написал, что UVW mapping мне не подходит, так как помимо его вращения мне придется отслеживать еще и его положение в пространстве. А для отражения мапинг на объекте вообще не нужен.
 

mr-asa

Знаток
Рейтинг
23
#17
Когда народ научиться ясно излагаться ,что ему нужно!
И что сие должно означать? Как мне это поможет?
Особенно, если учесть, что еще в первом посте я написал "Стандартными шейдерами макса или виреевскими"
 
Рейтинг
82
#18
Да ё......! Да "воткни" ты карту в слот отражения нужного тебе материала и крути её там сколько угодно.Но у "вирея" наверняка такая же "примочка" есть.Смотри внимательно.
 

mr-asa

Знаток
Рейтинг
23
#20
Ну что ж. Раз такие пироги, поступлю по другому. Кто сделает картинку с условиями ниже, перед тем сниму шляпу и возьму мастер класс )

1.Используется любая в принципе карта, можно максовскую, можно битмап, прикрученный каким угодно образом. Лучше использовать какие-нибудь шашечки, чтоб видно было ориентацию текстуры. Мапы - стандартный или виреевский.
2.Текстура лежит только в слоте environment. Рефлект белый, соответственно.
3.Никаких модификаторов на объекте нету, как видите, сам объект никуда не повернут. Хотя по идее этот пункт никак не должен влиять на результат.
4.Ракурс объекта по дефолту. Мировые оси координат должны быть как на скрине.
5.Результат изысканий - рендер, где текстура отцентрирована по горизонтали и вертикали в таком ракурсе.

изображение

можно сохранить или открыть по ссылке в нужном формате - http://clip2net.com/clip/m70492/1355150680-test-570kb.png
 
Сверху