1
0

FirstScene.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <script setup lang="ts">
  2. import { BasicShadowMap, NoToneMapping, SRGBColorSpace } from 'three'
  3. import { TresCanvas } from '@tresjs/core'
  4. import { OrbitControls } from '@tresjs/cientos'
  5. const gl = {
  6. clearColor: '#82DBC5',
  7. shadows: true,
  8. alpha: false,
  9. shadowMapType: BasicShadowMap,
  10. outputColorSpace: SRGBColorSpace,
  11. toneMapping: NoToneMapping,
  12. }
  13. </script>
  14. <template>
  15. <TresCanvas v-bind="gl">
  16. <TresPerspectiveCamera
  17. :position="[11, 11, 11]"
  18. :fov="45"
  19. :aspect="1"
  20. :near="0.1"
  21. :far="1000"
  22. :look-at="[0, 0, 0]"
  23. />
  24. <OrbitControls />
  25. <TresMesh
  26. :position="[-2, 6, 0]"
  27. :rotation="[0, Math.PI, 0]"
  28. cast-shadow
  29. >
  30. <TresConeGeometry :args="[1, 1.5, 3]" />
  31. <TresMeshToonMaterial color="#82DBC5" />
  32. </TresMesh>
  33. <TresMesh
  34. :position="[0, 4, 0]"
  35. cast-shadow
  36. >
  37. <TresBoxGeometry :args="[1.5, 1.5, 1.5]" />
  38. <TresMeshToonMaterial color="#4F4F4F" />
  39. </TresMesh>
  40. <TresMesh
  41. :position="[2, 2, 0]"
  42. cast-shadow
  43. >
  44. <TresSphereGeometry />
  45. <TresMeshToonMaterial color="#FBB03B" />
  46. </TresMesh>
  47. <TresDirectionalLight
  48. :position="[0, 8, 4]"
  49. :intensity="0.7"
  50. cast-shadow
  51. />
  52. <TresMesh
  53. :rotation="[-Math.PI / 2, 0, 0]"
  54. receive-shadow
  55. >
  56. <TresPlaneGeometry :args="[10, 10, 10, 10]" />
  57. <TresMeshToonMaterial color="#D3FC8A" />
  58. </TresMesh>
  59. <TresAmbientLight :intensity="0.75" />
  60. <TresDirectionalLight
  61. :position="[0, 2, 4]"
  62. :intensity="2"
  63. cast-shadow
  64. />
  65. </TresCanvas>
  66. </template>