🚀 Auto-deploy: melhoria no snap e medição AR em 28/05/2026 21:40:54
This commit is contained in:
+15
-3
@@ -233,7 +233,19 @@ function XRModel({ sceneModel }: { sceneModel: import('@/stores/useModelStore').
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
|
||||
// Calibração XR: captura normal da face do modelo em espaço de mundo.
|
||||
// Calibração do Grid em AR (clonando os mesmos princípios do modo viewer)
|
||||
const gridCalibMode = useModelStore.getState().gridCalibMode;
|
||||
if (gridCalibMode && e.point) {
|
||||
useModelStore.setState({
|
||||
gridY: e.point.y - 0.001,
|
||||
gridAutoFollow: false,
|
||||
gridCalibMode: false,
|
||||
showGrid: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Calibração XR da Peça: captura normal da face do modelo em espaço de mundo.
|
||||
if (
|
||||
xrCalibration.modelId === sceneModel.id &&
|
||||
(xrCalibration.step === 'await-model-1' || xrCalibration.step === 'await-model-2' || xrCalibration.step === 'await-model-3') &&
|
||||
@@ -328,8 +340,8 @@ function ControllerFineTuning({ freeMove }: { freeMove: boolean }) {
|
||||
for (const source of inputSources) {
|
||||
const gp = source.gamepad;
|
||||
if (!gp) continue;
|
||||
const gripBtn = gp.buttons[2];
|
||||
const trigBtn = gp.buttons[1];
|
||||
const trigBtn = gp.buttons[0];
|
||||
const gripBtn = gp.buttons[1];
|
||||
const gripVal = gripBtn ? (gripBtn.value || (gripBtn.pressed ? 1 : 0)) : 0;
|
||||
if (gripBtn?.pressed) gripHeld = true;
|
||||
if (gripVal > 0.3) anyGripHeld = true; // matches grab hysteresis OFF
|
||||
|
||||
Reference in New Issue
Block a user