TheSphere.vue 529 B

1234567891011121314151617181920212223242526
  1. <!-- eslint-disable no-console -->
  2. <script setup lang="ts">
  3. import { useLoop } from '@tresjs/core'
  4. const sphereRef = ref()
  5. const { onBeforeRender } = useLoop()
  6. onBeforeRender((state) => {
  7. if (!sphereRef.value) { return }
  8. sphereRef.value.position.y += Math.sin(state.elapsed) * 0.01
  9. state.invalidate()
  10. })
  11. </script>
  12. <template>
  13. <TresMesh
  14. ref="sphereRef"
  15. :position="[2, 2, 0]"
  16. name="sphere"
  17. cast-shadow
  18. >
  19. <TresSphereGeometry />
  20. <TresMeshToonMaterial color="#FBB03B" />
  21. </TresMesh>
  22. </template>