Saltar al contenido principal

Cámaras

Una cámara decide qué ve tu visitante y cómo se mueve por la escena. Configura su modo de control, su lente y vistas adicionales, como un minimapa.

Modos de control​

ModoEl visitante…
noneno puede mover la cámara; la mueves tú
orbitarrastra para girar alrededor de un punto y usa la rueda para acercarse
flyvuela libremente con el teclado y el ratón
firstPersonmira a su alrededor desde donde está, con el puntero capturado
locktiene el puntero capturado, y la cámara sigue a su objeto
Usa lock para un personaje

firstPerson separa la cámara de su objeto. Eso sirve para alguien que da vueltas alrededor de un modelo. No sirve para un personaje, porque la cámara deja de seguir el cuerpo.

lock también captura el puntero, pero mantiene la cámara unida al objeto. El movimiento del ratón llega a tu script. Úsalo para un juego en primera persona.

Ajustes de orbit​

orbit es el modo por defecto, porque encaja con los visores de producto. Es el que más ajustes tiene:

AjusteQué hace
targetel punto alrededor del que gira la cámara
enableRotate · enablePan · enableZoomqué gestos se permiten
minDistance · maxDistancecuánto se puede acercar y alejar el visitante
minPolarAngle · maxPolarAnglecuánto puede subir y bajar al girar
enableDamping · dampingFactorcuánto sigue deslizándose el movimiento al soltar
autoRotate · autoRotateSpeedun giro automático lento

Limita el ángulo polar en casi cualquier visor de producto. Si no, el visitante puede bajar por debajo del suelo y ver la escena desde abajo, y eso nunca queda bien, por buena que sea la iluminación.

Lente​

  • fov es el campo de visión en grados. Con 50 se ve natural. Los valores más bajos parecen un zoom y se ven más planos. Los más altos muestran más y se ven más espectaculares.
  • near y far fijan la distancia que se dibuja. Lo que está más cerca que near o más lejos que far se recorta.
Superficies que parpadean

Cuando far es enorme en comparación con near, las superficies que están muy juntas empiezan a parpadear. Esto se llama z-fighting. Para arreglarlo, sube primero near. Ayuda mucho más que bajar far.

Ajustes de fly​

En el modo fly, el visitante se mueve con el teclado. Puedes cambiar las teclas o usar una de las combinaciones de teclas con nombre del proyecto. La velocidad y un multiplicador de impulso fijan lo rápido que se mueve la cámara. Por defecto, el impulso se activa mientras se mantiene pulsada la tecla Shift.

Vistas adicionales​

Una vista adicional dibuja una segunda imagen desde una cámara, encima de la principal. Úsala para un minimapa, un retrovisor o un monitor de seguridad.

Añádela a un objeto que ya tenga una cámara y elige dónde se dibuja:

  • screen: un rectángulo en la pantalla. Su posición y su tamaño se indican como fracciones de la pantalla.
  • texture: una imagen que un material puede mostrar.

Con texture puedes crear un monitor que funciona. Dibuja la vista de una cámara en una textura y pon esa textura en un objeto pantalla de tu escena. La pantalla muestra entonces otra parte de tu mundo.

Las vistas adicionales se dibujan después de la imagen principal, en el orden en que las pones en la lista.

Cada vista adicional vuelve a dibujar toda la escena

Con dos monitores, la escena se dibuja tres veces. Usa vistas adicionales donde importen y desactívalas donde no.

Cambia de cámara desde un script​

Una escena se dibuja a través de una sola cámara cada vez. Un script puede comprobar qué cámara está activa y cambiar a otra:

ctx.camera.entity();
ctx.camera.setActive(securityCam);
ctx.camera.pose();

El transform de la cámara siempre decide dónde está la cámara. Escribe en él para moverla. En los modos orbit y firstPerson, los controles fijan la rotación, así que la rotación que escribas se sobrescribe. La posición que escribas sí se mantiene. Consulta la API de ctx.

Si los controles de juego manejan una cámara, el modo de control propio de esa cámara se ignora. Si no, los dos chocarían en cada fotograma.


Siguiente: Prefabs: reutiliza grupos de objetos y dibuja miles de copias.