threepipe
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

script.ts 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import {_testFinish, LoadingScreenPlugin, OrbitControls3, ThreeViewer} from 'threepipe'
  2. import {TileCompressionPlugin, TilesRendererPlugin, UnloadTilesPlugin} from '@threepipe/plugin-3d-tiles-renderer'
  3. async function init() {
  4. const viewer = new ThreeViewer({
  5. canvas: document.getElementById('mcanvas') as HTMLCanvasElement,
  6. msaa: false,
  7. debug: true,
  8. renderScale: 'auto',
  9. zPrepass: false,
  10. rgbm: false,
  11. // modelRootScale: 0.01,
  12. })
  13. viewer.scene.mainCamera.position.set(4800000, 2570000, 14720000)
  14. // viewer.scene.mainCamera.position.set(300, 300, 300)
  15. viewer.scene.mainCamera.autoNearFar = false
  16. viewer.scene.mainCamera.minNearPlane = 1
  17. viewer.scene.mainCamera.maxFarPlane = 160000000
  18. viewer.scene.mainCamera.fov = 60
  19. const controls = viewer.scene.mainCamera.controls as OrbitControls3
  20. controls.minDistance = 6.379e6
  21. controls.maxDistance = 160000000
  22. controls.clampMax.set(160000000, 160000000, 160000000)
  23. // controls.minPolarAngle = 0
  24. // controls.maxPolarAngle = 3 * Math.PI / 8
  25. controls.enableDamping = true
  26. // controls.autoRotate = true
  27. // controls.autoRotateSpeed = 0.5
  28. // controls.enablePan = false
  29. const tiles = viewer.addPluginSync(TilesRendererPlugin)
  30. viewer.addPluginSync(LoadingScreenPlugin)
  31. const result = await tiles.loadCesiumIon({
  32. assetId: '2275207',
  33. apiToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI0M2VkOWIxYy00NGEyLTQ1N2QtOWYxYy01ZDNlYjdkN2U4N2MiLCJpZCI6Mjk5NTY5LCJpYXQiOjE3NDY0MzE1NTl9.iOdIsjY4zSnTfIXBx0Pl-yfsG24OuHTt2CQnIP5JRrQ',
  34. autoRefreshToken: true,
  35. }, {
  36. autoCenter: false,
  37. autoScale: false,
  38. // autoScaleRadius: 300,
  39. tiles: {
  40. TilesFadePlugin: true,
  41. plugins: [
  42. ()=>new UnloadTilesPlugin(),
  43. ()=>new TileCompressionPlugin(),
  44. ],
  45. },
  46. })
  47. if (result) {
  48. result.rotateX(-Math.PI / 2)
  49. result.tilesRenderer.errorTarget = 40
  50. }
  51. console.log(result)
  52. }
  53. init().finally(_testFinish)