![]() |
|
||||||||||
|
|||||
|
Цитата:
Добавлено через 1 час 23 минуты Цитата:
к сожалению немогу нигде кроме root найти конструктор perspectiveProjection. в остальный DisplayObject он везде null хотя Это всё логически обоснованно =)круто! спасибо - он как раз то что надо!
__________________
Black DRAGON хочет кушать Т_Т Последний раз редактировалось DRAGOnoid; 23.03.2009 в 00:44. |
|
|||||
|
спустя некоторое время решил вернуться к этому вопросу.
в общем есть пара методов которые изменяют положение центра и дистанцию до препятствия: stage.transform.perspectiveProjection.projectionCenter = new Point(stage.stageWidth/2, stage.stageHeight/2); stage.transform.perspectiveProjection.focalLength = 1000; мне возвращается вектор непонятных координат... так как же определить вектор от объекта к центру экрана? поясню это ещё нужно для того чтобы определить какой стороной к нам спрайт - лицевой или задней... если зная вектор плоскости и правильный вектор центра экрана получить угол то очень легко можно определить лицевую или обратную сторону спрайта... подскажете какие нибудь идеи?
__________________
Black DRAGON хочет кушать Т_Т |
|
|||||
|
Сори, что не отвечаю на Ваш вопрос, а просто комментирую... НО
Если определение лицевой/обратной стороны спрайта Вам необходимо для создание некоего 3d-движка, то советую еще раз подумать Почему? - по тому, что уже при 200 спрайтах на простеньком 2-х ядерном Интеле начинаются тормоза. Причем возникают они и при меньшем количестве спрайтов при условии, что в результате перспективного искажения спрайт на экране занимает площадь бОльшую своего номинального размера. То есть, создавая спрайт размерами 100х100 и приблизив его (z < 0) Вы заставляете флеш его растягивать. Флеш, пытаясь сохранить качество тратит много ресурсов. Что само по себе не очень =)
__________________
...вселенская грусть |
|
|||||
|
флеш сам режет графику и более того - я доказал что в нём есть Z буффер который ещё просто тупо не активировали...
удаление граней хочу сделать для вторичной сортировки так скать... для этого надо найти вектор от точки видимости до центра координат объекта.
__________________
Black DRAGON хочет кушать Т_Т |
|
|||||
|
попробуй смотреть getRelativeMatrix3D не относительно stage, а относительно самого верхнего предка
для определения видимости спрайта есть еще такой способ http://www.senocular.com/?id=2.57 |
|
|||||
|
ты имеешь ввиду root ? да как раз по твоей прошлой наводке использовать getRelativeMatrix3D + root у меня и получилось создать неплохой сортировщик, но нащюпать правильный вектор не удалось... это по сути последнее что осталось разгрести - тогда можно делать полнеоценные 3D махинации =)
З.Ы. есть ли смысл поднять мне топик где с нуля я бы описал как работать с 3D проектированием и что можно от него добиться?
__________________
Black DRAGON хочет кушать Т_Т |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Где, как, когда и при каких обстоятельствах?
|
|
|||||
|
да просто - когда любой спрайт приближаешь к экрану максимально близко - он начинает обрезаться.. такое возможно только расчётом положений пикселей в пространстве.. ну или тем же Z-буффером который этим и занимается.
__________________
Black DRAGON хочет кушать Т_Т |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Это клиппинг, а не Z-буфер.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|