优化:太阳光初始化参数和太阳光界面数据显示

fix_light_type
ChenX 3 years ago
parent 29959cbc21
commit 75dde40728

@ -102,6 +102,8 @@ export class Database
this.idIndex = 80;
this.AmbientLight = new AmbientLight();
this.SunLight = new DirectionalLight();
this.SunLight.OCSNoClone.setPosition(4000, -4000, 4000);
this.HemisphereLight = new HemisphereLight();
this.SunLight.Visible = true;
this.HemisphereLight.Visible = true;

@ -116,7 +116,9 @@ export class DirectionalLight extends Light
helper.matrix = light.matrix;
helper.lightPlane.lookAt(this._Target);
helper.targetLine.lookAt(this._Target);
helper.targetLine.scale.z = this._Target.distanceTo(this.Position);
let dist = this._Target.distanceTo(this.Position);
helper.targetLine.scale.set(dist, dist, dist);
helper.targetLine.updateMatrix();
}
}

@ -60,11 +60,11 @@ export class SunLightStore
this.sunLightColor = `#${light.Color.getHexString()}`;
let rotateV = light.Position.sub(light.Target).normalize();
let theta = Math.atan2(rotateV.y, rotateV.x) * MathUtils.RAD2DEG;//旋转
if (theta < 0) theta += 360;
let phi = Math.asin(rotateV.z) * MathUtils.RAD2DEG;//抬头
if (phi < 0) phi = 180 - phi;
this.sunLightElevationDeg = Math.round(phi);
this.sunLightRotateDeg = Math.round(theta);
}

Loading…
Cancel
Save