forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Про UV рендер, развертку и проблемки с ними (http://forum.boolean.name/showthread.php?t=620)

Платон 25.01.2006 18:35

Обьясню на примере кубика чтобы было понятно.
Создаем кубик, разворачиваем каждую его сторону на текстуру, загружаем, пикаем его и рендерим какой-нибудь рисунок в текстуру кубика по высчитанным UV координатам. Все бы ничего, но этот рисунок отображается на всех сторонах кубика, вместо того чтобы отображаться только на той, которую я пикнул. Это произошло из-за того, что я развернул все стороны на один и тот же участок текстуры(как обычно и разворачиваются модели). Как решить эту проблему? Мне уже предлогали рендерить во вторую текстуру (наложеную вторым слоем), предварительно установив ей UV координаты процедурой TextureCoords. Но это непомогло. Пробывал мудрить с координатами - тоже непомогает.

jimon 25.01.2006 19:13

нормально развернуть развертку ... правда ето проблематично но можно
но и текстурки побольше будут :(

Платон 25.01.2006 19:25

В том то и дело что например когда моделлируют какого-либо персонажа, то не рисуют текстуру полностью: левая часть вида спереди, правая часть вида спереди...
а рисуют половину (правую левую) и натягивают обе половины модели на эту тексу. Если делать все "правильно", то тогда не будет смысла этого делать :), тормоза ведь.
Вот интересно как в других гамесах это решено...

jimon 25.01.2006 19:44

ну дык декали :)
декали с проекционым наложением на слой второй текстуры... правда ложатся отдельно поверх всех текстур :) и наверно являют собой 3д обект который обтекает тот обьект на который накладывается

Diplomat 26.01.2006 12:11

Вложений: 2
Всё не так сложно! TextureCoords должен отлично решать траблу.
So, Блиц допускает у обьекта 2 развертки текстурных координат. Текстуре же ты с помощью "TextureCoords" указываешь, какую из разверток использовать.

И в Пайплайне тоже- накладывая текстуру, можно задать ей номер развертки на модели. Так же и при использовании в Мах-е мод-ров UnwrapUVW и UVWMap, ты указываешь, какую из разверток редактировать...

Если короче, то я присоединил к сообщению архивчик на 20+Кб, где лежит Мах-овская сцена, БЗД моделька с двумя развертками и уродливый код-пример, позволяющий менять текстуры на другие...

P.S. Основной проблемой в создании нужных тебе декалей является быстрый программный поиск на текстуре корректных координат, куда нужно поместить декаль... Если решишь- респект тебе будет вечный! :super:

Платон 26.01.2006 14:24

Спасибо Diplomat, теперь я врубился для чего нужна функция TextureCoords :)
Сегодня же попробую с твоей сценкой похимичить :)
ЗЫ
Незнаю насколько быстро у меня расчитываются UV координаты(через длл работает), но расчитываются они правильно вроде(независимо от сложности геометрии).
Как оптимизирую длл, сразу выложу сюда.


Часовой пояс GMT +4, время: 15:53.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot