gpt4 book ai didi

javascript - three.js - 如何动态更改对象的不透明度?

转载 作者:IT王子 更新时间:2023-10-29 03:14:23 24 4
gpt4 key购买 nike

这是我的对象:

var object = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial( { map: THREE.ImageUtils.loadTexture( "image.png" ) } ) );
object.position.set(2, 3, 1.5);

现在我已经在 init() 中创建了这个对象;函数,我可以直接转到对象并改变他的位置,像这样:

object.position.x = 15;

现在的问题是我怎样才能改变纹理的不透明度???

谢谢:-)

最佳答案

THREE.MeshLambertMaterial extends THREE.Material 这意味着它继承了 opacity 属性,所以你需要做的就是访问 Material 您的对象,并更改 Material 的不透明度:

object.materials[0].opacity = 1 + Math.sin(new Date().getTime() * .0025);//or any other value you like

另请注意, Material 必须将其 transparent 属性设置为 true。

object.materials[0].transparent = true;

(感谢 Drew 和 Dois 指出这一点)

更新

该属性现在很简单 material :

// enable transparency
object.material.transparent = true;
// set opacity to 50%
object.material.opacity = 0.5;

关于javascript - three.js - 如何动态更改对象的不透明度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com