Помещение MovieMaterial в модель DAE в Papervision3D
Я делаю проект с использованием дополненной реальности FLARManager и библиотеки Papervision3D. К сожалению, Papervision доставляет мне много проблем.
Мой scene3D содержит модель DAE и плоскость. Самолет имеет MovieMaterial и воспроизводит видео через FLVPlayback. DAE и плоскость находятся внутри одного контейнера DisplayObject3D. FLARManager преобразует контейнер так, что все отображается под углом маркера.
Моя модель DAE - это телевизор, экран у телевизора прозрачный. Я хочу, чтобы мой самолет находился внутри модели DAE, чтобы фильм, воспроизводимый на материале самолета, казался тем, что воспроизводится на телевизоре.
Проблема в том, что, даже если самолет имеет более низкий индекс Z, чем телевизор, он всегда появляется перед телевизором.
Как сделать так, чтобы мой самолет и его MovieMaterial появлялись за телевизором, чтобы некоторые его углы были вырезаны телевизором, а прозрачная часть телевизора позволяла мне смотреть фильм? Если это невозможно, у кого-нибудь есть представление о том, как получить желаемый эффект от воспроизведения фильма на экране моей модели телевизора DAE?
Благодарю вас.
1 ответ
Понял это сам. Вот оно:
Если у вас есть модель DAE, и вы хотите поместить ее в ViewportLayer, вам необходимо убедиться, что она повторяется через модель DAE, чтобы все ее дочерние элементы были добавлены на слой.
вот как вы это делаете:
var daeViewportLayer:ViewportLayer = viewport.containerSprite.getChildLayer(aDae, true, true);
Важным является третий параметр recurse = true, который поместит DAE и все его дочерние элементы в слой.
viewport.containerSprite может быть заменен любым родительским DisplayObject3D модели DAE.