webgl 设置:setClearColor(1.0,1.0,1.0,1.0) rgba格式最后一个参数就是alpha

three.js设置:

renderer = new THREE.WebGLRenderer( { antialias: true,alpha:true } );
renderer.setClearColor(0xEEEEEE, 0.0);或者renderer.setClearAlpha(0.0);它的意思是每次绘制清除缓冲区后的颜色通道设置,简单就是设置每次绘制的背景颜色

但需要注意:有时候你会发现怎么修改都没有用,那有可能是你场景设置了背景颜色;

this.scene.background = new THREE.Color(0x000000); 这样设置就会导致你设置渲染alpha的透明度没作用,

还有一种情况,就是你只需要设置 alpha :true 就可以了,

反正我是遇到了,至于什么原因不太清楚

1.第一步,需要注释场景 背景 色,否则会影响 背景 设置 透明 var scene = new THREE.Scene(); scene.background = new THREE.Color( 0xa0a0a0 ); 2. 设置 alpha 透明 系数 var renderer = new THREE.WebGLRenderer( { alpha: true } ); renderer.setClearAlp... 本资源是我自己的课程:three. js 打造智能饲料加工厂 这个资源是我自己在CSDN上的视频课程的源代码,课程地址:https://edu.csdn.net/course/detail/36327 购买源代码者,如果有不懂的地方可以私信我,我可以协助购买者把项目跑起来,并且回答购买者提出的问题。 凡盗版者,追究到底! 如果我们希望three js 背景 透明 ,比如数据大屏已经有 背景 图了,不希望threee js 背景 色遮挡,这时候就可以将three js 背景 设置 透明 , 设置 背景 透明 前需要先将alpha 设置 为true。通过renderer.setClearColor(0x000000,0)第二个参数来 设置 透明 度0是完全 透明 ,1是不 透明 。注意render的 背景 色需要取消,不然不生效。 // 创建地球 半径100 function createEarth() { var earthGeo = new THREE.SphereGeometry(radius, 50, 50); var earthMate.... 透明 分为两种: 透明 测试(Alpha Test), 透明 混合(Alpha blending),其 透明 度测试只是根据Alpha通道 阈值把对应的像素discard丢弃,得到的并不是真正的 透明 !Alpha blending是得到真正的 透明 .