[英]Three.js - Light doesn't work on texture
我正在尝试使用three.js创建一个简单的太阳能系统,我已经完成了所有工作,现在我想添加一些阴影,但是显然在处理纹理时它不起作用。
loader.load("earth.jpg", function ( texture ) {
var geometry = new THREE.SphereGeometry( 100, 20, 20 ),
material = new THREE.MeshLambertMaterial({
map: texture,
overdraw: true,
}),
mesh = new THREE.Mesh( geometry, material );
group.add( mesh );
});
如果将map: texture
替换为color: 0xffffff
,效果很好,但是当我添加纹理时,阴影消失了。
为什么灯光对纹理不起作用?
也许我应该为每个星球创建两个球体? 一个带有纹理,另一个带有阴影?
这是CanvasRenderer
的限制。 它不支持MeshLambertMaterial
和漫反射纹理的组合。
您将必须切换到WebGLRenderer.
three.js r.65
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.