Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用three.js渲染图形时未生成具有网格lambert材质的对象_Three.js - Fatal编程技术网

使用three.js渲染图形时未生成具有网格lambert材质的对象

使用three.js渲染图形时未生成具有网格lambert材质的对象,three.js,Three.js,我刚开始学习three.js,这对我来说是全新的。所以我在写这一系列的hello world脚本。我写了下面的脚本,用MeshBasicMaterial生成一个立方体(这只是一个博客中给出的教程的精确副本) 上面的脚本生成了一个立方体,当我将立方体的材质从 var material = new THREE.MeshBasicMaterial({color: 0xD43001}); 到 没有显示任何内容。我错过了什么 更新 因此,我必须添加一个光源来显示一个由网格lambert材质制成的对象。当

我刚开始学习three.js,这对我来说是全新的。所以我在写这一系列的hello world脚本。我写了下面的脚本,用MeshBasicMaterial生成一个立方体(这只是一个博客中给出的教程的精确副本)

上面的脚本生成了一个立方体,当我将立方体的材质从

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});