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

Three.js中的间歇性半透明球体,three.js,geometry,Three.js,Geometry,我希望有人能解释我如何实现这个示例中的蓝色半透明间歇球体:(间歇红色球体旁边的一个) 首先,我相信这是一个使用正确设置的正确材质的问题(特别是因为这个示例是关于材质的),但无论如何都不确定 希望你不会觉得我的问题不值得在这里提出。我试图分析它,但它肯定是以一种对新手不友好的方式编写的,我无法将这部分与其他部分分开,我在其他任何地方都找不到解释。要创建一个部分透明的蓝色球体,例如,您可以尝试: var sphereGeom = new THREE.SphereGeometry( 40, 32,

我希望有人能解释我如何实现这个示例中的蓝色半透明间歇球体:(间歇红色球体旁边的一个)

首先,我相信这是一个使用正确设置的正确材质的问题(特别是因为这个示例是关于材质的),但无论如何都不确定


希望你不会觉得我的问题不值得在这里提出。我试图分析它,但它肯定是以一种对新手不友好的方式编写的,我无法将这部分与其他部分分开,我在其他任何地方都找不到解释。

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

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 );
有关创建半透明材质的更多示例,请参见

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

clock = new THREE.Clock();
然后在你的更新中,你可以,例如,写

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

永远不要觉得“你的问题不值得在这里提出”。doob先生自己也说过StackOverflow是关于three.js的问题应该被问到的地方。此外,我同意three.js示例集合并不完全适合新手。为了弥补这一点,我尝试创建一个新手友好的示例集合,在源代码中提供详细的注释,在--检查一下,我希望它们能有所帮助。我发表评论是因为stackoverflow以粉碎新手提出“愚蠢”问题而闻名,如果你不马上给出解释,你会得到很多的负分。读这篇文章:然而,在三个方面似乎不是趋势。我听到你在说什么。幸运的是,three.js社区非常棒。谢谢你,李,你的例子是新手的答案。(当然还有其他级别)它们组织得非常好,从3D图形开始的简单用户比主要的three.js网站的用户更容易访问代码。事实上,每次我对three.js有疑问时,我都会参考udacity课程和你的例子。顺便说一句,我注意到你昨天更新了它,请保持更新。像这样的评论激励我不断更新:D