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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 21.11.2013, 00:18
Evgan вне форума Посмотреть профиль Отправить личное сообщение для Evgan Найти все сообщения от Evgan
  № 1  
Ответить с цитированием
Evgan

Регистрация: Jun 2008
Сообщений: 283
По умолчанию сортировка 3d объектов если fieldOfView больше 1

День добрый.
Есть вопрос по поводу одной особенности в perspectiveProjection.
Прикрепил файл что бы было понятно о чём пойдёт речь (Test_3D.swf).
Зажмите на клавиатуре кнопку "ctrl", нажмите правую кнопку мышки и ведите ей влево (3d объект начнёт вращаться). И практически сразу вы увидите как правая плоскость перекроет другу (хотя по логике она этого делать не должна). Но по расчётам сортировки, всё верно.
Сортирую стандартно (по _length каждого элемента):
Код AS3:
root3d - родительский объект всех 3d объектов, в котором настроен perspectiveProjection.
 
var vector3D:Vector3D = элемент_сортировки.transform.getRelativeMatrix3D(root3d).position.clone();
vector3D.z += root3d.transform.perspectiveProjection.focalLength;
var _length :Number = 	vector3D.length;
А визуально получается не так как хотелось бы. Всё дело в том, что
Код AS3:
transform.perspectiveProjection.fieldOfView> 1
В данном случаи:
Код AS3:
transform.perspectiveProjection.fieldOfView= 45
На ум приходит идея вывести некую корректирующую переменную, которая бы зависила от fieldOfView и значений координат объекта. Но пока не получается.

Может кто сталкивался с этой проблемой и может подсказать решение?

Спасибо.
Вложения
Тип файла: swf Test_3D.swf (48.7 Кб, 63 просмотров)

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

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

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


 


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


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