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

Pam*_*nes 3 geometry three.js

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

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

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

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

Lee*_*ski 6

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

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 );
Run Code Online (Sandbox Code Playgroud)

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

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

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

clock = new THREE.Clock();
Run Code Online (Sandbox Code Playgroud)

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

sphere.material.opacity = 0.5 * (1 + Math.sin( clock.getElapsedTime() ) );
Run Code Online (Sandbox Code Playgroud)