bx-865-apps #1

Merged
ksenia_mikhailova merged 140 commits from bx-865-apps into main 2024-06-27 15:03:27 +03:00
7 changed files with 33 additions and 25 deletions
Showing only changes of commit fd898c9134 - Show all commits

View File

@ -19,7 +19,6 @@ declare module 'vue' {
IMdiVideo3d: typeof import('~icons/mdi/video3d')['default'] IMdiVideo3d: typeof import('~icons/mdi/video3d')['default']
Item: typeof import('./src/components/Floorplan/item.vue')['default'] Item: typeof import('./src/components/Floorplan/item.vue')['default']
Main: typeof import('./src/components/Promo/main.vue')['default'] Main: typeof import('./src/components/Promo/main.vue')['default']
Model: typeof import('./src/components/Promo/model.vue')['default']
ModelItem: typeof import('./src/components/Promo/modelItem.vue')['default'] ModelItem: typeof import('./src/components/Promo/modelItem.vue')['default']
Models: typeof import('./src/components/Promo/models.vue')['default'] Models: typeof import('./src/components/Promo/models.vue')['default']
Projects: typeof import('./src/components/Projects.vue')['default'] Projects: typeof import('./src/components/Projects.vue')['default']

Binary file not shown.

View File

@ -1,8 +1,11 @@
<script setup lang="ts"> <script setup lang="ts">
import { reactive, } from 'vue'; import { reactive, ref, shallowReactive, } from 'vue';
import { TresCanvas } from '@tresjs/core';
import { CameraControls, useProgress } from '@tresjs/cientos'
import { Vector3 } from 'three'; import { Vector3 } from 'three';
import { TresCanvas } from '@tresjs/core';
import { Fbo, CameraControls, Environment, useProgress } from '@tresjs/cientos'
import sunset from '../../assets/promo/models/sunset.hdr'
console.log(sunset)
const minPan = new Vector3(-10, 1, -5); const minPan = new Vector3(-10, 1, -5);
const maxPan = new Vector3(5, 1, 5); const maxPan = new Vector3(5, 1, 5);
@ -26,6 +29,7 @@ const controlsState = reactive({
minZoom: 0.2, minZoom: 0.2,
}) })
const { hasFinishLoading, progress } = await useProgress() const { hasFinishLoading, progress } = await useProgress()
</script> </script>
@ -37,10 +41,12 @@ const { hasFinishLoading, progress } = await useProgress()
<TresCanvas window-size alpha shadows clear-color="#87ceeb"> <TresCanvas window-size alpha shadows clear-color="#87ceeb">
<TresPerspectiveCamera :position="cameraPosition" /> <TresPerspectiveCamera :position="cameraPosition" />
<CameraControls v-bind="controlsState" @change="onChange" make-default /> <CameraControls v-bind="controlsState" @change="onChange" make-default />
<TresGridHelper :args="[50, 50]" />
<Suspense> <Suspense>
<Models /> <Models />
</Suspense> </Suspense>
<TresDirectionalLight :position="lightPosition" :intensity="5" /> <TresDirectionalLight :position="lightPosition" :intensity="5" cast-shadow />
<TresAmbientLight /> <TresAmbientLight />
</TresCanvas> </TresCanvas>
</div> </div>

View File

@ -11,15 +11,16 @@ box.getCenter(center)
let size = new Vector3(); let size = new Vector3();
box.getSize(size) box.getSize(size)
const show_alert= ()=>{ const box_size = [size.x - 0.1, size.y - 0.1, size.z - 0.1]
const show_alert = () => {
alert(props.modelUrl) alert(props.modelUrl)
} }
</script> </script>
<template> <template>
<TresGroup :posiion="[0, 0, 0]"> <TresGroup :posiion="[0, 0, 0]">
<TresMesh :position="center" <TresMesh :position="center" @click="show_alert">
@click="show_alert"> <TresBoxGeometry :args="box_size" />
<TresBoxGeometry :args="size" />
<TresMeshBasicMaterial :opacity="0" :transparent="true" /> <TresMeshBasicMaterial :opacity="0" :transparent="true" />
</TresMesh> </TresMesh>
<TresMesh> <TresMesh>

View File

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { useFBX, } from '@tresjs/cientos' import { useFBX, } from '@tresjs/cientos'
import { Environment } from '@tresjs/cientos'
import andreyUrl from '../../assets/promo/models/quadro/andrey.fbx' import andreyUrl from '../../assets/promo/models/quadro/andrey.fbx'
import groundUrl from '../../assets/promo/models/quadro/ground.fbx' import groundUrl from '../../assets/promo/models/quadro/ground.fbx'
import mangalUrl from '../../assets/promo/models/quadro/mangal.fbx' import mangalUrl from '../../assets/promo/models/quadro/mangal.fbx'
@ -10,21 +10,30 @@ import quadUrl from '../../assets/promo/models/quadro/quad.fbx'
import skyUrl from '../../assets/promo/models/quadro/sky.fbx' import skyUrl from '../../assets/promo/models/quadro/sky.fbx'
import walkbayUrl from '../../assets/promo/models/quadro/walkway.fbx' import walkbayUrl from '../../assets/promo/models/quadro/walkway.fbx'
const quadModel = await useFBX(quadUrl) import hdrmap from "../../assets/promo/models/sunset.hdr"
const groundModel = await useFBX(groundUrl)
const skyModel = await useFBX(skyUrl)
const groundModel = await useFBX(groundUrl)
console.log(groundModel.children[0].material)
</script> </script>
<template> <template>
<TresGroup> <TresGroup>
<Suspense>
<Environment background :files="hdrmap" />
</Suspense>
<TresMesh :rotate-x="-Math.PI * 0.5">
<TresPlaneGeometry :args="[50, 50]" />
<TresMeshPhongMaterial v-bind="groundModel.children[0].material" />
</TresMesh>
<ModelItem :modelUrl="andreyUrl" /> <ModelItem :modelUrl="andreyUrl" />
<ModelItem :modelUrl="mangalUrl" /> <ModelItem :modelUrl="mangalUrl" />
<ModelItem :modelUrl="pillarUrl" /> <ModelItem :modelUrl="pillarUrl" />
<ModelItem :modelUrl="pointerUrl" /> <ModelItem :modelUrl="pointerUrl" />
<!-- <primitive :object="quadModel" /> --> <ModelItem :modelUrl="quadUrl" />
<ModelItem :modelUrl="walkbayUrl" /> <ModelItem :modelUrl="walkbayUrl" />
<!-- <primitive :object="groundModel" /> --> <!-- <primitive :object="groundModel" /> -->
<primitive :object="skyModel" /> <!-- <primitive :object="skyModel" /> -->
</TresGroup> </TresGroup>
</template> </template>

View File

@ -1,3 +1,4 @@
/// <reference types="vite/client" /> /// <reference types="vite/client" />
declare module "*.fbx"; declare module "*.fbx";
declare module "*.gltf"; declare module "*.gltf";
declare module "*.hdr";

View File

@ -20,14 +20,6 @@ export default defineConfig({
}), }),
Icons(), Icons(),
svgLoader(), svgLoader(),
viteStaticCopy({
targets: [
{
src: 'src/assets/promo/models/quadro/*.jpg',
dest: 'assets'
}
]
})
], ],
assetsInclude: ['**/*.fbx', '**/*.gltf'], assetsInclude: ['**/*.fbx', '**/*.gltf', '**/*.hdr'],
}) })