Unreal Engine 4 http://uengine.ru/forum/ |
|
Поворот текстуры с тайлингом http://uengine.ru/forum/viewtopic.php?f=20&t=13438 |
Страница 1 из 1 |
Автор: | ViktorKarcev [ 20 мар 2018, 19:52 ] |
Заголовок сообщения: | Поворот текстуры с тайлингом |
Здравствуйте, друзья! Прошу вашей помощи в следующем вопросе. В моём проекте есть меш - плоская поверхность. В общем случае она не квадратная. Для тестов я создал размером 700 на 450 единиц. Для этого и других мешей я хочу создать материал, который будет выполнять замощение плиткой с заданными коэффициентами тайлинга и - что важно - углом поворота условной "плитки". В моём примере "плитка" (т. е. текстура) имеет размер 300 на 100 пикселей. Изначально мой материал выглядит так: Коэффициенты тайлинга - 2,3333 и 4,5 - вычислены как 700 / 300 и 450 / 100 (т. е. 2,3 плитки по ширине и 4,5 плитки по высоте). Угол попорота равен нулю. При этом я получаю корректный результат: Однако, если я задаю некоторый угол поворота, то корректный результат я получаю лишь в предпросмотре материала, где используется квадратная поверхность: А в основной сцене возникает искажение-сдвиг: Я понимаю природу этого сдвига: ширина меша больше его высоты и текстура растягивается. Но как правильно изменить материал так, чтобы этого не происходило, а выполнялось "дозамощение"? Я пробовал выполнять поворот ПОСЛЕ тайлинга: - увы, теперь искажение получается и в предпросмотре, и в основной сцене (очевидно, потому что в предпросмотре сдвиг должен быть в другую сторону): Может быть кто-нибудь сможет мне подсказать, как правильно организовать такую систему тайлинга? Спасибо! |
Автор: | ViktorKarcev [ 21 мар 2018, 14:01 ] |
Заголовок сообщения: | |
Норот, ;) я нашёл решение, однако оно требует введения дополнительного параметра материала: соотношения (аспекта) сторон текстуры (оно же - поверхности). Буду рад двум вещам: 1) если это окажется для кого-нибудь полезным; 2) если вы предложите более простое решение. Кратко: одна из UV-координат умножается на аспект ДО поворота и делится ПОСЛЕ поворота на нужный угол. Работает как часы. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |