制作一个渲染器's的背景是透明的,但不是形状three.js
Make a renderer's background transparent but not shapes three.js
我使用的是three.js,在这里我显示一个静态背景图像,并让一个渲染器在上面为形状设置动画。这样做的原因是在不影响图像的情况下自由旋转形状的渲染器。问题是背景位于渲染器后面,所以我的问题是,是否可以使渲染器的"背景"透明(允许形状仍然显示),以便完全看到背景图像?
我尝试过的东西:
- 在渲染器的domElement上设置不透明度
- 使用渲染器的setClearColor方法设置rgba的透明度
这是一个简化的fiddle,你会看到正方形(因此渲染器)覆盖了背景。
var square = new THREE.Shape();
square.moveTo(0, 0);
square.lineTo(0, length);
square.lineTo(length, length);
square.lineTo(length, 0);
square.lineTo(0, 0);
var geometry = new THREE.ShapeGeometry(square);
var material = new THREE.MeshBasicMaterial({
color: 'rgb(59, 89, 152)',
opacity: 1,
transparent: true
});
var mesh = new THREE.Mesh(geometry, material);
mesh.position.x = 50;
mesh.position.y = 50;
scene.add(mesh);
// and the camera
scene.add(camera);
renderer.render( scene, camera );
您需要设置webGLRenderer
alpha
参数。
var renderer = new THREE.WebGLRenderer( { alpha: true } );
可以将透明颜色保留为默认值。
renderer.setClearColor( 0x000000, 0 ); // the default
更新的小提琴:http://jsfiddle.net/7McS2/3/或http://jsfiddle.net/7McS2/4/
three.jar r.63
相关文章:
- 蓝色和透明的按钮背景
- 图像内部的透明背景颜色不受影响
- Google AdSense:将背景颜色更改为透明
- 响应式选项卡的透明背景
- 带有三个.js的透明背景
- 仅在页面提交后显示具有透明背景的加载图像
- 三.js透明背景根本不起作用
- 由视频覆盖的引导导航栏 - 如何用不透明背景覆盖它
- 悬停,悬停,.png透明背景的图片
- 具有透明背景的智能电视应用程序:在背景中显示电视广播
- 如何设置任何页面的透明背景
- 透明背景上的图像不平滑
- 修剪透明背景的图像绘制在画布与PHP或javascript
- 在Fireworks中以编程方式切片图像并在整个透明背景上导出,以形成分层效果
- 为订阅框创建透明背景
- 翻转图像到文本与透明背景
- 任何确定透明背景颜色CSS的方法
- 透明背景变成黑色后转换为webp格式通过HTML5画布
- IPhone 4链接创建红色半透明背景/覆盖触摸:激活
- 在网页中显示带有透明背景的整页图像