| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import {_testFinish, LoadingScreenPlugin, MathUtils, OrbitControls3, ThreeViewer} from 'threepipe'
- import {TilesRendererPlugin, UnloadTilesPlugin, TileCompressionPlugin} from '@threepipe/plugin-3d-tiles-renderer'
- import {CESIUM_ION_API_TOKEN} from '../globals.js'
-
- async function init() {
-
- const viewer = new ThreeViewer({
- canvas: document.getElementById('mcanvas') as HTMLCanvasElement,
- msaa: false,
- debug: true,
- renderScale: 'auto',
- })
-
- // viewer.scene.mainCamera.position.set(4800000, 2570000, 14720000 )
- viewer.scene.mainCamera.position.set(500, 500, 500)
- viewer.scene.mainCamera.autoNearFar = false
- viewer.scene.mainCamera.minNearPlane = 1
- viewer.scene.mainCamera.maxFarPlane = 1600000
- viewer.scene.mainCamera.fov = 60
- const controls = viewer.scene.mainCamera.controls as OrbitControls3
- controls.minDistance = 1
- controls.maxDistance = 1e4 * 2
- controls.minPolarAngle = 0
- controls.maxPolarAngle = 3 * Math.PI / 8
- controls.enableDamping = true
- controls.autoRotate = true
- controls.autoRotateSpeed = 0.5
- controls.enablePan = false
-
- const tiles = viewer.addPluginSync(TilesRendererPlugin)
-
- viewer.addPluginSync(LoadingScreenPlugin)
-
- const result = await tiles.loadCesiumIon({
- assetId: '2275207',
- apiToken: CESIUM_ION_API_TOKEN,
- autoRefreshToken: true,
- }, {
- autoCenter: false,
- tiles: {
- TilesFadePlugin: true,
- plugins: [
- ()=>new TileCompressionPlugin(),
- ()=>new UnloadTilesPlugin(),
- ],
- },
- })
- if (result) {
- result.rotateX(-Math.PI / 2)
- // @ts-expect-error deprecated?
- result.tilesRenderer.setLatLonToYUp(35.6586 * MathUtils.DEG2RAD, 139.7454 * MathUtils.DEG2RAD) // Tokyo Tower
- result.tilesRenderer.errorTarget = 1
- }
- console.log(result)
-
- }
-
- init().finally(_testFinish)
|