Three.js中的间歇半透明球体

时间:2013-07-01 00:30:52

标签: three.js geometry

我想有人向我解释如何实现这个例子的蓝色半透明间歇球:(间歇红球旁边的那个)

http://threejs.org/examples/webgl_materials.html

我首先相信这是一个使用正确材料和正确设置的问题(特别是因为这个例子是关于材料的)但不管怎么说都不确定。

希望你不觉得我的问题不值得在这里做。我试图分析它,但绝对是以非友好的方式为新手写的,而且我无法将这部分与其他部分分开,而不是在其他地方找到解释。

1 个答案:

答案 0 :(得分:5)

例如,要创建部分透明的蓝色球体,您可以尝试:

var sphereGeom =  new THREE.SphereGeometry( 40, 32, 16 );
var blueMaterial = new THREE.MeshBasicMaterial( { color: 0x0000ff, transparent: true, opacity: 0.5 } );
var sphere = new THREE.Mesh( sphereGeom, blueMaterial );

有关创建半透明材料的更多示例,请查看

http://stemkoski.github.io/Three.js/Translucence.html

如果您希望球体淡入淡出,您可以更改更新或渲染功能中的透明度 - 使球体成为全局对象,还可以创建一个(全局)时钟对象来跟踪您的时间初始化,例如,使用

clock = new THREE.Clock();

然后在您的更新中,您可以编写

sphere.material.opacity = 0.5 * (1 + Math.sin( clock.getElapsedTime() ) );