Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   3D (http://www.flasher.ru/forum/forumdisplay.php?f=50)
-   -   трансформинг прямоугольников(для 3d) (http://www.flasher.ru/forum/showthread.php?t=63386)

Kain cet Lyxsus 23.09.2004 18:28

трансформинг прямоугольников(для 3d)
 
есть 3D-движок, который работает путем построения линий.
теперь мне нужно воткнуть туда векторную текстуру.

есть такой инструмент во флеше "transform", который позволяет ресайзить без сохранения пропорций. эт необходимо для построения проекции. :confused: :confused: :confused:

вопрос: как сделать такой трансформинг на actionscript? я весь мануал перерыл, ничего не нашлось.


ЗЫ. если есть другой способ сделать оптическую иллюзию проекции - пишите, pls.

nuran 09.10.2004 15:49

Не его на AS. Можно сделать перспективное искажение разбивая плоскость на много треугольников а их строить как ортогональные текстуры, т.е. skew программный, как типа тут:
http://nuran.org/lab/flash/0007.htm

Kain cet Lyxsus 19.10.2004 19:20

ага. это я видел уже. хотел исходник достать, да не нашел.

если разбивать на треугольники, то у меня получается белая линия посередине при большом угле или на близком расстоянии. + на стыке стенок кусок текступы отрезается.

nuran 19.10.2004 20:19

Это твои баги, можно сделать что бы ничего такого небыло.

Kain cet Lyxsus 21.10.2004 16:49

ДА! я разобрался, спасибо. правда, 2 маленьких линии иногда появляются, но это ерунда.

я сначала пытался разбивать на 2 треугольника, ресайзить их и поворачивать. не хотел париться с 4мя. после того, как повозился с 2мя несколько дней, решил все-таки попробовать с 4мя. все оказаласоь намного легче.

у меня ф-я, отвечающаяя за натягивание текстуры на 4хУгольник получает 4 (2D, уже спроецированные) точки. по ним нахожу точку пересечения диагоналей. текстура разбита на 4 треугольника по диагоналям. теперь просчитываю координаты треугольников так, чтобы вершины совпадали: с центром 4хУгольника и с его 2мя вершинами. круть! еще раз спасибо.

ЗЫ. там, в моем первом посте, перед смайликами должен был стоять знак "?".

nuran 21.10.2004 17:16

а можно и даже лучше сделать функцию, которой лишь нужно задавать колличество треугольников по горизантали и вертикали, и она тебе исходны MovieClip будет разбивать на n-количество треугольников, пользуясь маской (myMC.setMask());

Kain cet Lyxsus 21.10.2004 18:15

да. но это по-сложнее. а если указать ему разбиение на 13 треугольников? и потом, для одного куба это будет нормально работать, то когда будет прорисовываться, допустим, лабиринт, могут возникнуть проблемы с производительностью.

надо сделать фри-сорсный 3Д движок, когда время будет.


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.