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

Posted

技术标签:

【中文标题】如何在 Flash PaperVision3D 中调整 Collada 模型的整体 alpha 值?【英文标题】:How do I adjust the overall alpha value of a Collada Model in Flash PaperVision3D? 【发布时间】:2010-12-04 20:41:55 【问题描述】:

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

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

我尝试过的所有 Collada 模型都有 UVW 贴图纹理。最后,我希望模型 alpha 可以根据一些外部事件不断调整。我在 Google 上进行了广泛的搜索,但运气不佳。

任何帮助将不胜感激!

更新/解决

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

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】:

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

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

【讨论】:

干杯人,原来有一个子节点,它响应文档指示。只是顶层 DAE 模型忽略了 useOwnContainer 和 alpha 参数调整。

以上是关于如何在 Flash PaperVision3D 中调整 Collada 模型的整体 alpha 值?的主要内容,如果未能解决你的问题,请参考以下文章

Papervision 3D:如何在 collada 文件上强制尺寸

如何使用 papervision3D 控制 collada 模型的动画?

是我需要导出到 .dae 的包 org.papervision3d.core.io 吗?

ActionScript 3 Papervision3D - 在Flex中嵌入DAE / Collada文件

从 COLLADA 将蒙皮网格导入 PaperVision3d 3.0 时遇到问题

ActionScript 3 Papervision3D - lookAt()