我想在three.js中完全禁用光照,并渲染3D对象。目前,由于照明以某种形式激活,因此该对象看起来完全是黑色的。我的程序中目前没有调用任何类型的照明,我一直无法找到搜索解决方案。
编辑:代码
var white = 0xFFFFFF;
var facemat = new THREE.MeshBasicMaterial( { color: white, opacity: 1.0, shading: THREE.FlatShading } );
vrmlLoader.addEventListener('load', function ( event ) {
var object = event.content;
object.material = facemat;
scene.add(object);
});
vrmlLoader.load("ship.wrl");
我对这个特定帖子的问题大多已经得到解答。如果我要问更多,我会将这个帖子推出主题。
答案 0 :(得分:0)
着色/照明负责以一种感知其深度的方式绘制对象。在您的示例图片中,阴影被禁用 - 没有深度,对象在任何地方都是相同的 - 您无法区分它的一部分。
现在,显而易见的是,你无法画出没有颜色的东西 - 就像你不能在没有铅笔或任何其他工具的情况下在一张纸上画画一样。您所看到的只是您用黑色绘制的对象。您想要看到的是您的对象是白色绘制的,这几乎是相同的,但如果您当前这样做,您将看不到任何内容,因为您的背景是白色的!
无论如何,在这些澄清之后,这是一个方法:
将渲染器的背景颜色更改为白色:
renderer.setClearColor(0, 1)
通过更改对象的材质来更改对象的颜色:
object.material = new THREE.MeshBasicMaterial(0xFFFFFF)