mns-mini-zabor/components/model/canvas.vue

34 lines
1.5 KiB
Vue

<script setup lang="ts">
import { Vector3 } from 'three';
import Item from './item.vue';
const lSize = 0.1
const lamelles_count = useState('lamelles_count')
</script>
<template>
<TresMesh :position="[0, 0, 0]" :rotate-x="Math.PI * -0.5" receive-shadow cast-shadow v-if="false">
<TresCircleGeometry :args="[8, 8, 1]" />
<TresMeshStandardMaterial color="pink" />
</TresMesh>
<Suspense>
<TresGroup>
<TresGroup :rotate-y="Math.PI * -0.5" :position-x="-0.5">
<Item model-url="/models/kosynka.glb" :target="[0.5, 2, 2]" />
<Item model-url="/models/kreplaniye_planok.glb" :target="[1, 2, 2]" />
<Item model-url="/models/planki.glb" :target="[1.5, 2, 2]" />
<Item model-url="/models/stolb.glb" :target="[-1.5, -2, -2]" />
<Item model-url="/models/verh.glb" />
<Item model-url="/models/zakliopki.glb" />
</TresGroup>
</TresGroup>
</Suspense>
<Suspense>
<TresGroup :position="[1, 0, 1]" v-if="false">
<template v-for="i in lamelles_count">
<Item model-url="/models_one/planka.glb" :position="[0, (lSize * i), 0]" :remove-pos="true"
:target="new Vector3(5, (lSize * i) * 5, 5)" />
</template>
<Item model-url="/models_one/verh.glb" :position="[0, (lamelles_count + 1) * lSize, 0]" :remove-pos="true"
:target="new Vector3(-5, 0, -5)" />
</TresGroup>
</Suspense>
</template>