Javascript 物体3上的光反射盘
我正在创建一个有三个js的地球场景,除了地球物体表面存在的巨大的令人讨厌的反射圆盘外,其他东西都工作得很好。有没有关于消除反射或至少在很大程度上减少反射的想法 照明-Javascript 物体3上的光反射盘,javascript,three.js,Javascript,Three.js,我正在创建一个有三个js的地球场景,除了地球物体表面存在的巨大的令人讨厌的反射圆盘外,其他东西都工作得很好。有没有关于消除反射或至少在很大程度上减少反射的想法 照明- //renderer renderer = new THREE.WebGLRenderer( { canvas : spaceCanvas} ); renderer.setSize( 672, 472 ); renderer.shadowMap.enabled = true; renderer.s
//renderer
renderer = new THREE.WebGLRenderer( { canvas : spaceCanvas} );
renderer.setSize( 672, 472 );
renderer.shadowMap.enabled = true;
renderer.shadowMap.renderReverseSided = false;
//mainScene
mainScene = new THREE.Scene();
mainCamera = new THREE.PerspectiveCamera( 45, window.innerWidth /window.innerHeight, 0.01, 2000 );
mainCamera.position.z = 2.25;
//Lighting
var ambLight = new THREE.AmbientLight( 0x222222 );
var light = new THREE.DirectionalLight( 0xffffff, 1 );
light.position.set(5,3,5);
light.castShadow = true;
light.shadow.camera.near = 0.01;
light.shadow.camera.far = 15;
light.shadow.camera.fov = 45;
light.shadow.camera.left = -1;
light.shadow.camera.right = 1;
light.shadow.camera.top = 1;
light.shadow.camera.bottom = -1;
/*light.shadowCameraVisible = true;*/
light.shadow.bias = 0.001;
light.shadow.mapSize.width = 672;
light.shadow.mapSize.height = 472;
mainScene.add(light, ambLight);
地球物体-
function CreateEarth(){
earth = new THREE.Object3D();
THREE.crossOrigin = "";
var loader = new THREE.TextureLoader();
var colorMap = loader.load("img/bodies/earth/colorMap.jpg");
var bumpMap = loader.load("img/bodies/earth/bump.jpg");
var specMap = loader.load("img/bodies/earth/specular.jpg");
var earthGeometry = new THREE.SphereGeometry( 0.5, 32, 32 );
var earthMaterial = new THREE.MeshPhongMaterial({
map : colorMap,
bumpMap : bumpMap,
bumpScale : 0.05,
specularMap : specMap,
specular : new THREE.Color("grey"),
shininess: 25
});
earthMesh = new THREE.Mesh(earthGeometry, earthMaterial );
earth.add(earthMesh);
function CreateEarthAtmosphere(){
var loader = new THREE.TextureLoader();
var cloudTexColorMap = loader.load("img/bodies/earth/cloudTexture.png");
var atmosphereGeometry = new THREE.SphereGeometry(0.51, 32, 32);
var atmosphereMaterial = new THREE.MeshPhongMaterial({
map : cloudTexColorMap,
/*alphaMap : cloudTexTransMap,*/
side : THREE.DoubleSide,
opacity : 0.5,
transparent : true,
depthWrite : false
});
atmosphereMesh = new THREE.Mesh(atmosphereGeometry, atmosphereMaterial);
earthMesh.add(atmosphereMesh)
}
创建地球材质对象时,您的
光泽度:25
值可能会影响其光泽度
var earthMaterial = new THREE.MeshPhongMaterial({
map : colorMap,
bumpMap : bumpMap,
bumpScale : 0.05,
specularMap : specMap,
specular : new THREE.Color("grey"),
shininess: 25 // lower this?
});
我真的完全忽略了这一点。我本可以发誓改变这一点,但它不起作用。然而,调整了它,它达到了预期的效果。