Секции
@@ -243,6 +233,18 @@ const goal = (target: string, params: object) => {
+
+
+
+ Выбранный размер забора слишком мал для расчета стоимости. Пожалуйста, выберите больший
+ размер, чтобы продолжить.
+
+
+ Внимание! Дополнительная секция приводит к увеличению стоимости.
+ Рекомендуем вам изменить длину забора или длину секции!
+
+
+
diff --git a/components/model/line.vue b/components/model/line.vue
index 6e21ed2..951de31 100644
--- a/components/model/line.vue
+++ b/components/model/line.vue
@@ -129,7 +129,7 @@ onBeforeRender(() => {
:position-z="position.z">
-
{
-
+
diff --git a/components/model/parametric.vue b/components/model/parametric.vue
index d96487f..dbac4a6 100644
--- a/components/model/parametric.vue
+++ b/components/model/parametric.vue
@@ -4,7 +4,12 @@ import {
CineonToneMapping,
Mesh,
Object3D,
+ Vector3,
+ EquirectangularReflectionMapping,
+ Euler,
+ PMREMGenerator,
} from 'three';
+import { GainMapLoader, } from '@monogrid/gainmap-js'
//@ts-ignore
import { useGLTF, } from '@tresjs/cientos'
import { getColorHexFromRal, type ralTypes } from '../ral';
@@ -15,7 +20,7 @@ const section_count = use_section_count()
const lamelle_count = use_lamelles_count()
const extra_section = use_extra_section()
-const { scene, renderer, camera } = useTresContext()
+const { scene, renderer, camera, controls } = useTresContext()
renderer.value.toneMapping = CineonToneMapping
renderer.value.toneMappingExposure = 0.5
@@ -128,6 +133,26 @@ watch(() => [section_count.value, extra_section.value], () => {
watch(lamelle_count, () => {
[fence_inner].map(
(el: Ref) => { set_material(el.value, getColorHexFromRal(pillar_color.value), lamelle_count.value) });
+ camera.value?.lookAt(10, 10, 10)
+})
+const pmremGenerator = new PMREMGenerator(renderer.value);
+pmremGenerator.compileEquirectangularShader();
+onMounted(async () => {
+ const loader = new GainMapLoader(renderer.value)
+ const result = await loader.loadAsync([
+ 'hdrmaps/hdr.webp',
+ 'hdrmaps/hdr-gainmap.webp',
+ 'hdrmaps/hdr.json',
+ ])
+ if (renderer.value && camera.value) {
+ renderer.value.render(scene.value, camera.value)
+ }
+ const exrCubeRenderTarget = pmremGenerator.fromEquirectangular(result.renderTarget.texture);
+ const newEnvMap = exrCubeRenderTarget ? exrCubeRenderTarget.texture : null;
+
+ scene.value.environment = newEnvMap
+ scene.value.environmentIntensity = 1.5
+ result.renderTarget.texture.dispose();
})
diff --git a/utils/material.ts b/utils/material.ts
index 9a40cdd..cfde1a2 100644
--- a/utils/material.ts
+++ b/utils/material.ts
@@ -32,8 +32,8 @@ export const set_material = (scene: any, color: any, count: number | undefined =
alphaMap: count ? texture : null,
transparent: true,
opacity: 1,
- // roughness: 0.5,
- // metalness: 0,
+ roughness: 0.2,
+ metalness: 0,
side: DoubleSide,
})
set_metaril_func(scene, material)