Improve summit terrain, mobile HUD and multiplayer night equipment
Add the Blender flashlight asset with a 600 lm beam and reduced bloom, shared-mode self badge, and compact phone controls. Relocate the summit marker, blend terrain seams, widen walking routes, and align local server configuration on port 2027.
This commit is contained in:
@@ -45,8 +45,20 @@ export function applySummitTerrain(geometry: BufferGeometry, meta: TerrainMetada
|
||||
const fade = 1 - t * t * (3 - 2 * t);
|
||||
positions.setY(i, positions.getY(i) + weighted / weights * fade);
|
||||
const authored = authoredHeight(x - start.x, z - start.z);
|
||||
if (authored !== undefined) positions.setY(i, authored - meta.observerSurfaceElevation
|
||||
- (x * x + z * z) / (2 * TERRAIN.earthRadiusMeters));
|
||||
if (authored !== undefined) {
|
||||
// Fade the sculpt into the corrected terrain before its rectangular edge.
|
||||
// This also suppresses discontinuities in the exported outermost samples.
|
||||
const localX = x - start.x, localZ = z - start.z;
|
||||
const smooth = (distance: number) => {
|
||||
const t = Math.min(1, Math.max(0, distance / SUMMIT_TERRAIN.plateauBlendMeters));
|
||||
return t * t * (3 - 2 * t);
|
||||
};
|
||||
const blend = smooth(Math.min(localX - xs[0], xs.at(-1)! - localX))
|
||||
* smooth(Math.min(localZ - zs[0], zs.at(-1)! - localZ));
|
||||
const target = authored - meta.observerSurfaceElevation
|
||||
- (x * x + z * z) / (2 * TERRAIN.earthRadiusMeters);
|
||||
positions.setY(i, positions.getY(i) + (target - positions.getY(i)) * blend);
|
||||
}
|
||||
}
|
||||
positions.needsUpdate = true;
|
||||
geometry.computeVertexNormals();
|
||||
|
||||
Reference in New Issue
Block a user