![]() |
Наложение текстуры по известным 3D координатам
На меш произвольной формы надо наложить текстуру, известна точка наложения в 3D координатах. Как ее наложить или как передвинуть уже наложенную текстуру к нужной точке?
Уже час ищу - ни в примерах ни на форуме похожего не нашел:( |
Ответ: Наложение текстуры по известным 3D координатам
ну так uv посчитать... нет?
|
Ответ: Наложение текстуры по известным 3D координатам
а вот в том и вопрос, как их посчитать из x,y,z?
|
Ответ: Наложение текстуры по известным 3D координатам
А как текстуру надо наложить? Какой метод?
|
Ответ: Наложение текстуры по известным 3D координатам
Да без разницы, просто текстуру положить, или подвинуть уже наложенную.
|
Ответ: Наложение текстуры по известным 3D координатам
Если на произвольный то из сферической системы координат, наверно.
Например узнаем координаты точки (x,y,z). Еще есть внутри меша произвольной формы точка, для удобства можно вообразить, что эта точка совпадает с началом системы координат. Далее приводим вектор (x,y,z) к длине 1. acos(x) даст один угол, acos(y) даст второй. 0 в текстурных координатах равен нулю, 360 1. Профит. Перед тем как acos(x) находить надо наверно x/y сделать, не знаю почему, но надо, наверно. Или не надо, хз я забыл зачем мне это надо было когда я вектор по двум углам прицеливал. Да, вот еще, если асосинус выдает ответ в радинанах, то 0 - 0, а 6,28 -1. |
Ответ: Наложение текстуры по известным 3D координатам
Рисунок в студию!
|
Ответ: Наложение текстуры по известным 3D координатам
Цитата:
|
Ответ: Наложение текстуры по известным 3D координатам
Получается что-то вроде этого:
Код:
ax#=VectorYaw# (nx#,ny#,nz#)/180 Но корректно работает только с половиной объекта (полусфера например). Есть мысль порезать объект на две части с двумя отдельными текстурами или один объект с двумя текстурами по разным сторонам. Кстати например у верха и низа сферы текстура сильно искажается, поэтому лучше использовать две текстуры. |
Часовой пояс GMT +4, время: 18:51. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot