MeshReflectionMaterial
The cientos
package provides a <MeshReflectionMaterial />
component for making floors or walls that reflect the objects in your Scene
.
The component is based on the excellent Drei component of the same name.
It extends THREE.MeshStandardMaterial
and accepts all the same props.
Usage
vue
<script setup lang="ts">
import { MeshReflectionMaterial, SVG as MySVG, OrbitControls } from '@tresjs/cientos'
import { TresCanvas, useTexture } from '@tresjs/core'
const normalMapSrc = 'https://raw.githubusercontent.com/'
+ 'Tresjs/assets/main/textures/rock/normal.jpg'
const normalMap = await useTexture([normalMapSrc])
const svgSrc = '/logo.svg'
</script>
<template>
<Suspense>
<TresCanvas clear-color="white">
<TresMesh :rotation-x="-Math.PI / 2">
<TresPlaneGeometry :args="[30, 30]" />
<MeshReflectionMaterial
:roughness="0"
:normal-map="normalMap"
/>
</TresMesh>
<TresPerspectiveCamera :position="[0, 2, 20]" />
<OrbitControls />
<MySVG
:src="svgSrc"
:position="[-8.0, 4, 0]"
:scale="0.04"
:depth="1"
/>
</TresCanvas>
</Suspense>
</template>
Props
No props are required.