bx-1379-redesign #15

Merged
ksenia_mikhailova merged 124 commits from bx-1379-redesign into dev 2024-09-06 15:39:13 +03:00
1 changed files with 32 additions and 19 deletions
Showing only changes of commit 822ee7c81e - Show all commits

View File

@ -276,23 +276,30 @@ watch(() => sidebar.is_open && sidebar.id_clickable, () => {
el.getWorldPosition(target_vector);
// target_vector.y = raw_dataStore.data.min_distance > 50 ? raw_dataStore.data.min_distance / 10 : 1;
target_vector.setComponent(1, raw_dataStore.data.min_distance > 50 ? raw_dataStore.data.min_distance / 10 : 1)
const quaternion = new Quaternion();
quaternion.setFromEuler(new Euler(
-45 * 1 * (Math.PI / 180),
35 * 1 * (Math.PI / 180),
35 * 1 * (Math.PI / 180)
));
// const quaternion = new Quaternion();
// quaternion.setFromEuler(new Euler(
// -45 * 1 * (Math.PI / 180),
// 35 * 1 * (Math.PI / 180),
// 35 * 1 * (Math.PI / 180)
// ));
set_moveto(smooth_rotate, quaternion)
// set_moveto(smooth_rotate, quaternion)
const d = raw_dataStore.data.max_distance * 0.5;
const lerp_vector = new Vector3(0, 0, 0)
lerp_vector.lerpVectors(target_vector, camera.value?.position as Vector3, 0.5)
lerp_vector.setComponent(1, raw_dataStore.data.max_distance * 0.5)
if (
camera.value?.position && camera.value?.position.distanceTo(lerp_vector) > raw_dataStore.data.max_distance * 0.5 ||
camera.value?.position && camera.value?.position.distanceTo(target_vector) > 10
) {
set_moveto(smooth_target, new Vector3(lerp_vector.x, d, lerp_vector.z))
set_moveto(smooth_move, lerp_vector)
const d = raw_dataStore.data.max_distance * 0.5
if (camera.value?.position && camera.value?.position.distanceTo(new Vector3(d, d, d)) > 20) {
set_moveto(temp_smooth_target, target_vector)
set_moveto(temp_smooth_move, target_vector)
set_moveto(smooth_target, new Vector3(0, 0, 0))
set_moveto(smooth_move, new Vector3(d, d, d))
} else {
set_moveto(smooth_target, target_vector)
set_moveto(smooth_move, target_vector)
@ -322,17 +329,21 @@ onAfterRender(() => {
{
el: smooth_target,
temp_el: temp_smooth_target,
f: () => (controls.value as any).target.lerp(smooth_target.value as Vector3, smooth_target.count < COUNT * 0.5 ? 0.15 : koef),
f: () => {
(controls.value as any).target.lerp(smooth_target.value as Vector3, 1 / smooth_target.count);
},
},
{
el: smooth_move,
temp_el: temp_smooth_move,
f: () => camera.value?.position.lerp(smooth_move.value as Vector3, smooth_move.count < COUNT * 0.5 ? 0.15 : koef),
f: () => {
camera.value?.position.lerp(smooth_move.value as Vector3, 1 / smooth_move.count);
},
},
{
el: smooth_rotate,
f: () => {
camera.value?.quaternion.slerp(smooth_rotate.value as Quaternion, koef);
camera.value?.quaternion.slerp(smooth_rotate.value as Quaternion, 1 / smooth_rotate.count);
camera.value?.quaternion.normalize()
}
}
@ -342,9 +353,8 @@ onAfterRender(() => {
timer.resetTimer();
element.f()
element.el.count -= 1
if (element.el.count == 0) {
if (element.el.count == 1) {
set_moveto(element.el, undefined)
if (element.temp_el && element.temp_el.value) {
set_moveto(element.el, element.temp_el.value)
set_moveto(element.temp_el, undefined)
@ -357,8 +367,11 @@ onAfterRender(() => {
const timer = useTimer()
timer.timer_func = () => {
if (timer.seconds_left == 0 && !(controls.value as any).autoRotate && (controls.value as any).enabled) {
gotoCenterAndDistance();
if (sidebar.is_open) {
sidebar.close();
} else {
gotoCenterAndDistance();
}
(controls.value as any).autoRotate = true;
(controls.value as any).autoRotateSpeed = 0.5;