top of page

NPC Randomizer

NPC Randomizer

Outil in-engine   -   Animation / Character Art

Le NPC Randomizer est un outil in-engine développé exclusivement en blueprint sur Unreal Engine 5, et dédié à la personnalisation de personnages non-jouables de masse et à leur gestion dans les maps.

Une diversité de personnages sans limite et un gain de temps de production non négligeable !

Problématiques de contenu

  • Les maps peuvent nécessiter une grande quantité de personnages différents.

  • Il nous faut une diversité des vêtements et d'accessoires qui nous permet, en les combinant aléatoirement, d'avoir une infinité de combinaisons pour éviter les doublons et ajouter de la vie cohérente dans l'environnement.

Problématiques de production

  • On doit pouvoir intégrer un certain nombre de  personnages dans les maps en quelques clics et pouvoir itérer rapidement dessus.

  • Les animateurs comme les character artistes et les level designers doivent pouvoir le faire facilement et directement en map.

Solution --> un outil dédié clé en main

Le NPC Randomizer, intégré directement aux tool windows existantes, accessible et performant.​

Tool_NpcRandomizer_Interface.png
Production

Production

Dev Icon
Esprit d'équipe Icon

Défi

Répondre à un besoin de production en character art / animation sans outils de référence et en prenant en compte les contraintes de temps et de performance.

Développement solo

Logiciels utilisés

Unreal Engine Icon
Dev Time Icon

Temps de production

Plusieurs dizaines d'heures dispersées sur plusieurs mois de production

GroupIcon_Programmation_y.png

Développer un outil from scratch performant et accessible pour tous avec la complexité du fonctionnement qu'il induit.

GroupIcon_Gestion_y.png

Développer un outil futur-proof et modulaire capable d'être migré vers les futurs projets du studio.

Team Icon

Collaboration

Character Artists

Technical Artist

Animateurs

Concrétement

Concrètement

Possibilités

L'outil permet une randomisation de personnages, de leurs matériaux mais aussi des Custom Primitive Data liées (qui réduisent le coût en performance).

Performances

- En éditeur, la randomisation d'une grande partie de NPCs en une seul clic peut inclure un freeze de 1 seconde ou 2. Outre ce cas particulier, la randomisation est instantannée.

- In-game, les maps contiennent 95% de VATs. Le nombre de NPCs avec skelettes est donc moindre, et le coût en performance limité. Cependant, une certaine quantité de mémoire peut partir dans la gestion des animations (en animation blueprint), c'est un point qu'il a fallu gérer.

La différence avec le VAT Generator ?

Des personnages avec des comportements et des réactions...

...mais contenant des squelettes et des animations coûteuses in-game

Démo de randomisation de NPCs

Tool_NpcRandomizer_1stTests.png

Premiers tests techniques de la randomisation des parties du corps

Démo du système

d'accessoires et d'animation

sauvegarder le NPC sélectionné comme nouveau 'preset' en lui donnant un nom

charger un preset via une liste et l'appliquer sur le / les NPCs sélectionnés

Le subsystem de presets permet d'enregistrer et de réappliquer des randomisations de NPCs récurrents sans forcément leur créer de child class dédiées.

importer, intégrer, trier et paramétrer tous les assets (skeletal mesh) avec gestion de tags et de matériaux

Cette fenêtre nommée 'Data filler' permet de gérer et paramétrer tous les assets des NPCs sur une seule et même interface.

paramétrer et lancer une automation qui passe sur une ou plusieurs maps pour randomiser, fixer les NPCs ou faire un audit de leur état.

avoir une interface modulaire et personnalisable en fonction des paramétres et features souhaités

L'outil permet de...

personnaliser le / les NPCs sélectionnés avec autant de critères souhaités et itérer sur...

  • l'ensemble du corps

  • chaque partie du corps indépendamment

  • les spécificités (barbe, cheveux, peau)

  • les accessoires

La base de données de l'outil permet de rendre chaque paramétre interdépendant ou exclusif afin de personnaliser la randomisation sans mauvais résultats

faire spawn un NPC devant la caméra éditeur

accéder à tous les détails du / des NPCs sélectionnés en un coup d'oeil

Les données de personnalisation de chaque NPC sont stockées sur chaque entité via des tags. Le NPC Randomizer lui-même fonctionne sur une base de tags et de metadatas.

voir et changer l'animation du / des NPCs sélectionnés

Retour en haut

Copyright © 2026 Virgile Nebulone. All Rights Reserved

bottom of page