Saltar al contenido principal

Física

La física hace que los objetos caigan, choquen y reboten. Aquí verás qué es sólido, de dónde salen las formas de colisión y cómo mover un objeto con física.

Casi todo funciona solo. El suelo es sólido sin configurar nada, y los objetos que pones como dinámicos caen.

Qué cuenta como sólido​

Un objeto es sólido si le has dado un cuerpo rígido. También es sólido si tiene una forma y no forma ya parte de un cuerpo más arriba en el árbol. Por eso el suelo te frena: porque es un suelo. No tienes que marcarlo.

Comprueba un objeto así:

El objeto tiene…Resultado
un cuerpo rígidoes un cuerpo propio
un cuerpo rígido en Noneaquí no hay nada sólido, tampoco sus hijos
un colisionador, aunque sea invisiblesólido
geometría, y es visiblesólido
geometría, pero está ocultono es sólido
nada de lo anterior (un grupo, una luz)no es sólido

De aquí salen dos reglas útiles:

  • Un colisionador sigue siendo sólido aunque sea invisible. Así se crea una pared invisible: añade un colisionador y ninguna geometría. Los visitantes chocan con ella, pero no ven nada.
  • La geometría solo es sólida mientras es visible. Si ocultas una forma decorativa, también deja de bloquear cosas.
Ocultar parte de un cuerpo no la quita

Cuando una forma se ha unido a un cuerpo más grande, se queda en él aunque la ocultes. Para sacarla, elimina el objeto o pon su cuerpo rígido en None.

Formas de colisión​

Si un objeto tiene colisionador, la física lo usa. Si no, el motor crea una forma a partir de la geometría:

GeometríaForma de colisión
caja, esfera, cilindro, cápsula, conola forma equivalente
los tres poliedrosuna forma exterior exacta
plano, círculo, anillo, triángulouna lámina fina, sólida por los dos lados
toroun anillo aproximado
extrusión, tornouna forma que sigue la malla exactamente
un modelo 3D importadoninguna: sigue leyendo
Los modelos importados no son sólidos sin colisionador

Es la sorpresa más habitual con la física. Pones un modelo GLB en una escena, lo haces dinámico y atraviesa el mundo. Añádele un colisionador y se comporta bien. Una caja o una cápsula casi siempre es la mejor opción.

Usa formas de malla exactas solo para lo que nunca se mueve

Una forma de malla (de una extrusión, un torno o una geometría importada) sirve para un suelo o una pared estáticos. En un objeto que se mueve, atraviesa cosas y tiembla. Usa en su lugar una caja, una esfera, una cápsula o un cilindro. Las formas simples también son mucho más rápidas.

Si escalas un objeto, también se escala su forma de colisión.

Mueve un objeto con física​

Cambiar la posición de un cuerpo dinámico no hace nada

La física controla dónde está un cuerpo dinámico. Sobrescribe tu cambio en el siguiente paso, así que parece que se ha ignorado.

  • Para empujar el cuerpo, usa un impulso o una fuerza.
  • Para ponerlo en un sitio, usa un teletransporte: para reapariciones, puntos de control o volver al inicio.

En un script, usa ctx.physics.teleport(...) y ctx.physics.applyImpulse(...). Consulta la referencia de ctx. Para un personaje que camina, usa los controles de juego. Se encargan de todo esto por ti.

Leer a qué velocidad se mueve un objeto cuesta poco, pero el valor va más o menos un fotograma por detrás. Sirve para comprobar si se mueve o no, pero no para cálculos exactos.

Ajustes del mundo​

La gravedad, el rozamiento por defecto, el rebote y la calidad del solver se fijan para el proyecto. Puedes cambiarlos en cada espacio. Los cambios se aplican al momento, sin reiniciar.

Cada cuerpo puede tener su propio rozamiento y su propio rebote. Si no los tocas, el cuerpo usa los ajustes del mundo.

Colisiones​

Cuando dos objetos se tocan, los dos reciben un evento on-collide y cada uno sabe con qué ha chocado. En el evento, puedes limitarlo a objetos concretos o dejarlo abierto a cualquier objeto.

Las colisiones no suben a los padres

Un toque en la pantalla sube hasta los objetos padre, pero una colisión no. Solo se dispara en los objetos que se han tocado de verdad. Pon el evento en el objeto que choca.

Dónde funciona la física​

  • En el navegador: sí.
  • En la app de AR Clip (móvil): sí.
  • En el editor: no. Nada cae mientras trabajas.

Cuando tu proyecto se ejecuta, la física solo arranca si una escena la necesita. Una escena la necesita cuando tiene algo dinámico o cinemático, controles de juego, o un cuerpo más un script. Una escena que solo tiene objetos estáticos no necesita la física, así que se abre más rápido.

Si un script crea una pelota a mitad de la sesión, la física arranca en ese momento.


Siguiente: Luces: tipos de luz y qué cambia de forma suave en las transiciones.