Полезное

Мы Вконтакте

Discord канал

#
Модератор: LEX38RUS
Аватара пользователя
Пользователь
Сообщения: 2
Здравствуйте, друзья! Прошу вашей помощи в следующем вопросе.

В моём проекте есть меш - плоская поверхность. В общем случае она не квадратная. Для тестов я создал размером 700 на 450 единиц.
Для этого и других мешей я хочу создать материал, который будет выполнять замощение плиткой с заданными коэффициентами тайлинга и - что важно - углом поворота условной "плитки". В моём примере "плитка" (т. е. текстура) имеет размер 300 на 100 пикселей.

Изначально мой материал выглядит так:

Изображение

Коэффициенты тайлинга - 2,3333 и 4,5 - вычислены как 700 / 300 и 450 / 100 (т. е. 2,3 плитки по ширине и 4,5 плитки по высоте). Угол попорота равен нулю. При этом я получаю корректный результат:

Изображение

Однако, если я задаю некоторый угол поворота, то корректный результат я получаю лишь в предпросмотре материала, где используется квадратная поверхность:

Изображение

А в основной сцене возникает искажение-сдвиг:

Изображение

Я понимаю природу этого сдвига: ширина меша больше его высоты и текстура растягивается. Но как правильно изменить материал так, чтобы этого не происходило, а выполнялось "дозамощение"? Я пробовал выполнять поворот ПОСЛЕ тайлинга:

Изображение

- увы, теперь искажение получается и в предпросмотре, и в основной сцене (очевидно, потому что в предпросмотре сдвиг должен быть в другую сторону):

Изображение
Изображение

Может быть кто-нибудь сможет мне подсказать, как правильно организовать такую систему тайлинга? Спасибо!
Аватара пользователя
Пользователь
Сообщения: 2
Норот, ;) я нашёл решение, однако оно требует введения дополнительного параметра материала: соотношения (аспекта) сторон текстуры (оно же - поверхности). Буду рад двум вещам: 1) если это окажется для кого-нибудь полезным; 2) если вы предложите более простое решение.
Кратко: одна из UV-координат умножается на аспект ДО поворота и делится ПОСЛЕ поворота на нужный угол. Работает как часы.

Изображение


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница