2013-12-05 3 views
5

У меня есть флеш-приложение, в котором два 3d-представления используют один и тот же Stage3DProxy, потому что мне нужно, чтобы он был наложен/нарисован поверх другого. Однако они, похоже, используют одно и то же пространство/z-buffer (?).Away3D Stage3DProxy порядок рисования

Моя функция обновления в настоящее время выглядит следующим образом:

private function onEnterFrame(event : Event) : void { 
    stage3DProxy.clear(); 
    away3DView.render(); 
    away3DView2.render(); 
    stage3DProxy.present(); 
} 

Ясно, что это не достаточно само по себе - я где-то читал, что setDepthTest метод может быть использован, например:

stage3DProxy.context3D.setDepthTest(false, Context3DCompareMode.NEVER); 

.. , установив его в разные режимы между вызовами каждого вида render(), но я не совсем понимаю, как это работает, а документация очень тонкая на земле. Я играл, настраивая его на разные вещи между вызовами визуализации, но без радости.

Единственные примеры, которые я могу найти для настройки Stage3DProxy, используют один вид Away3D и два скворца - это не то, что мне нужно. Я прочитал на своих форумах комментарий, в котором говорится, что вам нужно указать определенные настройки setDepthTest в «8 других местах», но не уточняет, где они находятся или что им нужно настроить, и это звучит как хак для то, что должно быть довольно простым!

Если бы кто-нибудь мог помочь, я был бы очень благодарен, или если кто-то знает другой способ сделать это - заставить определенный порядок рисования кажется, что это должна быть относительно тривиальная задача, но я не могу найти ничего полезного в этом, я хотят придерживаться Away3D, так как это хороший хороший API и набор функций, но это настоящее препятствие для моего текущего проекта!

Заранее спасибо

ответ

2

После возрастов траление для этого, ответ был прост до смешного:

view3D.layeredView = истина;

Это приведет к тому, что рассматриваемое представление будет отображаться на «вершине». Последующие рендеринги на общем прокси-сервере по-прежнему будут использовать это, поэтому вам нужно рассмотреть порядок визуализации, но это именно то, что мне нужно.

Я не могу поверить, что было так трудно найти, все руководства Stage3DProxy говорят о совместном использовании Starling, а не о другом View3D ... надеюсь, что это остановит кого-то другого от разрыва волос!

+0

Вы так любезны поделиться всем исходным кодом? – 62316e

+0

Это не моя доля, я могу добавить пример ответа позже, если вы захотите – MickMalone1983

Смежные вопросы