PDA

Просмотр полной версии : Натянуть текстуру


juice
22.07.2004, 22:37
Можно ли при помощи Action Script изменять положение угловых точек картинки как это делается при "ручной" трансформации? Ну, например конечная цель натянуть на кубик текстуру (натянуть на каждуюю его грань) и отобразить это.

silin
22.07.2004, 23:27
Оригинал написал(а) TTS
Если текстура треугольная, ее с помощью skew (поворот+масштабирование по осям) можно вписать в любой треугольник. Только это будет не совсем перспектива, т.к. "внутреннее содержимое" текстуры деформируется не так, как надо. Но вполне сойдет.
Если текстура не треугольная, способ только один - разбивать ее на куски (треугольники) и каждый из них деформировать отдельно. Минимальный вариант для прямоугольной текстуры - два треугольника. Правда, искажения довольно заметны. Пример тут (http://www.flasher.ru/forum/showthread.php?postid=277406#post277406)
Если прямоугольник разбить на 4 части, можно привязать центр картинки к центру четырехугольника, в который она вписана. Хотя в реальной перспективе центр текстуры должен быть смещен, выглядит это лучше, чем предыдущий вариант. Пример тут (http://www.it-rescue.ru/mad_about_3d/)
Может быть, если разбить прямоугольную текстуру на 8 частей, то и центр получится поместить туда, куда надо, без особых искажений. Правда, такого изврата я еще не встречал :D
Ну, естестно, тормоза прямо пропорциональны качеству.