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.

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <template>
  2. <canvas id="three-canvas" style="width: 800px; height: 600px" ref="canvasRef"></canvas>
  3. </template>
  4. <script>
  5. import {LoadingScreenPlugin, ThreeViewer, _testFinish, _testStart} from "threepipe";
  6. import {onBeforeUnmount, onMounted, ref} from "vue"
  7. export default {
  8. setup() {
  9. const canvasRef = ref(null);
  10. _testStart()
  11. onMounted(() => {
  12. const viewer = new ThreeViewer({
  13. canvas: canvasRef.value,
  14. plugins: [LoadingScreenPlugin],
  15. });
  16. // Load an environment map
  17. const envPromise = viewer.setEnvironmentMap('https://threejs.org/examples/textures/equirectangular/venice_sunset_1k.hdr');
  18. const modelPromise = viewer.load('https://threejs.org/examples/models/gltf/DamagedHelmet/glTF/DamagedHelmet.gltf', {
  19. autoCenter: true,
  20. autoScale: true,
  21. });
  22. Promise.all([envPromise, modelPromise]).then(([env, model]) => {
  23. console.log('Loaded', model, env, viewer);
  24. _testFinish()
  25. });
  26. onBeforeUnmount(() => {
  27. viewer.dispose();
  28. });
  29. });
  30. return {canvasRef};
  31. },
  32. };
  33. </script>