threepipe
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

App.svelte 1.1KB

123456789101112131415161718192021222324252627282930313233
  1. <script>
  2. import {onDestroy, onMount} from 'svelte';
  3. const {ThreeViewer, LoadingScreenPlugin, _testFinish, _testStart} = window.threepipe; // umd imported from unpkg in index.html
  4. // or
  5. // import {ThreeViewer, LoadingScreenPlugin} from 'threepipe'; // esm imported from npm
  6. let canvasRef;
  7. let viewer;
  8. _testStart()
  9. onMount(() => {
  10. viewer = new ThreeViewer({canvas: canvasRef,
  11. plugins: [LoadingScreenPlugin],
  12. });
  13. // Load an environment map
  14. const envPromise = viewer.setEnvironmentMap('https://threejs.org/examples/textures/equirectangular/venice_sunset_1k.hdr');
  15. const modelPromise = viewer.load('https://threejs.org/examples/models/gltf/DamagedHelmet/glTF/DamagedHelmet.gltf', {
  16. autoCenter: true,
  17. autoScale: true,
  18. });
  19. Promise.all([envPromise, modelPromise]).then(([env, model]) => {
  20. console.log('Loaded', model, env, viewer);
  21. _testFinish()
  22. });
  23. });
  24. onDestroy(() => viewer.dispose())
  25. </script>
  26. <canvas bind:this={canvasRef} id="three-canvas" style="width: 800px; height: 600px"></canvas>