Как настроить общее альфа-значение модели Collada во Flash PaperVision3D? - PullRequest
1 голос
/ 08 октября 2009

Я хочу отобразить модель Collada поверх видеопотока и динамически регулировать ее альфа-значение. Прямо сейчас у меня это частично работает в PaperVision, но я не могу установить альфа модели вообще. Я попробовал несколько вещей из Google. Для моделей не Collada отлично работает следующее:

var layer:ViewportLayer = viewport.getChildLayer(myModel, true);
layer.alpha = 0.5;

У всех моделей Collada, которые я пробовал, есть текстуры UVW. В конце я надеюсь, что модель альфа будет постоянно корректироваться на основе некоторых внешних событий. Я много гуглил и мало повезло.

Любая помощь будет оценена!

ОБНОВЛЕНИЕ / РАЗРЕШЕНО

Итак, как указано ниже, все, что мне нужно было сделать, это найти подходящего ребенка и напрямую им манипулировать. Мой код теперь выглядит примерно так:

currentModel = new DAE(true, "Model");
currentModel.load("./model/Model.dae");
baseNode.addChild(currentModel);
currentModel.addEventListener(FileLoadEvent.LOAD_COMPLETE, function():void {
    // Assume first child is what we want
    for (var key:String in currentModel.children) {
        currentModelContainer = currentModel.getChildByName(key)
        currentModelContainer.useOwnContainer = true;
        currentModelContainer.alpha = 0.0;
        break;
    }
});

Теперь, позже я использую Tweener для настройки альфа-атрибута currentModelContainer.

1 Ответ

1 голос
/ 08 октября 2009

Одним из способов является размещение дочерних узлов моделей внутри их собственных контейнеров.

var target:DisplayObject3D = model.getChildByName("someNode", true);
target.useOwnContainer = true;
target.alpha = 0.5;
...