使用three.js渲染图形时未生成具有网格lambert材质的对象
我刚开始学习three.js,这对我来说是全新的。所以我在写这一系列的hello world脚本。我写了下面的脚本,用MeshBasicMaterial生成一个立方体(这只是一个博客中给出的教程的精确副本) 上面的脚本生成了一个立方体,当我将立方体的材质从使用three.js渲染图形时未生成具有网格lambert材质的对象,three.js,Three.js,我刚开始学习three.js,这对我来说是全新的。所以我在写这一系列的hello world脚本。我写了下面的脚本,用MeshBasicMaterial生成一个立方体(这只是一个博客中给出的教程的精确副本) 上面的脚本生成了一个立方体,当我将立方体的材质从 var material = new THREE.MeshBasicMaterial({color: 0xD43001}); 到 没有显示任何内容。我错过了什么 更新 因此,我必须添加一个光源来显示一个由网格lambert材质制成的对象。当
var material = new THREE.MeshBasicMaterial({color: 0xD43001});
到
没有显示任何内容。我错过了什么
更新
因此,我必须添加一个光源来显示一个由网格lambert材质制成的对象。当我添加一个点光源时,该对象被显示出来。这是因为网格BasicMaterial对照明没有反应,但具有恒定的颜色
然而,MeshLambertMaterial,对灯光有反应,因此如果没有灯光,您就看不到它!MeshPhongMaterial也是如此。Meshlambert材质依赖于灯光,而MeshPhongMaterial既依赖于灯光,也依赖于相机
var material = new THREE.MeshBasicMaterial({color: 0xD43001});
var material = new THREE.MeshLambertMaterial({color: 0xD43001});