![]() |
Работа с 3-х мерным изображением
Всем привет) У меня к вам вопросик!
Вобщем сделал все как здесь: http://demiart.ru/forum/index.php?sh...&refresh=56454 А если в кратце, то: "трехмерный" кубик был просто составлен из квадратиков путем их перемещения по координате z и разворотом. С большим коэффициентом прозрачности он смотрится просто блестяще (крутится-вертится прям как живой), а при уменьшении прозрачности становится видно, что некоторые задние стенки перекрывают передние. Как сделать этот кубик на самом деле трехмерным?... Понятно, что надо просто перемещать передние стенки на передний план. Но возникает вопрос: Как определить, какие из них передние? Ведь координаты стенок в самом кубе не меняются, а способов нахождения глобальных координат, кроме localToGlobal(), я не знаю... Помогите! |
вам нужна z избирательность.... или как её там, не помню уже. Вообщем это вьюпорты и полноценный(или почти) 3D движок. Таким методом не пройдёт
|
сортировка глубины это называется. искать по depth sort, z-sort.
|
Мне нужно всего лишь вытащить z-координату стенок куба относительно основного ролика. iflamberg объясни по-доступнее...
|
Поскольку твой случай очень простой, можно просто отсортировать грани по усредненному Z. Усредненный Z можно получить с помощью local3DToGlobal, выполненному для центральной точки квадрата (поскольку сам квадрат изначально плоский - это всегда будет одна и та же точка w/2, h/2, 0. Ну А дальше всё просто.
|
Вложений: 2
Определяем куда "смотрит" каждая грань, если она отвернута от нас делаем что-либо с ней (например невидимой).
Ну вот как-то так ... как в cube.rar Или как тут уже предлагалось, сортируем по z грани куба, это в cube1.rar. |
Спасибо ребята!!!
|
| Часовой пояс GMT +4, время: 10:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.