Beaucoup d'amateurs s'étonnent du manque de créateurs de personnages pour TS20XX. Il est un fait que ce sont toujours un peu les mêmes personnages que l'on rencontre sur les quais ou dans les voitures sans compter le manque de variété sur d'autres catégories comme des campagnards, des sportifs, des enfants et des jeunes.Par ailleurs la documentation officielle est pratiquement muette sur le sujet des "Characters", ce qui n'est pas pour encourager la création. Alors que l'effort et le temps de création ne sont pas négligeables, il reste que les personnages sont quand même des éléments secondaires dans la scène : donc l'utilisateur attend d'abord des matériels ferroviaires réalistes plutôt qu'autre chose.
Créer des personnages qui ressemblent plus à des pantins et n'ont aucun caractère humain vont défigurer l'environnement de TS20xx qui par ailleurs est très réaliste. Des outils logiciels de création de personnages dédiés à l'animation existent depuis pas mal d'années : on peut citer Poser, Daz et aussi des greffons à 3DSMax comme Character Studio. Des standards se sont développés pour définir les squelettes d'animation (Rigs and Bones) des personnages auxquels on peut appliquer des séquences de mouvements pris en temps réel sur de vrais humains (bvh : biovision hierarchy).
Le développement du logiciel libre MakeHuman et la compatibilité de Blender avec le format bvh donne à l'amateur des possibilités intéressantes de création.
Ces outils sont la base du processus que je décris ci-dessous.
|
et voilà sous Blender en mode Pose |
C'est le cas le plus simple. Le principe est de préparer la morphologie du personnage sous MH, puis de l'exporter dans un format importé par Blender. Dans Blender il est alors possible de modifier l'attitude, des détails et des textures puis de l'exporter directement en format IGS à l'aide des plugins réalisés par Dom107 (v1.47 pour Blender 2.7x) disponibles sur Railsim-fr.com.Pour réaliser mes personnages, j'ai utilisé : MakeHuman "instable" 1.1.0 -20151009 (r1963) et Blender 2.63 complétés par le plugin MHX2 autant pour l'export depuis MH et l'import dans Blender. En effet la version "stable" MH 1.0.2 ne comporte pas les attitudes (poses) prédéfinies, ni les expressions du visage. Il y a par ailleurs des incompatibilités entre les versions MH 1.0x et MH 1.1, en particulier dans le format d'échange "mhx" qui n'est plus supporté par MH 1.1.
Il faut également avoir en tête de limiter la complexité des modèles créés : or MakeHuman est plutôt fait pour créer des modèles hyper-réalistes où le nombre de polygones très élevé est un gage de finesse. Comme il est maintenant possible, dans ses dernières versions, de contrôler cette complexité après avoir défini le physique du personnage, voilà où la choisir :
Avec ces options, la géométrie du corps pourra être limitée à 2000-3000 polygones. Un surcoût important est celui des habillages proposés un peu trop complexe pour nos objectifs. Pour rester en dessous des 5000 polygones par personnage habillé, il faudra créer soi-même des habits simplifiés ou rechercher sur le site de MakeHuman les habits proposés les plus simples.
On dispose maintenant d'un modèle complet que l'on va pouvoir exporter vers Blender. Faire "Save" puis "Export"
Maintenant, il faut lancer Blender. Si l'on veut modifier l'attitude du personnage il faut s'assurer que le plugin "Import mhx2" est activé de même qu'"Autorun script" dans les Préférences puis faire Import du modèle dans le format adéquat.
En fait le modèle est affiché dans la vue 3D sans matériaux (sans que les textures soient correctement affectées) mais le UVmapping n'étant pas perdu dans le transfert, il suffit de les réappliquer : cela ne pose pas de problème pour celui qui a déjà utilisé Blender. C'est aussi à cette étape que l'on va pouvoir modifier la taille des textures utilisées par le modèle en modifiant éventuellement les .png à transparence en .tga à canal alpha.
Si le choix a été fait d'utiliser une attitude préétablie dans MH, le modèle est disponible en format .obj lu par la plupart des modeleurs 3D. Pour ma part, le modèle .obj issu de MH est lu sans problème, à la bonne taille par 3DCrafter (en inversant l'orientation en X) avec ses textures correctement appliquées. Donc, une fois les textures reformattées et le shader utilisé indiqué, le transfert vers le format IGS est immédiat !
Sur les textures
Les modèles créés à l'aide de MH comportent plusieurs textures séparées : celle du corps (y compris tête), des yeux, de la chevelure éventuelle, des habits, etc... Dans notre objectif de réduire au maximum les ressources utilisées pour l'affichage, mon choix a été de regrouper autant que possible tout sur une même texture. Ci-dessous par exemple la texture d'une baigneuse où j'ai tout regroupé : corps, visage, maillot, yeux et lunettes.
Pour cela on ne modifie pas les UVmapping d'origine, on les affecte simplement au même fichier image et on les met à l'échelle. Les ajustements se font sur une texture de 2048x2048 et la texture finale du modèle sera réduite à 512x512.La tête est très souvent symétrique. S'il est nécessaire d'intégrer dans la texture du corps un autre élément comme des sandales, on peut alors ne retenir que la moitié de la texture du visage et ainsi de suite. La texture de la chevelure comporte des parties transparentes : si on la conserve, en particulier pour un personnage féminin, on va pouvoir diminuer sa taille à 128x128 sans que cela ne dégrade l'aspect général du modèle.
Un des points à retoucher est le visage, car par défaut les cils et sourcils sont représentés par des polygônes semi-transparents et leur absence sur le visage du modèle "low-poly" enlève du réalisme, surtout pour les femmes. La solution est donc de tracer ces éléments directement sur la texture comme ils le sont sur les personnages par défaut de RW/TS20xx comme on le voit ci-dessous.
L'animation de tels personnages ne doit pas se réduire à une animation de "pantins", c'est à dire à articuler en rotation des membres figés mais de modifier le maillage lui-même du modèle comme une peau qui se déforme....... à suivre
©
2009-2018 - PG - Mise à jour 21 décembre
2018