La physique dans l'Unreal Editor pour Fortnite (UEFN) simule les effets des forces physiques dans les collisions, les explosions et le mouvement des objets, entre autres. Les simulations calculent la vitesse d'accélération d'un objet lorsqu'il tombe, ou la manière dont deux objets interagissent lorsqu'ils entrent en collision.
La physique dans l'UEFN est désormais disponible en version bêta. Vous pouvez maintenant publier des projets utilisant la physique, mais sachez que ces outils sont fréquemment mis à jour, ce qui risque d'avoir un impact sur vos îles dans l'UEFN. Consultez la
Ce que vous pouvez faire
Les joueurs peuvent interagir avec des objets physiques :
en se déplaçant vers eux avec un personnage basé sur la physique ;
en les frappant avec une pioche ou en leur tirant dessus avec une arme, notamment en lançant des grenades ;
en utilisant un déplaceur d'accessoire pour les déplacer ou les faire pivoter ;
en utilisant des appareils.
Appareils basés sur la physique
Les appareils suivants ont été testés avec des accessoires physiques et fonctionnent de manière fiable :
Activer la physique
Pour activer cette fonctionnalité bêta, vous devez activer la physique dans les paramètres du projet :
Ouvrez l'UEFN et sélectionnez un nouveau projet ou un projet existant.
Accédez à Projet > Paramètres du projet.
Sous Accès bêta, cochez la case en regard de Physique.
Notez que la physique n'est actuellement prise en charge pour aucun modèle de marque.
Mouvement physique
Dans l'environnement du jeu, les objets physiques sont soumis aux mêmes forces naturelles décrites dans la deuxième loi de Newton : F=ma, où la force (F) résultante d'un objet est égale au produit de sa masse (m) et de son accélération (a).
Force
La force maintient, modifie ou déforme le mouvement d'un corps. Dans les jeux vidéo, cette force peut être appliquée aux personnages et aux objets par le biais d'armes, d'autres objets en mouvement, d'appareils, d'explosions et de nombreux autres éléments.
Masse
Propriété fondamentale de toute matière, la masse correspond à la résistance d'un corps de matière à un changement de vitesse ou de position lorsqu'une force est exercée sur celui-ci. Plus la masse est importante, moins une force peut exercer de changement. Dans un jeu, les objets dotés de propriétés physiques ont une masse définie. Les objets de grande masse sont plus difficiles à déplacer et parcourent une distance plus courte après avoir interagi avec un autre objet.
Accélération
L'accélération correspond à la rapidité à laquelle la vitesse d'un corps change lorsque celui-ci se déplace. Ceci est évalué en termes de vitesse et de direction. Dans un jeu, il peut s'agir de la vitesse qu'un champignon de flipper donne à un objet qui interagit avec lui.
Ajouter la physique aux accessoires
Tous les accessoires Fortnite d'un projet utilisant la physique peuvent être configurés pour simuler la physique. Pour ce faire, vous devez ajouter un composant physique à l'accessoire :
Dans le panneau Détails de l'accessoire, cliquez sur + Ajouter et choisissez Physique Fort.
Cochez la case Simuler la physique et modifiez les autres paramètres comme bon vous semble.
Pour en savoir plus sur l'importation d'un accessoire personnalisé et l'ajout de collision, consultez le tutoriel Créer un jeu de football.
Options utilisateur
La masse vous permet de déterminer le poids de l'accessoire. Plus l'accessoire est lourd, moins une force aura d'impact sur lui. Dans l'exemple ci-dessous, la caisse de gauche a une masse de 100, tandis que celle de droite a une masse de 25.
L'option Activer la gravité détermine si la force de gravité doit être appliquée à l'objet.
L'option Démarrer éveillé vous permet de choisir si l'accessoire physique est simulé au démarrage du jeu ou lorsqu'un objet entre en contact avec lui. Si vous désactivez cette option, l'objet physique n'est pas simulé tant qu'une force n'est pas exercée dessus. Dans l'exemple ci-dessous, l'option Démarrer éveillé est désactivée sur toutes les caisses ; celles-ci ne tombent donc qu'après avoir été touchées.
L'option Amortissement linéaire ralentit les objets dans le temps. Dans l'exemple ci-dessous, le ballon de gauche a une valeur d'amortissement linéaire de 0,5 et le ballon de droite de 0,01.
L'option Amortissement angulaire ralentit la rotation des objets dans le temps. Pour en savoir plus à ce sujet, consultez la rubrique Amortissement physique dans la documentation de l'Unreal Engine. Dans l'exemple ci-dessous, le triangle de gauche a une valeur d'amortissement angulaire de 0,6 et le triangle de droite de 0,1.
L'option Impulsion sur multiplicateur de dégâts vous permet de multiplier la force exercée sur un objet lorsque celui-ci est touché. La valeur par défaut est 1, mais vous pouvez sélectionner toute autre valeur comprise entre -5 et 5. Dans l'exemple ci-dessous, le ballon de football de gauche a un multiplicateur de 1,0 et celui de droite de 3,0.
Ballon de football par tinmanjuggernaut sur Sketchfab, utilisé sous la licence standard Sketchfab.
Contraintes
Vous pouvez ajouter des contraintes de rotation et de translation à vos accessoires pour les empêcher de se déplacer le long de certains axes. Pour en savoir plus sur les contraintes, consultez la rubrique Référence des contraintes physiques dans la documentation de l'Unreal Engine.
FAQ
Voici une liste non exhaustive des questions susceptibles de se poser lors du test de cette nouvelle fonctionnalité. Si votre question ne figure pas dans cette section, pensez à consulter les dernières mises à jour et notes de version de l'écosystème Fortnite.
Est-il possible d'activer la physique sur un projet existant ?
Oui. Bien que vous puissiez activer la physique sur vos projets existants, il est recommandé d'effectuer une copie de votre projet au préalable. Vous ne pouvez pas publier un projet qui utilise une fonctionnalité en phase expérimentale. Vous pouvez désactiver la fonctionnalité de physique en phase expérimentale à tout moment et publier votre île.
Les objets animés avec Sequencer peuvent-ils interagir avec les objets physiques ?
Non. Les objets séquencés s'exécutent sur le thread de jeu du serveur, qui possède des propriétés différentes de celles du thread physique et n'applique pas les modifications requises pour l'interaction physique. En un mot, Sequencer n'est pas destiné à être utilisé conjointement avec la physique. Nous vous recommandons d'utiliser le déplaceur d'accessoire. Les accessoires déplacés à l'aide du déplaceur d'accessoire peuvent interagir avec les objets physiques.
Tous les modes de mouvement des joueurs sont-ils disponibles avec la physique ?
Les mouvements de base du joueur, par exemple marcher, courir, sprinter, sauter en sprintant, tomber, nager, s'accroupir, marcher accroupi, sauter accroupi, planer et plonger en chute libre, doivent fonctionner comme prévu. Cependant, l'escalade, les glissades, les passages en tyrolienne, les rails de glisse et le K.-O. ne sont pas actuellement disponibles.
Toutes les armes sont-elles prises en charge ?
La plupart des armes sont prises en charge par la version bêta de la physique. Des armes supplémentaires compatibles avec la physique seront progressivement ajoutées à la trousse à outils.
Les véhicules fonctionneront-ils sur mon île basée sur la physique ?
Les véhicules ne sont pas pris en charge et créent de l'instabilité sur votre île. Nous vous recommandons de ne pas les utiliser, car ils pourraient rompre certaines parties de votre jeu.
Combien d'objets physiques puis-je avoir dans mon projet ?
Vous devez surveiller le nombre d'objets physiques dans votre projet. Le fait d'utiliser plus de 50 formes simples simulées physiquement (boîtes ou sphères) peut nuire aux performances de l'île. Les formes physiques complexes ont un impact plus important que les formes simples sur les performances. Vous pouvez obtenir des résultats différents en fonction de la complexité de votre environnement et des objets qui sont simulés.
La physique fonctionne-t-elle dans le mode Créatif de Fortnite ?
À l'heure actuelle, seul l'UEFN prend en charge la physique.
API de l'appareil Volume
Pour détecter la présence d'un objet physique, deux événements ont été ajoutés à l'appareil : OnPhysicsEnter et OnPhysicsExit.
La charge utile de ces événements est Creative_Prop.
API Verse
Les événements PropEntersEvent et PropExitsEvent ont été ajoutés. Vous pouvez utiliser l'extrait de code suivant pour déterminer le moment où les agents entrent et sortent d'un volume :
volume_device<public> := class<concrete><final>(creative_device_base):
PropEntersEvent<public>:listenable(creative_prop) = external {}
PropExitsEvent<public>:listenable(creative_prop) = external {}