remove inertia

This commit is contained in:
Kseninia Mikhaylova 2024-07-01 13:32:30 +03:00
parent 06888e0e3e
commit 51f9f3bbad
3 changed files with 9 additions and 14 deletions

View File

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { onMounted, watch } from 'vue'; import { onMounted, watch } from 'vue';
import { PMREMGenerator } from 'three'; import { EquirectangularReflectionMapping, ReinhardToneMapping } from 'three';
import { GainMapLoader } from '@monogrid/gainmap-js' import { GainMapLoader } from '@monogrid/gainmap-js'
import { useTresContext } from '@tresjs/core'; import { useTresContext } from '@tresjs/core';
@ -13,9 +13,6 @@ const props = defineProps(['hdr_webp', 'hdr_gainmap', 'hdr_json'])
const { renderer, scene } = useTresContext() const { renderer, scene } = useTresContext()
const loadEnv = async () => { const loadEnv = async () => {
const pmremGenerator = new PMREMGenerator(renderer.value);
pmremGenerator.compileEquirectangularShader();
const loader = new GainMapLoader(renderer.value) const loader = new GainMapLoader(renderer.value)
const result = await loader.loadAsync([ const result = await loader.loadAsync([
props.hdr_webp || hdr_webp, props.hdr_webp || hdr_webp,
@ -23,13 +20,12 @@ const loadEnv = async () => {
props.hdr_json || hdr_json, props.hdr_json || hdr_json,
]) ])
const exrCubeRenderTarget = pmremGenerator.fromEquirectangular(result.renderTarget.texture); scene.value.environment = result.renderTarget.texture
const exrBackground = exrCubeRenderTarget.texture; scene.value.background = result.renderTarget.texture
const newEnvMap = exrCubeRenderTarget ? exrCubeRenderTarget.texture : null; scene.value.background.mapping = EquirectangularReflectionMapping
scene.value.environment = newEnvMap
scene.value.background = exrBackground
result.renderTarget.texture.dispose(); result.renderTarget.texture.dispose();
} }
renderer.value.toneMapping = ReinhardToneMapping
onMounted(async () => { onMounted(async () => {
loadEnv() loadEnv()
}) })

View File

@ -40,13 +40,12 @@ const loadModels = async () => {
const data = raw_data.elements const data = raw_data.elements
if (!controls.value) return; if (!controls.value) return;
camera.value?.position.set(1, 1, 1);
controls.value.enabled = false; controls.value.enabled = false;
(controls.value as any).minDistance = raw_data.min_distance; (controls.value as any).minDistance = raw_data.min_distance;
(controls.value as any).maxDistance = raw_data.max_distance; (controls.value as any).maxDistance = raw_data.max_distance;
(controls.value as any)._needsUpdate = true; (controls.value as any)._needsUpdate = true;
(controls.value as any).update(1) (controls.value as any).update()
camera.value?.position.set(1, 1, 1);
camera.value?.lookAt(new Vector3(1, 1, 1));
const sidebar_items = [] const sidebar_items = []
clickable_items.value = [] clickable_items.value = []
@ -146,9 +145,8 @@ watch(() => props.source, () => {
const { onLoop } = useRenderLoop() const { onLoop } = useRenderLoop()
onLoop(() => { onLoop(() => {
clickable_items.value.map(el => { clickable_items.value.map(el => {
if (camera.value) { el.rotation.x += 0.01
// el.quaternion.copy(camera.value.quaternion); // el.quaternion.copy(camera.value.quaternion);
}
}) })
}) })
</script> </script>

View File

@ -32,6 +32,7 @@ const camera = ref()
const cameraPosition = ref([1, 1, 1]) as unknown as Ref<Vector3> const cameraPosition = ref([1, 1, 1]) as unknown as Ref<Vector3>
const controlsState = reactive({ const controlsState = reactive({
enableDamping:false,
maxPolarAngle: (Math.PI / 2) - 0.05, maxPolarAngle: (Math.PI / 2) - 0.05,
minAzimuthAngle: (Math.PI / 2) - 0.02, minAzimuthAngle: (Math.PI / 2) - 0.02,
}) })