什么有效:
我正在使用threejs版本73。 我想用WebGLRenderer渲染一个工具。 该工具由3个网格组成。每个网格都包含一个BufferGeometry和一个MeshLambertMaterial:
var geometry = new THREE.BufferGeometry();
var material = new THREE.MeshLambertMaterial();
var mesh = new THREE.Mesh(geometry, material);
我要归档的内容:
现在我想通过应用纹理(“img / tablereflection.bmp”,灰度256x256px,bmp)使工具看起来更逼真。如果我希望这种纹理影响我的反射行为,我不确定什么是最好的方法。
我做的是:
var geometry = new THREE.BufferGeometry();
var material = new THREE.MeshLambertMaterial({
map: new THREE.TextureLoader().load("img/tablereflection.bmp")
});
var mesh = new THREE.Mesh(geometry, material);
有人可以告诉我,我可能会错过什么吗?
编辑
我的灯光功能是
function initLight(scene, camera) {
var ambientLight = new THREE.AmbientLight(0x555555);
scene.add(ambientLight);
var leftLight = new THREE.PointLight(0x888888, 0.7, 0);
leftLight.position.set(-2, 5, 2);
camera.add(leftLight);
var rightLight = new THREE.PointLight(0x888888, 0.7, 0);
rightLight.position.set(2, 5, 2);
camera.add(rightLight);
}
我已经尝试使用The material browser for MeshLambertMaterial并且可能能够使用这些设置来实现我想要的内容,但正如您所看到的那样现在是空的,所以我不确定幕后会发生什么。错误在哪里?我很高兴任何提示。