Javascript 在three.js中,如何使球体上的光线锐利?

Javascript 在three.js中,如何使球体上的光线锐利?,javascript,three.js,webgl,Javascript,Three.js,Webgl,我有一个简单的带有球体和平行光的three.js场景。在球体上你可以看到它逐渐变暗。如何更快地从明暗过渡。如何使光线更清晰 var场景、摄影机、渲染器、控件、球体、几何体、材质、灯光; 场景=新的三个场景; 摄像机=新的三视角摄像机75,window.innerWidth/window.innerHeight,0.11000; 摄像机位置x=3; 摄像机位置z=6; renderer=new THREE.WebGLRenderer; renderer.setSizewindow.innerWi

我有一个简单的带有球体和平行光的three.js场景。在球体上你可以看到它逐渐变暗。如何更快地从明暗过渡。如何使光线更清晰

var场景、摄影机、渲染器、控件、球体、几何体、材质、灯光; 场景=新的三个场景; 摄像机=新的三视角摄像机75,window.innerWidth/window.innerHeight,0.11000; 摄像机位置x=3; 摄像机位置z=6; renderer=new THREE.WebGLRenderer; renderer.setSizewindow.innerWidth,window.innerHeight; renderer.setClearColor0xffffff,1; document.body.appendChildrender.doElement; 几何=新的三个。球墨比1,32,32; 材质=新的3.0网格材质{ 颜色:0x777777 }; 球体=新的三个。网格几何体,材质; scene.addsphere; 灯光=新的三个方向灯光0xFFFFFF,1; light.position.set0、10、10; scene.addlight; renderer.renderscene,摄影机;
实现预期效果的一种方法是通过卡通阴影。因此,尝试一下。还可以定义定义材质的不同照明区域的

var场景、摄影机、渲染器、控件、球体、几何体、材质、灯光; 场景=新的三个场景; 摄像机=新的三视角摄像机75,window.innerWidth/window.innerHeight,0.11000; 摄像机位置x=3; 摄像机位置z=6; renderer=new THREE.WebGLRenderer; renderer.setSizewindow.innerWidth,window.innerHeight; renderer.setClearColor0xffffff,1; document.body.appendChildrender.doElement; 几何=新的三个。球墨比1,32,32; 材质=新的3.0网格非材质{ 颜色:0x777777 }; 球体=新的三个。网格几何体,材质; scene.addsphere; 灯光=新的三个方向灯光0xFFFFFF,1; light.position.set0、10、10; scene.addlight; renderer.renderscene,摄影机;
实现预期效果的一种方法是通过卡通阴影。因此,尝试一下。还可以定义定义材质的不同照明区域的

var场景、摄影机、渲染器、控件、球体、几何体、材质、灯光; 场景=新的三个场景; 摄像机=新的三视角摄像机75,window.innerWidth/window.innerHeight,0.11000; 摄像机位置x=3; 摄像机位置z=6; renderer=new THREE.WebGLRenderer; renderer.setSizewindow.innerWidth,window.innerHeight; renderer.setClearColor0xffffff,1; document.body.appendChildrender.doElement; 几何=新的三个。球墨比1,32,32; 材质=新的3.0网格非材质{ 颜色:0x777777 }; 球体=新的三个。网格几何体,材质; scene.addsphere; 灯光=新的三个方向灯光0xFFFFFF,1; light.position.set0、10、10; scene.addlight; renderer.renderscene,摄影机; 您可以设置材质。光泽度

var场景、摄影机、渲染器、控件、球体、几何体、材质、灯光; 场景=新的三个场景; 摄像机=新的三视角摄像机75,window.innerWidth/window.innerHeight,0.11000; 摄像机位置x=1; 摄像机位置z=2; renderer=new THREE.WebGLRenderer; renderer.setSizewindow.innerWidth,window.innerHeight; renderer.setClearColor0xffffff,1; document.body.appendChildrender.doElement; 几何=新的三个。球墨比1,32,32; 材质=新的3.0网格材质{ 颜色:0x777777, 光泽度:400,, }; 球体=新的三个。网格几何体,材质; scene.addsphere; 灯光=新的三个方向灯光0xFFFFFF,1; light.position.set0、10、10; scene.addlight; renderer.renderscene,摄影机; 您可以设置材质。光泽度

var场景、摄影机、渲染器、控件、球体、几何体、材质、灯光; 场景=新的三个场景; 摄像机=新的三视角摄像机75,window.innerWidth/window.innerHeight,0.11000; 摄像机位置x=1; 摄像机位置z=2; renderer=new THREE.WebGLRenderer; renderer.setSizewindow.innerWidth,window.innerHeight; renderer.setClearColor0xffffff,1; document.body.appendChildrender.doElement; 几何=新的三个。球墨比1,32,32; 材质=新的3.0网格材质{ 颜色:0x777777, 光泽度:400,, }; 球体=新的三个。网格几何体,材质; scene.addsphere; 灯光=新的三个方向灯光0xFFFFFF,1; light.position.set0、10、10; scene.addlight; renderer.renderscene,摄影机;
我不想要镜面反射,我想要将球体分成两半,一亮一暗。穆根87的答案涵盖了这一点,我的答案中的链接也涵盖了这一点。注意:如果您只需要两种颜色,则需要使用MeshToonMaterial,将material.shininess设置为0,如果您希望能够设置剖面的颜色和/或位置,则需要提供渐变贴图。我不希望镜面反射,我希望球体分为两半,一亮一暗。Mugen87的回答涵盖了这一点,我的答案中的链接也是如此。注意:如果只需要两种颜色,则需要使用MeshToonMaterial,将material.shininess设置为0,如果希望能够设置截止点的颜色和/或位置,则需要提供渐变贴图