2009-10-08 35 views
1

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

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

我试过的所有Collada型号都有UVW贴图纹理。最后,我希望能够根据一些外部事件持续调整模型alpha。我广泛搜索并没有运气。

任何帮助,将不胜感激!

UPDATE /议决

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

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; 
    } 
}); 

现在,以后我要做的就是利用中间人来调整currentModelContainer的阿尔法属性。

回答

1

一种方法是将模型childnodes放入自己的容器中。

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

干杯的男人,原来有一个孩子的节点,它作为文件指示作出回应。它只是忽略useOwnContainer和alpha参数调整的顶级DAE模型。 – Jotham 2009-10-08 21:08:14