docs: reorganizing Blender to Godot pipeline

This commit is contained in:
yannk 2023-01-18 11:28:13 +01:00
parent dad04254ad
commit 415576771b

View file

@ -135,16 +135,6 @@ Les fonctions doivent commencer par un verbe, voire un verbe avec un auxiliaire
Les variables et les classes commencent généralement plutôt par un nom.
###### Export glTF
Les objets à destination du moteur de jeu Godot doivent être exportés au format glTF. Il faut pour cela sélectionner tous les objets à exporter puis aller dans `File > Export > glTF`, avec les options suivantes à vérifier particulièrement :
- `Format > glTF Embeddded`.
- `Copyright : Khaganat`.
- On peut cocher `Remember export settings` pour ne pas avoir à revérifier à chaque export de ces modèles.
- `Include > Limit to Selected Objects` coché.
- `Data > Mesh > Apply modifiers` coché.
Les autres options par défaut conviennent.
## Le suivi de version avec Git
### Le dépôt principal
@ -327,29 +317,43 @@ Il peut comporter deux éléments :
Il nest pas utile de versionner le répertoire `.import/` situé à la racine dun projet car son contenu peut être généré depuis les fichiers originaux et leur fichier de configuration annexe (avec lextension `.import`, par exemple pour `icone.png` cela donne `icone.png.import`). Il convient donc dajouter le répertoire `.import/` dans le `.gitignore` comme cest proposé dans [la documentation Godot](https://docs.godotengine.org/en/latest/tutorials/assets_pipeline/import_process.html#files-generated).
## Le pipeline pour les objets animés
## Pipeline Blender vers Godot
### Export glTF par défaut (objets inanimés)
Les objets à destination du moteur de jeu Godot doivent être exportés au format glTF. Il faut pour cela sélectionner tous les objets à exporter puis aller dans `File > Export > glTF`, avec les options suivantes à vérifier particulièrement :
- `Format > glTF Embeddded`.
- `Copyright : Khaganat`.
- On peut cocher `Remember export settings` pour ne pas avoir à revérifier à chaque export de ces modèles.
- `Include > Limit to Selected Objects` coché.
- `Data > Mesh > Apply modifiers` coché.
Les autres options par défaut conviennent.
### Le pipeline pour les objets animés
Les objets animés avec une armature de déformation sont modélisés et conçus dans Blender, puis exportés vers Godot. Les principes appliqués proviennent des méthodes initiées par [Richard Lico](https://www.animationsherpa.com/), en particulier pour le développement du jeu [Moss](https://www.polyarcgames.com/moss/). Il sagit de différencier les ressources et les outils, et de ne pas se préoccuper de ces derniers tant quils permettent aux intervenants de travailler efficacement avec leurs outils propres et, surtout, façons personnelles. La documentation ne comporte que des instructions pour travailler sous Blender.
### Le mesh de base
#### Le mesh de base
Le mesh de base est sauvegardé dans son propre fichier, et sera inséré avec un `Link` depuis le fichier où se trouve son armature de déformation. Il doit se situer à la racine de la collection `Khanat`, avec un weight painting adapté à son armature de déformation.
### Larmature de déformation
#### Larmature de déformation
Larmature de déformation est conservée dans son propre fichier, sans rien dautre dans sa collection`Khanat`. Elle peut être ainsi être utilisée par plusieurs meshes en créant un `Link`.
### Les animations
#### Les animations
Les animations sont conservées uniquement sous format glTF, avec une seule animation par fichier.
#### Importer une animation dans Blender
##### Importer une animation dans Blender
Afin de travailler une animation, il est possible de la récupérer dans le dépôt, où elle est sous format glTF. Une fois le fichier à récupérer identifié, il faut limporter avec les préférences suivantes :
![Import dune animation glTF dans Blender](./img/blender_import_gltf_spec.png)
#### Éditer/ créer une animation dans Blender
##### Éditer/ créer une animation dans Blender
Une animation peut être éditée depuis nimporte quel fichier local, avec ses propre préférences de travail. Il suffit dy importer le mesh avec son armature de déformation, puis dappliquer à ce dernier le rig de contrôle souhaité qui permettra de procéder au travail de création/édition souhaité. Chaque animateur pourra recourir à la méthode quil préfère, comme le propose Richard Lico dans une conférence du GDC en 2018 ( [Animating Quill: Creating an Emotional Experience](https://www.youtube.com/watch?v=u3CzLVpuE4k&t=2011s)). Le studio [Dypsloom](https://dypsloom.com/) propose un addon spécialement développé pour ce genre de travail : [Rig On the Fly](https://gitlab.com/dypsloom/rigonthefly).
#### Sauvegarder une animation depuis Blender
##### Sauvegarder une animation depuis Blender
Pour sauvegarder lanimation créée pour une armature depuis Blender :
@ -362,7 +366,7 @@ Pour sauvegarder lanimation créée pour une armature depuis Blender :
Il est conseillé de se créer un `Operator preset` afin de ne renseigner ces éléments quune fois.
5. Indiquer le nom ainsi que le chemin de destination appropriés et valider (voir [Les conventions de nommage](#convention-de-nommage))
#### Importer les animations dans Godot en tant que ressources
##### Importer les animations dans Godot en tant que ressources
Il faut faire en sorte que lanimation devienne une ressource qui pourra être appelée dans un `Animation Player`. Travailer ainsi permettra de ne plus avoir à se soucier des scènes héritées, nimporte quel élément de ces dernières pouvant avoir été manipulée dans Godot depuis son importation. Appeler des ressources secondaires permet dajouter de nouveaux éléments importés qui se rapportent à dautres éléments anciennement ajoutés également depuis une source externe.
@ -371,7 +375,9 @@ Une fois les fichiers visibles dans larborescence de Godot (fichiers _.glb_)
1. double-cliquer dessus permettra dafficher la fenêtre des paramètres dimportations.
2. sélectionner à droite laction à importer (`bone_turn`dans lexemple ci-dessous) et paramétrer la partie `Save To File`en cochant `Enabled`et `Keep Custom Tracks`et en indiquant le chemin où la ressource sera enregistrée dans `Path`.
![Importer une animation dans Godot en tant que ressource](./img/import_godot.png)
#### Ajouter manuellement une animation dans une node AnimationPlayer sous Godot
##### Ajouter manuellement une animation dans une node AnimationPlayer sous Godot
Lorsquon a importé un certain nombre de ressources danimations qui peuvent concerner le même objet (typiquement les actions dun mesh avec son armature), il est possible de les ajouter à la node `AnimationPlayer`qui lanime :
1. sélectionner la node `AnimationPlayer`à compléter