bx-1379-redesign #15
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue