Desarrollo de Videojuegos
Contenido del nivel y
programación de la dinámica
Simulación física
●¿Cómo sé si el avatar del jugador ha cogido
un potenciador, o si debe caerse porque no
apoya en el suelo, o si está a 2m de la pared?
...
Simulación física 2
Motivación
●Para un juego es casi tan importante
simular física como simular luz
●Unreal usa su propio sistema optimizado
Chaos Physics (antes NVIDIA PhysX)
○Detección de colisiones con precisión, interacción física entre varios
objetos, especialmente destrucción masiva dinámica, tejidos,
cabellos, fluidos, partículas, vehículos...
Simulación física 3
Motivación
●El concepto de colisión es de los aspectos
más importantes a conocer de Unreal
Engine, junto a sus posibles respuestas y las
configuraciones preestablecidas existentes
Simulación física 4
Colisión
Simulación física 5
Colisiones y proyecciones
https://docs.unrealengine.com/en-US/Engine/Physics/Collision/Overview/index.html
●Toda malla tiene colisión compleja (sus
propios tris) y puede tener una simple
○Lo habitual es preguntar por consultas de colisión
simples, por eso esta se puede autogenerar o usar
la colisión compleja como si fuera la simple
Simulación física 6
Formas de colisión
●Un actor que colisiona tiene volumen de
colisión y “tipo”/canal de objeto
●Hay varias respuestas según el otro “tipo”
de objeto con el que colisiona:
○Bloquear a ese otro objeto
■Chocar incluso si alguno está en movimiento
○Solaparse con ese otro objeto
○Ignorarlo por completo (parece solapamiento, pero
es no se puede producir nigún evento)
Simulación física 7
Respuestas a la colisión
COLLISION RESPONSES
●La proyección de rayos es como la colisión:
cada proyección tiene su “tipo”/canal
●Luego cada actor define su respuesta
a dicha proyección
○¡Técnica habitual para
predecir colisiones!
Simulación física 8
Respuestas a la proyección
https://docs.unrealengine.com/en-US/Engine/Physics/Tracing/index.html
TRACE RESPONSES
●Sólo hay colisión si se activan las colisiones
○Hay dos tipos: Colisión de consultas espaciales
(trazas, barridos y solapamientos) y colisión de
simulación física (cuerpos rígidos y restricciones)
●Sólo hay bloqueo si los dos actores se
bloquean entre sí
○Para recibir (muchos) eventos simulando física,
activa Simulation Generates Hit Events en el actor
●Sólo hay solapamiento si los dos se solapan
entre sí (o uno bloquea y otro solapa)
○Activa Generate Overlap Events en el actor donde
quieras recibir el evento
●En la web encontramos estas interacciones
comunes, cómo crear formas de colisión y
configuraciones preestablecidas
Simulación física 15
Configuraciones preestablecidas
https://docs.unrealengine.com/en-US/Engine/Physics/Collision/HowTo/index.html
●Todas las propiedades
que podemos elegir,
también para crear
configuraciones ad hoc
○Indicando una a una
las posibles interacciones
con objetos de todo tipo
Simulación física 16
Configuraciones preestablecidas
https://docs.unrealengine.com/en-US/Engine/Physics/Collision/Reference/index.html
●Hasta 18 canales, sean de objeto o de traza
Simulación física 17
Canales de colisión
●Toda la física la simula Unreal, pero tú
puedes definir cuerpos físicos, establecer
restricciones a los movimientos, etc.
Simulación física 18
Simulación física
https://docs.unrealengine.com/en-US/Engine/Physics/Constraints/ConstraintsBlueprints/index.html
●Si un actor es móvil y tiene colisión simple…
se puede activar Simulate Physics y se
comportará como cuerpo físico
○Para simular
física en asuntos
más complejos,
como las mallas
esqueletales,
existe un editor
■Physics Asset
Tool (PhAT)
●¿Qué significa la expresión Generate
Overlap Events en la categoría de colisión?
A.Que el actor se solapa con otros actores
B.Que el actor puede solapar con otros actores
C.Que al solapar los dos actores reciben un evento
D.Que el motor llamará al evento Overlap del actor
Simulación física 21
Participación
●Son recursos que se crean
indicando fricción estática
y dinámica, restitución
(rebote), densidad, sonidos,
resistencia al impacto o la
destrucción…
●Estos se pueden añadir a
materiales normales (y
actuar así sobre superficies) o
directamente al colisionador
de un actor que simula física
Simulación física 22
Materiales físicos
https://docs.unrealengine.com/en-US/Engine/Physics/PhysicalMaterials/index.html
●El componente Blueprint Spline sirve para
representar estas curvas definidas a trozos,
y tiene múltiples usos posibles (ej. animar)
●El componente Blueprint Spline Mesh es
mucho más concreto: sirve para deformar
una malla estática según un trozo de curva
spline entre
dos puntos
A y B
Simulación física 23
Curvas Spline
●Una malla estática puede convertirse
fácilmente a malla destruible con un plugin
○El editor tiene un botón para ver la fractura
○Ahora hace falta un material externo y otro interno
Simulación física 24
Mallas destruibles
Federico Peinado (2019-2024)
www.federicopeinado.es
Críticas, dudas, sugerencias...
* Licencia sólo aplicable al texto original de estas diapositivas