如何在 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文件