feat: initialize sunrise with 100-player shared rooms
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
import {readFileSync,writeFileSync} from 'node:fs';
|
||||
import {createTerrainGeometry,terrainGeometryHeightAt} from '../src/scene/terrainGeometry.ts';
|
||||
import {applySummitTerrain} from '../src/scene/summitTerrain.ts';
|
||||
import {structurePosition} from '../src/scene/structures.ts';
|
||||
import {STRUCTURES} from '../src/constants/structures.ts';
|
||||
import {SUMMIT_TERRAIN} from '../src/constants/summitTerrain.ts';
|
||||
const meta=JSON.parse(readFileSync('public/terrain/gwanaksan.json','utf8'));
|
||||
const bytes=readFileSync('public/terrain/gwanaksan.f32');
|
||||
const terrain=createTerrainGeometry(meta,new Float32Array(bytes.buffer,bytes.byteOffset,bytes.byteLength/4),true);
|
||||
applySummitTerrain(terrain,meta);
|
||||
const radar=structurePosition(STRUCTURES.radar.latitude,STRUCTURES.radar.longitude,meta.origin);
|
||||
radar.y=Math.max(...[-4,0,4].flatMap(x=>[-4,0,4].map(z=>terrainGeometryHeightAt(terrain,radar.x+x,radar.z+z))))+.2;
|
||||
const eye=structurePosition(SUMMIT_TERRAIN.start.latitude,SUMMIT_TERRAIN.start.longitude,meta.origin);
|
||||
eye.y=terrainGeometryHeightAt(terrain,eye.x,eye.z)+1.7;
|
||||
const vertices=[];
|
||||
for(let north=-20;north<=125;north+=2.5)for(let east=-55;east<=65;east+=2.5)vertices.push([east,north,terrainGeometryHeightAt(terrain,radar.x+east,radar.z-north)-radar.y]);
|
||||
writeFileSync('assets/summit/blender-rock-study/context.json',JSON.stringify({radar:radar.toArray(),eye:[eye.x-radar.x,radar.z-eye.z,eye.y-radar.y],columns:49,rows:59,vertices}));
|
||||
console.log({radar:radar.toArray(),eye:eye.toArray(),samples:vertices.length});
|
||||
terrain.dispose();
|
||||
Reference in New Issue
Block a user