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

Static Meshes

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

In nanos world Static Meshes are mainly used for Props and StaticMesh entities.

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

Please refer to Unreal Engine Static Mesh Documentation for more information on how to import a .FBX into Unreal, how to optimize it and so on. 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

Prerequisites

Before proceeding, please make sure you read Creating & Importing Assets Guide.

For this example, we are going to import this Money Set meshes into nanos world. Nous l’avons téléchargé et extrait, et nous avons identifié les fichiers .FBX et .PNG à importer.

The first step is creating a new folder at the root of your Assets Development Kit Project, we will call it 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. For that, we can just drag'n drop them inside our money-pack/ folder:

It is good practice to rename the files you imported, so we renamed it to PascalCase with T_ prefix:

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. Also it's smart to select "Combine Meshes" (under Mesh -> Advanced) to merge all meshes inside that .FBXs into an unique StaticMesh.

tip

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

tip

After imported, we renamed it to SM_MoneyStack as well.

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 uses PBR which means we can set lots of parameters to make the Material look like as much realistic as we desire!

Also, some meshes come with other Textures besides the base color as well, for example Normal Maps, Metallic and Specular, which you can plug into your Material to make the PBR complete!

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 ». For more information please refer o Unreal Official Documentation.

Et maintenant, il possède des collisions ! (If you don't see it, press Show -> Simple Collision to display the green wireframe around it).

Additional Tips

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

Physical Materials are used to define the response of a physical object when interacting with the world. 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.

For that you just need to open your material and select one of the (included in the ADK) Physical Materials, they are the ones initiated by 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

Level of Details (LODs) are the way Unreal automatically improves the performance for distant objects. Unreal fournit un outil simple permettant de générer automatiquement des LODs pour vos Static Meshes.

For that, open your Static Mesh and in Details panel search for Lod Settings -> Number of LODs. 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

Thumbnails are conventionally used on Sandbox game-mode to display assets properly on it's Spawn Menu.

For that to work, you just need to take pictures of your meshes and put the .JPG with the exact asset name inside a Thumbnails/ folder at the root of your Asset Pack.

You can use the ADK Thumbnail Generator to generate them for you! For that open the ThumbnailGenerator map:

Press Play and configure the settings. In Search Folder you must set the folder of your asset pack: money-pack and in Output Folder you set the full path of the folder you want to export it, e.g. D:/money-pack/Thumbnails.

Et appuyez sur « Generate » ! If you go to your output folder you will find all .JPG generated for your 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 ! Please refer to Exporting & Cooking your Assets docs page before proceeding.

Configuration du Asset Pack

After you cooked your assets and copied the generated folder into your server's Assets/ directory. Il est temps de configurer le Asset Pack ! For that please refer to Configuring your Assets.toml docs page before proceeding.

Now that you created your Assets.toml and configured the unreal settings, make sure you set up your Static Meshes properly in the [assets.static_meshes] category, like that:

# 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 !

After your configured your Assets.toml, it's time to test it!

Open nanos world, start a new game on Sandbox and add your new created Asset Pack to the assets list to be loaded:

When you hop in, open the Spawn Menu, under Props -> All Props you will find your static meshes in there!

And voila! Vos toutes nouvelles static meshes que vous venez d’importer !