【发布时间】:2015-02-18 20:42:31
【问题描述】:
我刚开始学习three.js,这对我来说是全新的。所以我正在编写这些系列的 hello world 有点像脚本。好吧,我编写了下面的脚本来使用 MeshBasicMaterial 生成一个立方体(这只是博客中给出的教程的精确副本)
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, 640/340, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(640, 340);
document.body.appendChild(renderer.domElement);
var geometry = new THREE.CubeGeometry(1,1,1);
var material = new THREE.MeshBasicMaterial({color: 0xD43001});
var cube = new THREE.Mesh(geometry, material);
scene.add(cube);
camera.position.z = 5;
var render = function (){
requestAnimationFrame(render);
cube.rotation.x += 0.1;
cube.rotation.y += 0.1;
renderer.render(scene, camera);
};
render();
当我从
更改立方体的材质时,上面的脚本会生成一个持续旋转的立方体var material = new THREE.MeshBasicMaterial({color: 0xD43001});
到
var material = new THREE.MeshLambertMaterial({color: 0xD43001});
什么都没有显示。我到底错过了什么?
更新
所以我必须添加一个光源来显示一个由网状朗伯材料制成的对象。当我添加一个点光源时,该对象就会显示出来。
【问题讨论】:
标签: three.js