Changes
Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com>
This commit is contained in:
@@ -164,7 +164,11 @@ export function pushModelFaceNormal(normalWorld: THREE.Vector3, calGroupWorldQua
|
|||||||
const cubeWorld = calibration.pendingCube;
|
const cubeWorld = calibration.pendingCube;
|
||||||
const inv = calGroupWorldQuat.clone().invert();
|
const inv = calGroupWorldQuat.clone().invert();
|
||||||
const cubeLocal = cubeWorld.clone().applyQuaternion(inv).normalize();
|
const cubeLocal = cubeWorld.clone().applyQuaternion(inv).normalize();
|
||||||
const modelLocal = normalWorld.clone().applyQuaternion(inv).normalize();
|
const modelLocalRaw = normalWorld.clone().applyQuaternion(inv).normalize();
|
||||||
|
// Snap near-axial picks (chamfered or slightly off faces) to the closest
|
||||||
|
// principal axis. This dramatically improves robustness when picking faces
|
||||||
|
// from an orthographic head-on view.
|
||||||
|
const modelLocal = snapToPrincipalAxis(modelLocalRaw, 12);
|
||||||
calibration.pairs.push({ cube: cubeLocal, model: modelLocal });
|
calibration.pairs.push({ cube: cubeLocal, model: modelLocal });
|
||||||
calibration.pendingCube = null;
|
calibration.pendingCube = null;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user