鈿★笍 Limited Black Friday Deal
Get 50% off on the React Three Fiber Ultimate Course with the promo code ULTIMATE50
Buy Now
Fundamentals
Core
Master
Shaders
Controles
Drei proporciona un conjunto de controles 煤tiles para navegar en tu escena e interactuar con objetos. Vamos a descubrirlos.
Orbit Controls
Ya hemos usado el componente OrbitControls
en las lecciones anteriores para navegar en nuestra escena.
Aunque lo utilizamos sin ninguna props, proporciona opciones 煤tiles para personalizar su comportamiento.
Primero, puedes decidir habilitar o deshabilitar caracter铆sticas con las siguientes props booleanas:
enableZoom
enableRotate
enablePan
Por ejemplo, si tu experiencia se basa en el desplazamiento, puedes desactivar el zoom para evitar conflictos cuando el usuario usa la rueda del rat贸n.
Luego, puedes cambiar la velocidad de los controles con:
zoomSpeed
rotateSpeed
panSpeed
Finalmente, puedes cambiar los valores m铆nimos y m谩ximos para el zoom:
minZoom
maxZoom
...las rotaciones superior e inferior:
minPolarAngle
maxPolarAngle
...las rotaciones izquierda y derecha:
minAzimuthAngle
maxAzimuthAngle
...y el pan con:
minDistance
maxDistance
Si ejecutas el proyecto de inicio, puedes ver que podemos alcanzar posiciones que parecen err贸neas. (debajo del suelo, a trav茅s del mesh, paneo que no muestra el faro, etc.)
Vamos a combinar algunas de estas props para crear una experiencia m谩s restringida:
<OrbitControls enablePan={false} maxPolarAngle={Math.PI / 2} minAzimuthAngle={-Math.PI / 2} maxAzimuthAngle={Math.PI / 2} minDistance={3} maxDistance={10} />
Observa c贸mo ahora la c谩mara est谩 limitada para siempre mostrar el faro de una manera atractiva. Evita que el usuario vea a trav茅s de los objetos y por debajo del suelo.
Esos peque帽os detalles pueden hacer una gran diferencia en la calidad de tus experiencias.
Como el componente drei es solo un envoltorio alrededor de la clase OrbitControls de three.js consulta la documentaci贸n de three.js para ver todas las props disponibles.
Controles de Presentaci贸n
PresentationControls
en oposici贸n a OrbitControls
interact煤a con el contenido de los objetos envueltos, no con la c谩mara. Aparte de eso, son muy similares.
Aqu铆 est谩 el c贸digo de ejemplo de la documentaci贸n de drei
End of lesson preview
To get access to the entire lesson, you need to purchase the course.