JonJairo / osinadevs

Osiña Elkartea Developpers Landing Page
0 stars 0 forks source link

Desarrollar funciones lógicas para el vuelo del dron. #9

Open AlexandrUlyanov opened 4 months ago

AlexandrUlyanov commented 4 months ago
JonJairo commented 4 months ago

Shit Script 👍 ` const controls = new TrackballControls(camera, renderer.domElement); controls.minDistance = 1; // Distancia mínima controls.maxDistance = 50; // Distancia máxima

    // Para limitar la rotación, puedes agregar lógica personalizada en el bucle de animación
    controls.addEventListener('change', () => {
        // Aquí puedes agregar tu lógica para restringir la rotación
        // Por ejemplo, limitando los ángulos de rotación de la cámara
        const maxPolarAngle = Math.PI / 2;
        const minPolarAngle = 0;

        const spherical = new THREE.Spherical().setFromVector3(camera.position.clone().sub(controls.target));

        if (spherical.phi > maxPolarAngle) spherical.phi = maxPolarAngle;
        if (spherical.phi < minPolarAngle) spherical.phi = minPolarAngle;

        camera.position.setFromSpherical(spherical).add(controls.target);

          // Asegura que la cámara no se incline a la derecha o izquierda
        const up = new THREE.Vector3(0, 1, 0);
        camera.up.copy(up);
        camera.lookAt(controls.target); // Siempre apunta al target

        // Restricción adicional para mantener la orientación vertical
        const quaternion = new THREE.Quaternion();
        quaternion.setFromUnitVectors(camera.up, new THREE.Vector3(0, 1, 0));
        camera.applyQuaternion(quaternion);
    });

    // Actualizar los controles
    controls.update();

    controls.enableDamping = true; // Habilitar amortiguación (suaviza la rotación)
    controls.dampingFactor = 0.05; // Factor de amortiguación
    controls.screenSpacePanning = true; // Habilitar paneo en el espacio de la pantalla

    // Configuración de los botones del ratón
    controls.mouseButtons = {
      LEFT: THREE.MOUSE.ROTATE,
      MIDDLE: THREE.MOUSE.DOLLY,
      RIGHT: THREE.MOUSE.PAN,`
JonJairo commented 4 months ago

Working on it rigth now

JonJairo commented 4 months ago

Semi closed

JonJairo commented 4 months ago

Falta enseñaarlo