vence set light

This commit is contained in:
Kseninia Mikhaylova 2024-06-28 09:47:31 +03:00
parent be33ea5dd1
commit dcdd269368
2 changed files with 17 additions and 14 deletions

View File

@ -35,11 +35,15 @@ const loadAll = async () => {
const { scene: light } = await useGLTF('/models_light/zabor_so_svetom.glb') const { scene: light } = await useGLTF('/models_light/zabor_so_svetom.glb')
pointLight.value = light.children[2] pointLight.value = light.children[2]
pointLight.value.color = '#f0dea9' pointLight.value.color = '#f0dea9'
pointLight.value.power = pointLight.value.intensity pointLight.value.intensity = pointLight.value.intensity * 0.2
pointLight.value.intensity = 0 // pointLight.value.intensity = 0
pointLight.value.shadow.camera.near = 50 pointLight.value.shadow.camera.near = 50
pointLight.value.shadow.bias = -0.002 pointLight.value.shadow.bias = -0.002
pointLight.value.shadow.bias = -0.002
const k = 5
pointLight.value.position.x = pointLight.value.position.x * k
pointLight.value.position.y = pointLight.value.position.y * k
pointLight.value.position.z = pointLight.value.position.z * k
const pbrTexture = await useTexture({ const pbrTexture = await useTexture({
map: '/texture/Grass004_2K-PNG/Grass004_2K-PNG_Color.png', map: '/texture/Grass004_2K-PNG/Grass004_2K-PNG_Color.png',
@ -77,9 +81,9 @@ onMounted(() => {
}) })
watch([section_count, extra_section], () => { watch([section_count, extra_section], () => {
let v = (section_count.value + ~~(!!extra_section.value)) * 1.5 let v = (section_count.value + ~~(!!extra_section.value)) * 1.5
if (v < controlsState.minDistance) v = controlsState.minDistance if (v < controlsState.minDistance) v = controlsState.minDistance;
if (v > controlsState.maxDistance) v = controlsState.maxDistance if (v > controlsState.maxDistance) v = controlsState.maxDistance;
camera.value.position.normalize().multiplyScalar(v) (camera.value as any).position.normalize().multiplyScalar(v)
}) })
</script> </script>
<template> <template>

View File

@ -1,6 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { useGLTF, Html } from '@tresjs/cientos' import { useGLTF } from '@tresjs/cientos'
import Item from './item.vue';
import { getColorHexFromRal } from '../ral'; import { getColorHexFromRal } from '../ral';
const explosion_state = use_explosion_state() const explosion_state = use_explosion_state()
@ -31,11 +30,11 @@ set_material(planki, getColorHexFromRal(lamelle_color.value));
</script> </script>
<template> <template>
<TresGroup :position-y="-3.5" :scale="2"> <TresGroup :position-y="-3.5" :scale="2">
<Item :model="kosynka" :target="explosion_state ? targetExplosion.kosynka : [0, 0, 0]" /> <ModelItem :model="kosynka" :target="explosion_state ? targetExplosion.kosynka : [0, 0, 0]" />
<Item :model="krepleniye_planok" :target="explosion_state ? targetExplosion.krepleniye_planok : [0, 0, 0]" /> <ModelItem :model="krepleniye_planok" :target="explosion_state ? targetExplosion.krepleniye_planok : [0, 0, 0]" />
<Item :model="osnova_stolba" /> <ModelItem :model="osnova_stolba" />
<Item :model="planki" :target="explosion_state ? targetExplosion.planki : [0, 0, 0]" /> <ModelItem :model="planki" :target="explosion_state ? targetExplosion.planki : [0, 0, 0]" />
<Item :model="stolb" :target="explosion_state ? targetExplosion.stolb : [0, 0, 0]" /> <ModelItem :model="stolb" :target="explosion_state ? targetExplosion.stolb : [0, 0, 0]" />
<Item :model="verh" :target="explosion_state ? targetExplosion.verh : [0, 0, 0]" /> <ModelItem :model="verh" :target="explosion_state ? targetExplosion.verh : [0, 0, 0]" />
</TresGroup> </TresGroup>
</template> </template>