如何在Flash PaperVision3D中调整Collada模型的整体alpha值?

时间:2009-10-08 03:28:41

标签: flash actionscript-3 3d papervision3d collada

我想在视频流的顶部显示Collada模型并动态调整其alpha值。现在我在PaperVision中部分工作,但我似乎无法设置模型的alpha。我从谷歌尝试过一些东西。对于非Collada型号,以下工作正常:

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

我尝试过的所有Collada模型都有UVW贴图纹理。最后,我希望基于一些外部事件让模型alpha连续调整。我已广泛搜索并且运气不佳。

任何帮助将不胜感激!

更新/已解决

如下所示,我需要做的就是找到合适的孩子并直接操作它。我的代码现在看起来类似于:

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的alpha属性。

1 个答案:

答案 0 :(得分:1)

一种方法是将模型子节点放在自己的容器中。

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