No código-fonte dos controles de câmera, há um exemplo de deslocamento de visualização. Como isso pode ser implementado usando os controles de câmera encapsulados em '@react-three/drei'?
let offsetUpdated = false;
const viewOffset = new THREE.Vector2();
const cameraControls = new CameraControls( camera, renderer.domElement );
cameraControls._truckInternal = ( deltaX, deltaY ) => {
viewOffset.x += deltaX;
viewOffset.y += deltaY;
camera.setViewOffset(
width,
height,
viewOffset.x,
viewOffset.y,
width,
height,
);
camera.updateProjectionMatrix();
offsetUpdated = true;
}
a fonte do exemplo: ver código
demonstração ao vivo: ver demonstração
atualizar:
@Łukasz-daniel-mastalerz Muito obrigado! Seu código funcionou, mas há um problema estranho de sombreamento MeshReflectorMaterial
. Fiz um fork do seu código e adicionei mais objetos: demonstração da minha cena