fps fence
This commit is contained in:
parent
a115e6e31b
commit
9ffa3ce5db
|
@ -58,12 +58,13 @@ watch([instanced_lamelle, fence_section, extra_section, lamelles_count], (mesh)
|
||||||
instanced_lamelle.value.setMatrixAt(i, newmatrix);
|
instanced_lamelle.value.setMatrixAt(i, newmatrix);
|
||||||
|
|
||||||
if (i >= lamelles_count.value) {
|
if (i >= lamelles_count.value) {
|
||||||
instanced_lamelle.value.setMatrixAt(i, new Matrix4().makeTranslation(new Vector3(0,0,-2)));
|
instanced_lamelle.value.setMatrixAt(i, new Matrix4().makeTranslation(new Vector3(0, 2, 2)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
instanced_lamelle.value.instanceMatrix.needsUpdate = true
|
instanced_lamelle.value.instanceMatrix.needsUpdate = true
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
watch([section_count, fence_section, extra_section], () => {
|
watch([section_count, fence_section, extra_section], () => {
|
||||||
extra.value = (extra_section.value && props.index == (section_count.value + 1)) ? extra_section.value * 0.001 : false
|
extra.value = (extra_section.value && props.index == (section_count.value + 1)) ? extra_section.value * 0.001 : false
|
||||||
if (extra_section && props.index == (section_count.value + 1)) {
|
if (extra_section && props.index == (section_count.value + 1)) {
|
||||||
|
@ -80,16 +81,13 @@ watch([section_count, fence_section, extra_section], () => {
|
||||||
<template>
|
<template>
|
||||||
<TresGroup :scale="scale_koef" :position-x="translate_to_section" :name="`fence ${index}`"
|
<TresGroup :scale="scale_koef" :position-x="translate_to_section" :name="`fence ${index}`"
|
||||||
:position-y="extra ? 1 : 0">
|
:position-y="extra ? 1 : 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"
|
||||||
:position-z="0">
|
:position-z="0">
|
||||||
<TresGroup :position-y="(lSize * -0.5)" :scale="[1, 0.5, 1]">
|
<TresGroup :position-y="(lSize * -0.5)" :scale="[1, 0.5, 1]">
|
||||||
<TresObject3D v-bind="props.models.fence.children[0]" />
|
<TresObject3D v-bind="props.models.fence.children[0]" />
|
||||||
</TresGroup>
|
</TresGroup>
|
||||||
<template v-for="(n, i) in lamelles_count">
|
<TresObject3D v-bind="props.models.fence.children[0]" :scale-y="lamelles_count" />
|
||||||
<TresGroup :position-y="(lSize * i)">
|
|
||||||
<TresObject3D v-bind="props.models.fence.children[0]" />
|
|
||||||
</TresGroup>
|
|
||||||
</template>
|
|
||||||
<TresGroup :position-y="(lSize * lamelles_count)" :scale="[1, 0.5, 1]">
|
<TresGroup :position-y="(lSize * lamelles_count)" :scale="[1, 0.5, 1]">
|
||||||
<TresObject3D v-bind="props.models.fence.children[0]" />
|
<TresObject3D v-bind="props.models.fence.children[0]" />
|
||||||
</TresGroup>
|
</TresGroup>
|
||||||
|
@ -100,40 +98,21 @@ watch([section_count, fence_section, extra_section], () => {
|
||||||
<TresGroup :position-y="(lSize * -0.5)" :scale="[-1, 0.5, 1]">
|
<TresGroup :position-y="(lSize * -0.5)" :scale="[-1, 0.5, 1]">
|
||||||
<TresObject3D v-bind="props.models.fence.children[0]" />
|
<TresObject3D v-bind="props.models.fence.children[0]" />
|
||||||
</TresGroup>
|
</TresGroup>
|
||||||
<template v-for="(n, i) in lamelles_count">
|
<TresObject3D v-bind="props.models.fence.children[0]" :scale="[-1, lamelles_count, 1]" />
|
||||||
<TresGroup :position-y="(lSize * i)" :scale="[-1, 1, 1]">
|
|
||||||
<TresObject3D v-bind="props.models.fence.children[0]" />
|
|
||||||
</TresGroup>
|
|
||||||
</template>
|
|
||||||
<TresGroup :position-y="(lSize * lamelles_count)" :scale="[-1, 0.5, 1]">
|
<TresGroup :position-y="(lSize * lamelles_count)" :scale="[-1, 0.5, 1]">
|
||||||
<TresObject3D v-bind="props.models.fence.children[0]" />
|
<TresObject3D v-bind="props.models.fence.children[0]" />
|
||||||
</TresGroup>
|
</TresGroup>
|
||||||
</TresGroup>
|
</TresGroup>
|
||||||
|
|
||||||
<TresGroup name="lamelles">
|
<TresGroup name="lamelles">
|
||||||
<template v-for="(n, i) in lamelles_count" v-if=false>
|
|
||||||
<TresGroup :position="[pillar_size * 0.5, (lSize * i), 0.02]"
|
|
||||||
:scale-x="((extra as number) || fence_section) * 10">
|
|
||||||
<TresObject3D v-bind="props.models.lamelle.children[0]" />
|
|
||||||
</TresGroup>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<TresInstancedMesh ref="instanced_lamelle" :args="instanced_v" cast-shadow />
|
<TresInstancedMesh ref="instanced_lamelle" :args="instanced_v" cast-shadow />
|
||||||
</TresGroup>
|
</TresGroup>
|
||||||
<TresGroup name="lam_fastening_one">
|
<TresGroup name="lam_fastening_one" :position-x="pillar_one_pos" :scale-y="lamelles_count">
|
||||||
<template v-for="(n, i) in lamelles_count">
|
|
||||||
<TresGroup :position-y="(lSize * i)" :position-x="pillar_one_pos">
|
|
||||||
<TresObject3D v-bind="props.models.fastening.children[0]" />
|
<TresObject3D v-bind="props.models.fastening.children[0]" />
|
||||||
</TresGroup>
|
</TresGroup>
|
||||||
</template>
|
<TresGroup name="lam_fastening_two" :position-x="pillar_two_pos" :scale="[-1, lamelles_count, 1]">
|
||||||
</TresGroup>
|
|
||||||
<TresGroup name="lam_fastening_two">
|
|
||||||
<template v-for="(n, i) in lamelles_count">
|
|
||||||
<TresGroup :position-y="(lSize * i)" :scale="[-1, 1, 1]" :position-x="pillar_two_pos">
|
|
||||||
<TresObject3D v-bind="props.models.fastening.children[0]" />
|
<TresObject3D v-bind="props.models.fastening.children[0]" />
|
||||||
</TresGroup>
|
</TresGroup>
|
||||||
</template>
|
|
||||||
</TresGroup>
|
|
||||||
<TresGroup name="top_section" :scale-x="((extra as number) || fence_section) * 10"
|
<TresGroup name="top_section" :scale-x="((extra as number) || fence_section) * 10"
|
||||||
: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="props.models.top.children[0]" />
|
||||||
|
|
Loading…
Reference in New Issue