【发布时间】:2026-02-06 18:50:01
【问题描述】:
我正在创建包含多个 Collada 对象的 Three.js 场景。我希望能够在 Three.js 中设置每个 Collada 对象的不透明度(以便对象可以根据需要融入和退出场景)。
我可以设置对象内各个材质的不透明度,但这会产生相当奇怪和不受欢迎的效果:
loader.options.convertUpAxis = true;
loader.load(src, function(collada) {
collada.scene.traverse(function (child) {
if( child.material ) {
child.material.opacity = 0.5;
child.material.transparent = true;
}
(etc.)
我正在寻找的是能够在整个 collada 对象上设置不透明度(实际上是渲染它,然后设置不透明度),如所附屏幕截图的底部所示。
我通过在包含 Three.js 场景的画布上设置不透明度来实现屏幕截图底部显示的内容,但是当有多个 collada 对象时,这变得不切实际,因为它需要单独的场景/画布每个新对象。
【问题讨论】:
标签: three.js opacity alpha collada