![]() |
Еще раз про z-сортировку
Вложений: 1
Здравствуйте, друзья
Поздравляю всех с Новым Годом и Рождеством, удачи и здоровья, успеха в проектах и всех начинаниях Я хочу попросить взглянуть на мою проблему с z-сортировкой http://divisionby0.org/web_Portfolio/3DSpace/Main.html Для того чтобы посмотреть исходники нажмите правой кнопкой по флэшке и выберите View Source Класс построения фигуры com.div0._3D.primitives.NAnglePrimitive.as Фигура строится по точкам Сначала добавляется спрайт НИЗ-а, на нем рисуется линия из точек Затем добавляется спрайт ВЕРХ-а, на нем рисуется линия из точек В цикле добавляются спрайты граней Если покрутить по x или по y видно что неверно сортируются грани куба Грани куба это класс Plane, наследник Sprite-а Для сортировки я использую такой механизм: Нахожу точку в 3д пространстве (Vector3D) позиции смотрящего Код AS3:
Расчитываю расстояние от точки обзора до середины каждой грани Сортирую по этому расстоянию Сортируется не всегда правильно вот алгоритм сортировки Код AS3:
|
Вообще простая сортировка по одной из выбранных точек грани _не_ должна работать в общем случае.
На счёт кубика не уверен. Попробуйте поискать отличия вашего и этого творения: http://www.silin.su/#AS3/zod/simple/bin |
не уверен, но возможно ошибка в определении координат центра грани в руте
Код AS3:
Код AS3:
|
Спасибо за ответы
К сожалению, Utils3D не меняет ничего, также ошибается алгоритм |
вот не могу ничего вменяемого сказать, не разобрался с этим до конца, сори
только transform.getRelativeMatrix3D(root).position это совсем не координаты в системе рута, которые здесь нужны (проверяется самыми простыми тестами) вот такой еще вариант у меня еще 'правильно показывал', в моей схеме он так остался как последний Код AS3:
PS. тема такого 3D и изначально не очень-то цвела, а теперь и совсем никчемушной выглядит, не ? |
Спасибо, щас попробую
Цитата:
|
А вообще, куб - этож выпуклая фигура. Выставляем граням, у которых обход против часовой стрелки на экране получается visible=false и все. Правда для полупрозрачных граней работать не будет.
|
Ну, это может быть и не куб вовсе, я могу передать хоть 10 точек
нижняя и верхняя грани отрисуются по этим точкам + в цикле добавятся "боковые" грани + мне обязательно нужн учесть полупрозрачность Друзья, а кто-нибудь работал с BPS деревьями ? |
Цитата:
|
Больше всех с ними, кажется, Alternativa работала
Я делал некоторые эксперименты с BSP, если потребуется, могу накидать сюда исходников (но это эксперименты, на практических применениях не реализованные) Но если есть движущиеся части, то BSP не поможет (помешают низкая производительность и артефакты разрезки полигонов). P.S. Скачал куб silin'a, пытался его растянуть, придать ориентацию как на вашем скриншоте - не похоже, чтобы лажало, если лаги и есть - то в 1,5 пикселя отсилы. Но Вы говорите, вам не только куб нужен. |
| Часовой пояс GMT +4, время: 05:30. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.