Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.03.2009, 17:55
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 31  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Этот параметр distance по-дургому называют focalLength(фокальное расстояние) посмотри у объектов perspectiveProjection наверняка есть что-то подобное.

Старый 22.03.2009, 23:18
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 32  
Ответить с цитированием
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
Цитата:
Сообщение от silin Посмотреть сообщение
см.
PerspectiveProjection ( DisplayObject.transform.perspectiveProjection )
DisplayObject.local3DToGlobal ()
спасибо - по моему это то что искал, точно незнаю завтра посмотрю....

Добавлено через 1 час 23 минуты
Цитата:
Сообщение от Яски Посмотреть сообщение
Этот параметр distance по-дургому называют focalLength(фокальное расстояние) посмотри у объектов perspectiveProjection наверняка есть что-то подобное.
так оно и оказалось.
к сожалению немогу нигде кроме root найти конструктор perspectiveProjection.
в остальный DisplayObject он везде null хотя Это всё логически обоснованно =)
круто! спасибо - он как раз то что надо!
__________________
Black DRAGON хочет кушать Т_Т


Последний раз редактировалось DRAGOnoid; 23.03.2009 в 00:44.
Старый 23.04.2009, 18:32
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 33  
Ответить с цитированием
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
спустя некоторое время решил вернуться к этому вопросу.
в общем есть пара методов которые изменяют положение центра и дистанцию до препятствия:
Код AS3:
stage.transform.perspectiveProjection.projectionCenter = new Point(stage.stageWidth/2, stage.stageHeight/2);
stage.transform.perspectiveProjection.focalLength = 1000;
но когда у объекта беру вектор направления
Код AS3:
trace (someSprite.transform.getRelativeMatrix3D(stage).position);
мне возвращается вектор непонятных координат...
так как же определить вектор от объекта к центру экрана?

поясню это ещё нужно для того чтобы определить какой стороной к нам спрайт - лицевой или задней... если зная вектор плоскости и правильный вектор центра экрана получить угол
Код AS3:
a = Vector3D.angleBetween(vectorStage, vectorNormal);
то очень легко можно определить лицевую или обратную сторону спрайта...

подскажете какие нибудь идеи?
__________________
Black DRAGON хочет кушать Т_Т

Старый 23.04.2009, 20:18
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 34  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Сори, что не отвечаю на Ваш вопрос, а просто комментирую... НО
Если определение лицевой/обратной стороны спрайта Вам необходимо для создание некоего 3d-движка, то советую еще раз подумать
Почему? - по тому, что уже при 200 спрайтах на простеньком 2-х ядерном Интеле начинаются тормоза. Причем возникают они и при меньшем количестве спрайтов при условии, что в результате перспективного искажения спрайт на экране занимает площадь бОльшую своего номинального размера.
То есть, создавая спрайт размерами 100х100 и приблизив его (z < 0) Вы заставляете флеш его растягивать. Флеш, пытаясь сохранить качество тратит много ресурсов.
Что само по себе не очень =)
__________________
...вселенская грусть

Старый 24.04.2009, 00:07
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 35  
Ответить с цитированием
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
флеш сам режет графику и более того - я доказал что в нём есть Z буффер который ещё просто тупо не активировали...

удаление граней хочу сделать для вторичной сортировки так скать... для этого надо найти вектор от точки видимости до центра координат объекта.
__________________
Black DRAGON хочет кушать Т_Т

Старый 24.04.2009, 00:36
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 36  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
попробуй смотреть getRelativeMatrix3D не относительно stage, а относительно самого верхнего предка
для определения видимости спрайта есть еще такой способ http://www.senocular.com/?id=2.57

Старый 24.04.2009, 11:28
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 37  
Ответить с цитированием
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
ты имеешь ввиду root ? да как раз по твоей прошлой наводке использовать getRelativeMatrix3D + root у меня и получилось создать неплохой сортировщик, но нащюпать правильный вектор не удалось... это по сути последнее что осталось разгрести - тогда можно делать полнеоценные 3D махинации =)

З.Ы. есть ли смысл поднять мне топик где с нуля я бы описал как работать с 3D проектированием и что можно от него добиться?
__________________
Black DRAGON хочет кушать Т_Т

Старый 24.04.2009, 12:47
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 38  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от DRAGOnoid Посмотреть сообщение
я доказал что в нём есть Z буффер который ещё просто тупо не активировали...
Где, как, когда и при каких обстоятельствах?

Старый 24.04.2009, 13:32
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 39  
Ответить с цитированием
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
да просто - когда любой спрайт приближаешь к экрану максимально близко - он начинает обрезаться.. такое возможно только расчётом положений пикселей в пространстве.. ну или тем же Z-буффером который этим и занимается.
__________________
Black DRAGON хочет кушать Т_Т

Старый 24.04.2009, 13:58
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 40  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Это клиппинг, а не Z-буфер.

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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