From 724ec17d755fad36223f88de09876f859e944468 Mon Sep 17 00:00:00 2001 From: Matthew Tancik Date: Sun, 30 Oct 2022 19:52:24 -0700 Subject: [PATCH] Fix camera interpolation bug (#858) --- .../viewer/app/src/modules/SidePanel/CameraPanel/curve.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nerfstudio/viewer/app/src/modules/SidePanel/CameraPanel/curve.js b/nerfstudio/viewer/app/src/modules/SidePanel/CameraPanel/curve.js index 4a6fa8608..c5cd68676 100644 --- a/nerfstudio/viewer/app/src/modules/SidePanel/CameraPanel/curve.js +++ b/nerfstudio/viewer/app/src/modules/SidePanel/CameraPanel/curve.js @@ -60,6 +60,9 @@ export function get_curve_object_from_cameras( export function get_transform_matrix(position, lookat, up) { // normalize the vectors lookat.normalize(); + // make up orthogonal to lookat + const up_proj = lookat.clone().multiplyScalar(up.dot(lookat)); + up.sub(up_proj); up.normalize(); // create a copy of the vector up