diff --git a/components/expDiagram.vue b/components/expDiagram.vue
index 68de2ca..358cf2a 100644
--- a/components/expDiagram.vue
+++ b/components/expDiagram.vue
@@ -56,15 +56,10 @@ onMounted(() => {
+
-
-
-
-
diff --git a/components/modal.vue b/components/modal.vue
index 81a8c00..8353e2f 100644
--- a/components/modal.vue
+++ b/components/modal.vue
@@ -189,7 +189,7 @@ const total_txt = computed(() => {
if (isTopper) decor.topper = { txt: 'Колпак', value: getTopperName(pillar_topper.value) }
}
- const total = [extra, regular, decor].map(item => Object.values(item).map(el => el ? el.value : 0)).flat().reduce((a, b) => a + b, 0)
+ const total = [extra, regular].map(item => Object.values(item).map(el => el ? el.value : 0)).flat().reduce((a, b) => a + b, 0)
const res_regular = Object.values(regular).map(item =>
Object.entries(item).map(el => el[0] == 'value' ? roubleSign.format(el[1] as number) : el[1]).join(': ')
diff --git a/components/model/diagram.vue b/components/model/diagram.vue
index 3844897..96b59c0 100644
--- a/components/model/diagram.vue
+++ b/components/model/diagram.vue
@@ -25,8 +25,8 @@ const { scene: verh } = await useGLTF('/models_exp/verh.glb')
const lamelle_color = use_lamelle_color()
const pillar_color = use_pillar_color()
-set_material(planki, getColorHexFromRal(lamelle_color.value));
-[stolb, verh, krepleniye_planok].map(el => set_material(el, getColorHexFromRal(pillar_color.value)))
+set_material(planki, getColorHexFromRal(lamelle_color.value), undefined, false);
+[stolb, verh, krepleniye_planok].map(el => set_material(el, getColorHexFromRal(pillar_color.value), undefined, false))
diff --git a/components/model/fence.vue b/components/model/fence.vue
index 3d1009e..6c9921d 100644
--- a/components/model/fence.vue
+++ b/components/model/fence.vue
@@ -142,7 +142,7 @@ const setPillar = () => {
pillar_inner.scale.setComponent(1, lamelles_count.value);
const bottom = props.models.pillar_bottom.children[0];
- bottom.position.setComponent(1, lSize * -1);
+ bottom.position.setComponent(1, lSize * -0.5);
let arr = [top, pillar_outer, pillar_inner, bottom]
arr.map(el => {
diff --git a/components/topper.ts b/components/topper.ts
index af48c57..e27779d 100644
--- a/components/topper.ts
+++ b/components/topper.ts
@@ -1,7 +1,7 @@
export const toppers = [
{ name: 'Ровный', filename: 'icon_stolb_verh_3.svg', model: 'top' },
{ name: 'Вершина 1', filename: 'icon_stolb_verh_2.svg', model: 'decor1' },
- { name: 'Вершина 2', filename: 'icon_stolb_verh_1.svg', model: 'decor3' },
+ { name: 'Вершина 2', filename: 'icon_stolb_verh_1.svg', model: 'decor2' },
].map((el, i) => Object.assign(el, { id: i }))
export const getFilename = (id: toppersIds) => {
diff --git a/public/models_one/pillar/bottom.glb b/public/models_one/pillar/bottom.glb
index 9c45862..d8253c4 100644
Binary files a/public/models_one/pillar/bottom.glb and b/public/models_one/pillar/bottom.glb differ
diff --git a/public/models_one/pillar/topper/decor1.glb b/public/models_one/pillar/topper/decor1.glb
index 5c1e3be..4c5c1f9 100644
Binary files a/public/models_one/pillar/topper/decor1.glb and b/public/models_one/pillar/topper/decor1.glb differ
diff --git a/public/models_one/pillar/topper/decor2.glb b/public/models_one/pillar/topper/decor2.glb
new file mode 100644
index 0000000..0bcd67e
Binary files /dev/null and b/public/models_one/pillar/topper/decor2.glb differ
diff --git a/public/models_one/pillar/topper/decor3.glb b/public/models_one/pillar/topper/decor3.glb
deleted file mode 100644
index 065b960..0000000
Binary files a/public/models_one/pillar/topper/decor3.glb and /dev/null differ
diff --git a/public/models_one/pillar/topper/top.glb b/public/models_one/pillar/topper/top.glb
index 534296e..0eaabb0 100644
Binary files a/public/models_one/pillar/topper/top.glb and b/public/models_one/pillar/topper/top.glb differ
diff --git a/utils/material.ts b/utils/material.ts
index 035dcf9..38c0887 100644
--- a/utils/material.ts
+++ b/utils/material.ts
@@ -1,7 +1,7 @@
import {
Color, DoubleSide,
MeshStandardMaterial, RepeatWrapping,
- Texture, TextureLoader,
+ Texture, TextureLoader,
type WebGLProgramParameters
} from "three"
import { useLoader, } from '@tresjs/core'
@@ -75,12 +75,18 @@ const m_onBeforeCompile = (shader: WebGLProgramParameters) => {
`
);
};
-export const set_material = (scene: any, color: any, pattern: { pattern: patternIds, count: number } | undefined = undefined) => {
+export const set_material = (
+ scene: any,
+ color: any,
+ pattern: { pattern: patternIds, count: number } | undefined = undefined,
+ noise_material: boolean = true,
+) => {
let c = color
-
const material = noiseMaterial.clone()
material.color = new Color(c || '#9c9c00')
- material.onBeforeCompile = m_onBeforeCompile
+ if (noise_material) {
+ material.onBeforeCompile = m_onBeforeCompile
+ }
const promises = []
if (pattern && pattern.pattern !== undefined) {
@@ -93,6 +99,7 @@ export const set_material = (scene: any, color: any, pattern: { pattern: pattern
res.repeat.set(1, pattern.count);
res.needsUpdate = true
material.alphaMap = res
+ scene.renderOrder = 0
return res
})
}