La física en Unreal Editor para Fortnite (UEFN) simula los efectos de las fuerzas físicas en cosas como colisiones, explosiones y el movimiento de los objetos. Las simulaciones calculan qué tan rápido se acelera algo al caer o cómo interactúa un objeto con otro cuando colisionan.
Ya está disponible la versión Beta de la física en UEFN. Ahora puedes publicar proyectos con física, pero ten en cuenta que las herramientas aún se actualizan con frecuencia, lo que puede afectar tus islas de UEFN. Consulta la lista de problemas conocidos en las notas de la versión 37.40.
Qué puedes hacer
Los jugadores pueden interactuar con objetos de física de la siguiente manera:
Avanzar hacia ellos con un personaje de jugador basado en la física.
Golpearlos con un pico o dispararles con un arma, incluso lanzar granadas.
Cómo usar un movedor de objetos para moverlos o rotarlos.
Cómo usar dispositivos.
Dispositivos con física habilitada
Los siguientes dispositivos se probaron con utilería de física y funcionan correctamente:
Habilitar física
Para activar esta función Beta, debes habilitar la física en la configuración del proyecto:
Abre UEFN y selecciona un proyecto nuevo o existente.
Ve a Proyecto > Configuración del proyecto.
En Acceso beta, marca la casilla junto a Física.
Ten en cuenta que la física actualmente no es compatible con ninguna plantilla de marca.
Movimiento físico
En el entorno del juego, los objetos físicos están sujetos a las mismas fuerzas naturales descritas en la segunda ley del movimiento de Newton: F = ma, donde Fuerza (F) equivale a Masa (m) x Aceleración (a).
Fuerza
La fuerza mantiene, altera o distorsiona el movimiento de un cuerpo. En los videojuegos, esta fuerza puede aplicarse a personajes y objetos mediante armas, otros objetos en movimiento, dispositivos, explosiones, etc.
Masa
La masa es una propiedad fundamental de toda la materia, y es cuánto se resiste un cuerpo de materia a un cambio en su velocidad o posición cuando se aplica una fuerza. Cuanta más masa, menos cambio puede aplicar una fuerza. En un juego, los objetos con propiedades físicas tienen una masa definida. Los objetos con una gran cantidad de masa son más difíciles de mover y cubren menos distancia después de interactuar con otro objeto.
Aceleración
La aceleración es el ritmo al que cambia la velocidad de un cuerpo a medida que se mueve. Esto se evalúa en términos de velocidad y dirección. En un juego, puede ser la velocidad que un paragolpes de pinball da a un objeto que interactúa con él.
Añade física a las utilerías
Toda la utilería de Fortnite en un proyecto con física habilitada se puede definir para simular física. Para hacer esto, necesitas añadir un Physics Component a la utilería:
En el panel de detalles de la utilería, haz clic en + Añadir y elige Física de Fort.
Marca Simular física y modifica la otra configuración como mejor te parezca.
Obtén más información sobre cómo importar un objeto personalizado y añadir colisión en el tutorial Cómo crear un juego de fútbol.
Opciones de usuario
La masa te permite determinar el peso de la utilería. Cuanto más pesada sea la utilería, menor será el impacto de la fuerza sobre ella. En el siguiente ejemplo, la caja de la izquierda tiene una masa de 100, mientras que la de la derecha tiene una masa de 25.
Habilitar gravedad determina si el objeto debe tener aplicada la fuerza de gravedad.
Iniciar despierto te permite elegir si la utilería de física simula al inicio del juego o cuando un objeto entra en contacto con ella. Si no está seleccionada, el objeto de física no se simulará hasta que se le aplique una fuerza. En el siguiente ejemplo, las cajas tienen la opción Comenzar despierto desmarcada y solo caen después de recibir un golpe.
La amortiguación lineal ralentiza los objetos con el tiempo. En el ejemplo siguiente, el globo de la izquierda tiene un valor de amortiguación lineal de 0.5, mientras que, en el globo de la derecha, se estableció en 0.01.
La amortiguación angular ralentiza la rotación de los objetos con el tiempo. Para obtener más información sobre este tema, consulta Amortiguación de la física en la documentación de Unreal Engine. En el ejemplo siguiente, el triángulo izquierdo tiene un valor de amortiguación angular de 0.6 y, en el triángulo derecho, se estableció en 0.1.
El multiplicador de impulso al impactar te permite multiplicar la fuerza aplicada a un objeto cuando se golpea. El valor predeterminado es 1, pero se puede establecer en cualquier valor entre -5 y 5. En el ejemplo siguiente, el balón de fútbol de la izquierda tiene un multiplicador de 1.0, mientras que, en el de la derecha, se estableció en 3.0.
Balón de fútbol de tinmanjuggernaut en Sketchfab, utilizado bajo la licencia estándar de Sketchfab.
Restricciones
Puedes añadir restricciones de rotación y traslación a tus utilerías para evitar que se muevan a lo largo de ciertos ejes. Para obtener más información sobre las restricciones, consulta la Referencia de restricciones físicas en la documentación de Unreal Engine.
Preguntas frecuentes
La siguiente es una lista no exhaustiva de las preguntas que se esperan al probar esta nueva función. Si tu pregunta no aparece en esta sección, considera la posibilidad de revisar las notas de la versión y las actualizaciones del ecosistema de Fortnite más recientes.
¿Puedo habilitar la física en un proyecto existente?
Sí. La física puede habilitarse en tus proyectos existentes; sin embargo, se recomienda que hagas una copia de tu proyecto antes de activar la física. No puedes publicar un proyecto que utilice una función experimental. Puedes deshabilitar la función experimental de física en cualquier momento y publicar tu isla.
¿Pueden los objetos animados con sequencer interactuar con los objetos de física?
No. Los objetos secuenciados se ejecutan en el subproceso de juego del servidor, que tiene propiedades diferentes del subproceso de física y no promulga los cambios necesarios para la interacción física. Esencialmente, el sequencer no está diseñado para usarse junto con la física. Recomendamos usar el dispositivo movedor de utilería. Las utilerías que se mueven con el movedor de utilería pueden interactuar con los objetos físicos.
¿Todos los modos de movimiento de los jugadores están disponibles con física?
Los movimientos básicos del jugador, como caminar, correr, esprintar, saltar y esprintar, saltar, caer, nadar, agacharse, caminar agachado, saltar agachado, planear y saltar en paracaídas, deberían funcionar como se espera. Sin embargo, las funciones de trepar, deslizarse, desplazarse por una tirolesa, deslizarse por los rieles y descender pero no salir (DBNO) no están disponibles actualmente.
¿Todas las armas son compatibles?
La mayoría de las armas son compatibles con la versión Beta de física. A medida que el conjunto de herramientas se vuelve más sólido, habrá más armas disponibles para usar con la física.
¿Funcionarán los vehículos en mi isla con física habilitada?
Los vehículos no son compatibles y crean inestabilidad en tu isla. Recomendamos no usarlos, ya que pueden romper partes del juego.
¿Cuántos objetos de física puedo tener en mi proyecto?
Debes controlar la cantidad de objetos de física en tu proyecto. Si se superan las 50 formas simples simuladas físicamente (cajas o esferas), el rendimiento de la isla podría verse afectado. Las formas físicas complejas afectarán más al rendimiento que las formas simples. Podrías obtener resultados diferentes en función de la complejidad de tu entorno y de los objetos que simulas.
¿Funciona la física en el modo Creativo de Fortnite?
En este momento, la física solo está disponible para su uso con UEFN.
API del dispositivo de volumen
Para detectar la presencia de un objeto físico, se añadieron dos eventos al dispositivo: OnPhysicsEnter y OnPhysicsExit.
La carga útil de estos eventos es Creative_Prop.
API de Verse
Se añadieron PropEntersEvent y PropExitsEvent. El siguiente fragmento se puede utilizar para rastrear cuándo los agentes entran y salen de un volumen:
volume_device<public> := class<concrete><final>(creative_device_base):
PropEntersEvent<public>:listenable(creative_prop) = external {}
PropExitsEvent<public>:listenable(creative_prop) = external {}