World composition, suite et fin

J’utilise la tecnologie de World Composition dans Unreal pour construire un monde de grande taille. Le principe est, sur le papier, très simple : un niveau persistant qui ne contient que le ciel et la lumière du soleil renferme une infinité de sous-niveaux. Fort bien.

J’ai ma carte principale et je souhaite ajouter une seconde carte à côté de la première. Rien de plus simple : clic droit sur la carte dans l’écran de world composition et ajouter une carte à droite de la première. Nickel.

Ensuite je veux sculpter mon décor sur les deux cartes simultanément là où elles se rejoignent de manière que la transition de l’une à l’autre soit invisible, comme je l’ai vu faire dans les vidéos que j’ai regardées, dont la dernière par Epic durait 80 minutes, faut se les taper leurs vidéos…
Et là le souci survient, bête, insurmontable, le type de souci qui te donne envie de tout jeter par la fenêtre et d’aller jouer aux boules : je peux sculpter sur une carte, ou sur l’autre, mais pas sur les deux à la fois. Je ne vais quand même pas camoufler la couture avec des arbres et des herbes, si ?

Je mets mon problème sur le compte de mon projet que je viens pourtant d’entièrement reconstruire et je crée un projet vide de chez vide : même problème, je ne peux sculpter que sur une carte à la fois.

Avec patience et beaucoup vaseline, éléphant enculera mouche – proverbe chinois – et une heure plus tard – pauvre mouche ! – j’ai trouvé la source du problème : seules les cartes créées lorsque le niveau racine, le persistent level, est actif et sélectionné seront jointes et permettront la sculpture de plusieurs cartes simultanément. Si je crée une carte alors que le niveau à côté duquel je veux la créer est actif, la nouvelle carte apparaîtra mais n’y sera pas jointe.

Quand tu le sais, tout va pour le mieux dans le meilleur des mondes. Quand tu ne le sais pas, tu te dis qu’il y a quand même des mecs doués pour pourrir la vie des confrères, alors que c’est la base du métier : se demander les conséquences de toute utilisation de chaque élément d’un logiciel.

Soit, pour le reste, j’ai récupéré le projet, je suis toujours contrarié par une chose ou l’autre, dont l’absence de prise en charge des claviers Azerty – du genre il n’y a que les Belges et les Français concernés, tu parles comme c’est urgent pour eux – j’ai rentré un bug report on verra bien.

Zéro, c’est rien

Et trois fois rien, c’est déjà quelque chose, soit.

Je reconstruis un projet de zéro, ce qui me propulse dans les difficultés trop longtemps négligées de la juste taille des cartes en world composition. J’utilise comme guide un livestream d’Epic, avec un gars qui part dans tous les sens mais je retirerai bien quelque chose de ces 80 minutes de stream.

Quand je me serai décidé sur la taille optimale des cartes – une carte totalement vide et grise de taille maximale me fait quand même passer de 120 à 100 images par secondes, ça me stresse – je pourrai procéder au rapatriement un à un des composants de code développés jusqu’ici.

Cela fait, j’aurai un projet tout propre et je pourrai continuer le développement du livre de sorts et ensuite de l’inventaire. Après quoi je pourrai enfin envisager de créer ma première carte et de poser les fondations de la première aventure.

En fait, non, ce n’est pas vrai, je vais encore perdre du temps, je ne pourrai pas m’en empêcher à ajouter les bruits de pas, les traces de pas dans la boue et une myriade de choses excitantes que je devrai de toutes manières aborder un jour ou l’autre.

J’ai glissé, chef…

Je ne sais plus ce que je voulais faire, mais j’ai flingué tout le répertoire de développement, ce qui ne m’a pas tracassé puisque j’envoie un backup sur le NAS tous les soirs.
Oui, sauf que je ne backup que le répertoire “content” qui contient tout mon propre travail, pour le moment du code et quelques objets de test. Le reste, soit tous les modèles, textures, matériaux, animations, fichiers init et tout le bataclan, est passé à la trappe.
Y a plus.
Bon, en principe ce n’est pas grave car tout cela est du contenu téléchargeable et ce qui m’importait le plus était mon code, qui est sauf.

Tant que j’y étais, j’ai détruit toute mon installation d’Unreal Engine, répartie je ne sais trop comment entre deux disques et plusieurs répertoires et en plus j’avais des problèmes d’importation directe par Quixel Bridge, alors autant profiter de ma bourde monumentale pour repartir de zéro. J’ai quand même viré plus de 200.000 fichiers, ils peuvent se vanter d’être modulaires ; moi j’appelle ça “faire caca partout” mais à chacun son vocabulaire.

La bonne nouvelle, c’est que le Bridge fonctionne à présent correctement, je peux importer textures et objets directement de la librairie Megascan dans Unreal. La mauvaise nouvelle, c’est que je dois reconfigurer tous mes raccourcis clavier et recréer une nouvelle world composition, soit refaire mes cartes de zéro, ce que je devais de toutes façons faire tôt ou tard.

Vacances demain, je vais avoir du temps, ça tombe bien !

althea.gameserve.com

Le site se trouve à althea.gameserve.com en plus de japu.synology.me

J’ai ajouté une redirection au répertoire principal du site web pour qu’il ne soit plus nécessaire d’ajouter /wordpress à la suite des adresses.

J’ai également créé un lettrage Althea dans Photoshop pour la bannière d’accueil du site. Elle n’est pas mal, mais ce n’est pas du travail professionnel. Je ne suis pas bon en infographie, ce n’est pas nouveau et ça ne changera probablement pas. So be it.

Je pense que ceci conclut l’adaptation du site aux nouvelles réalités.

Première compilation globale

Il fallait bien que je me lance un jour ou l’autre, j’ai entrepris de réaliser le premier packaging de l’application, juste pour voir quels problèmes je risquais de rencontrer.
Je n’ai pas été déçu.

En premier lieu, mon installation de Visual Studio 2019 C++ n’était pas opérationnelle, j’ai tout réinstallé ainsi que le .NET SDK 4.6 et, depuis les bonnes trente minutes que ça tourne, on dirait que ça ne se passe pas trop mal, hormis de nombreux avertissements auxquels je reviendrai le moment venu.
Rien n’est encore joué mais j’ai déjà compilé quelques vingt mille shaders, mon PC ronronne gentiment à 82°C de CPU et une utilisation RAM régulièrement au-delà de 20Go.

Unreal a aussi une tendance amusante à bourrer les disques durs, avant de lancer la compilation j’ai libéré quelques 160Go de mon disque C:\ grâce à un logiciel que je n’avais jamais utilisé jusqu’ici : WinDirStat qui m’a permis de visualiser la place gaspillées sur chacun de mes disques.
Soit dit en passant, j’ai pour l’instant trois SSDs dans ma machine, deux de 500Go et un de 1 To et malgré ça je dois faire très attention à ce que je conserve ou pas sur mon stockage local.

Je pense acquérir un deuxième NAS dès que possible pour mon stockage de masse, mon NAS actuel est déjà bien plein et comme j’ai enfin, grâce à un nouveau câble, une vitesse de 1 Gbps entre ma machine et le routeur, cela me permettrait de décentraliser le stockage de tout ce qui prend une place monstre. Soit à peu près tout en matière de création graphique.