Помещение 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.

Другие вопросы по тегам