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
| Modo | El visitante… |
|---|---|
none | no puede mover la cámara; la mueves tú |
orbit | arrastra para girar alrededor de un punto y usa la rueda para acercarse |
fly | vuela libremente con el teclado y el ratón |
firstPerson | mira a su alrededor desde donde está, con el puntero capturado |
lock | tiene el puntero capturado, y la cámara sigue a su objeto |
lock para un personajefirstPerson 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:
| Ajuste | Qué hace |
|---|---|
target | el punto alrededor del que gira la cámara |
enableRotate · enablePan · enableZoom | qué gestos se permiten |
minDistance · maxDistance | cuánto se puede acercar y alejar el visitante |
minPolarAngle · maxPolarAngle | cuánto puede subir y bajar al girar |
enableDamping · dampingFactor | cuánto sigue deslizándose el movimiento al soltar |
autoRotate · autoRotateSpeed | un 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
foves 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.nearyfarfijan la distancia que se dibuja. Lo que está más cerca quenearo más lejos quefarse recorta.
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.
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.