dev #84

Merged
ksenia_mikhailova merged 141 commits from dev into main 2024-10-03 15:30:24 +03:00
1 changed files with 26 additions and 12 deletions
Showing only changes of commit ff2c9c34d1 - Show all commits

View File

@ -82,33 +82,47 @@ watch([section_count, fence_section, extra_section], () => {
// translate_to_section.value = make_translate_to_section() // translate_to_section.value = make_translate_to_section()
} }
}) })
// дуе { fence_top, fence, fence_inner, fence_bottom } = props.models
const fence_top = props.models.fence_top.clone()
const fence = props.models.fence.clone()
const fence_inner = props.models.fence_inner.clone()
const fence_bottom = props.models.fence_bottom.clone()
const fastening = props.models.fastening.clone()
const top = props.models.top.clone()
fence_inner.name = 'fence_inner'
const pillar: any[] = [fence_top.children[0], fence.children[0], fence_inner.children[0], fence_bottom.children[0]]
pillar[0].position.setComponent(1, lSize * -0.5)
pillar[1].scale.setComponent(1, lamelles_count.value)
pillar[2].scale.setComponent(1, lamelles_count.value)
pillar[3].position.setComponent(1, lSize * lamelles_count.value)
</script> </script>
<template> <template>
<TresGroup :scale="scale_koef" :position-x="translate_to_section" :name="`fence ${index}`" :position-y="0"> <TresGroup :scale="scale_koef" :position-x="translate_to_section" :name="`fence ${index}`" :position-y="0">
<TresGroup name="pillar_one" v-if="!remove_pillar && show_pillar_one" :position-x="pillar_one_pos"> <TresGroup name="pillar_one" v-if="!remove_pillar && show_pillar_one" :position-x="pillar_one_pos">
<TresObject3D v-bind="props.models.fence_top.children[0]" :position-y="(lSize * -0.5)" /> <template v-for="item in pillar">
<TresObject3D v-bind="props.models.fence.children[0]" :scale-y="lamelles_count" /> <TresObject3D v-bind="item.clone()" />
<TresObject3D v-bind="props.models.fence_inner.children[0]" :scale-y="lamelles_count" /> </template>
<TresObject3D v-bind="props.models.fence_bottom.children[0]" :position-y="(lSize * lamelles_count)" />
</TresGroup> </TresGroup>
<TresGroup name="pillar_two" v-if="!remove_pillar && show_pillar_two" :position-x="pillar_two_pos"> <TresGroup name="pillar_two" v-if="!remove_pillar && show_pillar_two" :position-x="pillar_two_pos">
<TresObject3D v-bind="props.models.fence_top.children[0]" :position-y="(lSize * -0.5)" /> <template v-for="item in pillar">
<TresObject3D v-bind="props.models.fence.children[0]" :scale="[-1, lamelles_count, 1]" /> <TresObject3D v-bind="item.clone()" />
<TresObject3D v-bind="props.models.fence_inner.children[0]" :scale="[-1, lamelles_count, 1]" /> </template>
<TresObject3D v-bind="props.models.fence_bottom.children[0]" :position-y="(lSize * lamelles_count)" />
</TresGroup> </TresGroup>
<TresGroup name="lamelles"> <TresGroup name="lamelles">
<TresInstancedMesh ref="instanced_lamelle" :args="instanced_v" cast-shadow /> <TresInstancedMesh ref="instanced_lamelle" :args="instanced_v" />
</TresGroup> </TresGroup>
<TresObject3D name="lam_fastening_one" v-bind="props.models.fastening.children[0]" :position-x="pillar_one_pos" <TresObject3D v-bind="fastening.children[0]" name="lam_fastening_one" :position-x="pillar_one_pos"
:scale-y="lamelles_count" /> :scale-y="lamelles_count" />
<TresObject3D name="lam_fastening_two" v-bind="props.models.fastening.children[0]" :position-x="pillar_two_pos" <TresObject3D v-bind="fastening.children[0]" name="lam_fastening_two" :position-x="pillar_two_pos"
:scale="[-1, lamelles_count, 1]" /> :scale="[-1, lamelles_count, 1]" />
<TresGroup name="top_section" :scale-x="((extra as number) || fence_section) * 10 + 0.1 * scale_koef" <TresGroup name="top_section" :scale-x="((extra as number) || fence_section) * 10 + 0.1 * scale_koef"
:position="[pillar_size * 0.5, lamelles_count * lSize, 0]"> :position="[pillar_size * 0.5, lamelles_count * lSize, 0]">
<TresObject3D v-bind="props.models.top.children[0]" /> <TresObject3D v-bind="top.children[0]" />
</TresGroup> </TresGroup>
</TresGroup> </TresGroup>
</template> </template>