Passer au contenu principal
Version: latest - a1.166.0 ⚖️

Static Meshes

Comment exporter et utiliser des Static Meshes depuis Unreal Engine dans nanos world

Dans nanos world, les Static Meshes servent surtout aux entités Props et StaticMesh.

Ce guide couvrira tous les aspects de l’importation, la configuration des matériaux, la mise en place des collisions et la création de miniatures pour les Static Meshes. Ainsi que quelques conseils supplémentaires pour les améliorer davantage.

info

Consultez la documentation des Static Meshes d'Unreal Engine pour savoir comment importer un .FBX dans Unreal, l'optimiser, etc. Il existe également des milliers de tutoriels sur l’importation d’un fichier .FBX depuis Blender (ou un autre outil de modélisation) vers Unreal Engine.

Commencer​

Prérequis

Avant de continuer, assurez-vous d'avoir lu le guide Créer et importer des assets.

Pour cet exemple, nous allons importer les meshes de ce Money Set dans nanos world. Nous l’avons téléchargé et extrait, et nous avons identifié les fichiers .FBX et .PNG à importer.

Commencez par créer un nouveau dossier à la racine de votre projet Assets Development Kit, que nous appellerons money-pack/. Ce sera notre dossier de Asset Pack, tous les fichiers doivent être importés à l’intérieur de ce dossier :

Importation des textures​

Ensuite, importons les textures. Il suffit pour cela de les glisser-déposer dans notre dossier money-pack/ :

C'est une bonne pratique de renommer les fichiers importés : nous les avons donc renommés en PascalCase avec le préfixe T_ :

Importation des Static Meshes​

La deuxième étape consiste à importer les fichiers .FBX. Pour cela, nous pouvons également simplement les glisser-déposer dans notre dossier. Lorsque nous le faisons, une fenêtre contextuelle apparaît.

Faites attention à certains réglages ici : certaines meshes arrivent avec des tailles très petites ou très grandes, il faut donc les ajuster au moment de l’importation. Il est aussi judicieux de cocher "Combine Meshes" (dans Mesh -> Advanced) pour fusionner tous les meshes de ces .FBX en un seul StaticMesh.

tip

Dans notre cas, l’argent d’origine est petit, donc nous multiplions l’échelle par 10x.

tip

Une fois importé, nous l'avons aussi renommé SM_MoneyStack.

Configuration des matériaux​

Notez que certains matériaux ont été créés automatiquement. Si vous ouvrez votre Static Mesh, vous remarquerez qu’ils sont blancs.

Nous devons configurer les matériaux pour qu’ils utilisent les textures que nous avons importées précédemment !

tip

Certaines meshes, lors de l’importation, peuvent gérer automatiquement tous les liens entre les matériaux et les textures ! Cela dépend de la manière dont elles ont été créées et exportées depuis l’outil de modélisation.

Pour cela, ouvrons notre matériau et glissons la texture correspondante à l’intérieur :

Puis connectons la texture au pin Base Color :

tip

Vous pouvez également configurer les autres connecteurs du matériau. Unreal utilise le PBR : on peut régler beaucoup de paramètres pour rendre le matériau aussi réaliste qu'on le souhaite !

Certains meshes ont aussi d'autres textures en plus de la couleur de base, comme des Normal Maps, du Metallic ou du Specular, que vous pouvez brancher dans votre matériau pour un PBR complet !

Après avoir configuré tous les matériaux, notre mesh est maintenant entièrement coloré !

Configuration des collisions​

Certaines meshes ne disposent pas de collisions et nous devons les configurer manuellement. Comme notre mesh de monnaie est un cuboïde, il est facile d’y ajouter des collisions !

Pour cela, nous ouvrons l’onglet Collision et sélectionnons « Add Box Collision » afin d’ajouter automatiquement une collision de type boîte englobant entièrement la mesh.

tip

Vous pouvez supprimer toutes les collisions en cliquant sur « Remove Collision ». Pour plus d'informations, consultez la documentation officielle d'Unreal.

Et maintenant, il possède des collisions ! (Si vous ne la voyez pas, cliquez sur Show -> Simple Collision pour afficher le contour vert autour).

Conseils supplémentaires​

Une fois vos meshes créées, vous pouvez suivre les étapes suivantes pour les améliorer davantage grâce à ces conseils supplémentaires.

Définition du Physical Material​

Les Physical Materials définissent la réaction d'un objet physique quand il interagit avec le monde. En plus de cela, dans nanos world nous les utilisons pour définir les « sons d’impact » des objets, ce qui rend leur configuration simple et très pratique.

Il suffit d'ouvrir votre matériau et de choisir un des Physical Materials (inclus dans l'ADK), ceux qui commencent par PM_. Pour cet exemple, nous allons utiliser « Wood » :

Réduction de la taille des textures​

Les textures font partie des assets qui occupent le plus d’espace disque. La manière dont la compression d’Unreal gère cela fait que leur taille dépend de leurs dimensions, et il est judicieux de configurer vos textures ou même de limiter leurs dimensions afin de réduire leur taille sur le disque.

Comme vous pouvez le voir, notre texture de monnaie est vraiment grande (2048x2048), ce qui occupe jusqu’à 5 Mo sur le disque (et en RAM pendant le jeu) :

Comme notre objet est petit, nous pouvons limiter cette taille à 512x512 et la réduire à 380 Ko. C’est une réduction de plus de 90 % !

tip

Si vous avez des meshes plus grandes, il n’est pas recommandé de réduire leur taille, sinon le rendu de la mesh sera de mauvaise qualité.

Configuration des LODs​

Les niveaux de détail (LODs) permettent à Unreal d'améliorer automatiquement les performances pour les objets éloignés. Unreal fournit un outil simple permettant de générer automatiquement des LODs pour vos Static Meshes.

Pour cela, ouvrez votre Static Mesh et cherchez Lod Settings -> Number of LODs dans le panneau Details. Nous recommandons de le régler sur 3 :

De cette façon, Unreal génère automatiquement des LODs, qui sont utilisés en jeu pour réduire la qualité des meshes éloignées et améliorer les performances !

Génération des miniatures​

Par convention, les miniatures servent au game-mode Sandbox pour bien afficher les assets dans son menu d'apparition.

Pour cela, il suffit de prendre vos meshes en photo et de placer les .JPG, nommés exactement comme les assets, dans un dossier Thumbnails/ à la racine de votre Asset Pack.

Vous pouvez utiliser le Thumbnail Generator de l'ADK pour les générer à votre place ! Pour cela, ouvrez la map ThumbnailGenerator :

Cliquez sur Play et configurez les réglages. Dans Search Folder, indiquez le dossier de votre Asset Pack, money-pack, et dans Output Folder le chemin complet du dossier d'export, par ex. D:/money-pack/Thumbnails.

Et appuyez sur « Generate » ! Dans votre dossier de sortie, vous trouverez tous les .JPG générés pour vos assets :

Il ne vous reste plus qu’à copier ce dossier dans votre Asset Pack !

Exportation des assets​

Après avoir terminé toutes les étapes, vous pouvez les exporter vers nanos world ! Consultez la page Exporter et cooker vos assets avant de continuer.

Configuration du Asset Pack​

Une fois vos assets cookés et le dossier généré copié dans le dossier Assets/ de votre serveur. Il est temps de configurer le Asset Pack ! Pour cela, consultez la page Configurer votre Assets.toml avant de continuer.

Maintenant que votre Assets.toml est créé et les réglages Unreal configurés, déclarez correctement vos Static Meshes dans la catégorie [assets.static_meshes], comme ceci :

# static meshes
[assets.static_meshes]
SM_MoneyRoll = "SM_MoneyRoll"
SM_MoneyStack = "SM_MoneyStack"

De cette façon, nous pouvons les référencer via le scripting et également les tester dans le mode de jeu Sandbox !

C’est le moment de tester !​

Une fois votre Assets.toml configuré, place aux tests !

Ouvrez nanos world, lancez une nouvelle partie en Sandbox et ajoutez votre nouvel Asset Pack à la liste assets à charger :

Une fois en jeu, ouvrez le menu d'apparition : vos static meshes se trouvent dans Props -> All Props !

Et voilà ! Vos toutes nouvelles static meshes que vous venez d’importer !