L'auteur d'un jeu d'horreur en AR inspiré de « Viy » a créé 12 monstres avec Tripo AI et ramené le Diable à 7 880 triangles

Le développeur du jeu d'horreur en AR Home Haunt, inspiré de « Viy », a généré ses 12 monstres avec le service d'IA Tripo AI. Pour qu'un iPhone fasse tourner les modèles en même temps qu'ARKit et le maillage de la pièce, un script Blender a ramené le Diable de 38 444 à 7 880 triangles et les textures de 4096 à 1024. Tripo a monté automatiquement le rig de 23 os, et les animations viennent de la bibliothèque gratuite Quaternius. La conclusion de l'auteur : le budget de triangles se calcule par scène, pas par modèle. • Le premier lot de six personnages, d'un cercueil, d'un lutrin et d'une icône a coûté 425 crédits Tripo • Kikimora et la vieille sorcière ont échoué au prerigcheck et ont été regénérées • La vidéo sous Blender 5.1.1 : 3 002 images, 30 i/s, Eevee, 24 samples

Traité par IA depuis Habr AI ; édité par Hamidun News
L'auteur d'un jeu d'horreur en AR inspiré de « Viy » a créé 12 monstres avec Tripo AI et ramené le Diable à 7 880 triangles
Source : Habr AI. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primaireHabr AI ↗
Rédacteur en chef
Chiffre clé #1Le premier lot de six personnages, d'un cercueil, d'un lutrin et d'une icône a coûté 425 crédits Tripo
Chiffre clé #2Kikimora et la vieille sorcière ont échoué au prerigcheck et ont été regénérées
La vidéo sous Blender 5.1.13 002 images, 30 i/s, Eevee, 24 samples

Un développeur indépendant travaille sur un prototype de jeu d'horreur en AR pour iPhone, Home Haunt, d'après la nouvelle « Viy » de Gogol. Le jeu transpose l'histoire dans votre salon : la Pannochka morte se lève d'un cercueil posé au sol, et des esprits vous observent depuis le mur. Il a généré les 12 monstres avec Tripo AI, un service d'IA qui crée des modèles 3D à partir d'un texte ou d'une image.

Pour que le téléphone gère simultanément la caméra, ARKit et le maillage de la pièce, il a fallu alléger les modèles. Le Diable a le plus souffert : un script Blender l'a ramené de 38 444 à 7 880 triangles (les polygones qui composent la surface du modèle). Le projet Unity avance depuis octobre : le journal de builds a démarré le 2 octobre et compte plus de 50 entrées au 30 octobre.

Ce qui est généré par l'IA, et ce qui ne l'est pas

Les 12 modèles ont été créés dans Tripo AI via l'API, depuis un script Python, avec la version de modèle v3.1. Onze personnages viennent d'une description textuelle ; la Vieille a été générée à partir d'un concept art en T-pose. La liste comprend Pannochka, Viy, le Diable, la Vieille, l'Oupyr, Kikimora, le Vourdalak, l'Ailé, trois esprits du mur (le Diable au groin de porc, le Démon velu, le Diable maigre) et le Coq. Les designs sont originaux, et non repris des adaptations cinématographiques.

Les prompts sont rédigés en anglais, et la pose est imposée strictement, A-pose ou T-pose, faute de quoi le rig automatique trébuche. Le premier lot de six personnages, d'un cercueil, d'un lutrin et d'une icône a coûté 425 crédits : le solde est passé de 1 500 à 1 075. Selon les conditions de Tripo, un utilisateur payant est propriétaire du résultat et n'a pas à citer la source. L'auteur précise qu'il interprète à sa façon le point 5.2.2 des Terms et qu'il le relira avant la sortie.

Le rig est lui aussi automatique : le mode biped de animate_rig produit un squelette de 23 os dont les noms suivent la convention de Mixamo. Il ne s'agit que d'une similitude de noms : Adobe Mixamo n'a été utilisé ni pour le rig ni pour les animations. Les clips proviennent de la bibliothèque gratuite Quaternius Universal Animation Library 1 et 2 (licence CC0), et l'auteur les a transférés lui-même sur le squelette de Tripo.

Comment les modèles ont été allégés pour le téléphone

Tripo livre des modèles de 5 à 39 mille triangles avec des textures en 4096. C'est trop pour l'AR : la caméra, ARKit et le maillage de la pièce se partagent le même matériel. Le script Blender (tripo_mobile.py) décime donc la géométrie jusqu'au nombre cible de triangles et réduit les textures de 4096 à 1024, puis le GLB est converti en FBX pour Unity.

Nombre de triangles par modèle (Tripo → en jeu) :

  • Pannochka : 23 528 → 14 774 ;
  • Viy : 38 566 → 15 759 ;
  • Diable : 38 444 → 7 880 ;
  • Vieille : 28 101 → 13 789 ;
  • Oupyr : 23 872 → 11 819 ;
  • Kikimora : 24 111 → 11 818 ;
  • Vourdalak : 14 872 → 11 820 ;
  • Ailé : 9 498 → 5 910 ;
  • Diable au groin de porc : 14 336 → 11 820 ;
  • Démon velu : 13 801 → 8 864 ;
  • Diable maigre : 14 736 → 11 819 ;
  • Coq : 4 781, inchangé.

Le Diable a perdu le plus de poids, et c'est désormais le plus léger des personnages riggés. La principale conclusion de l'auteur : le budget de triangles doit se calculer sur l'ensemble de la scène, et non sur un modèle isolé.

Où le pipeline a coincé

Tout n'a pas fonctionné du premier coup. Kikimora et la vieille sorcière ont échoué à la vérification précédant le rig (prerigcheck) et ont été regénérées, d'où les versions _v2. Chez Kikimora, la pose de repos du rig s'est révélée être une A-pose, et elle a été redressée dans Blender avant le transfert des clips. L'Ailé et le Coq n'ont aucun os : ils n'ont pas de squelette humain et se déplacent par code. L'Ailé vole avec une compression de l'envergure des ailes de 0,8 ± 0,2 à une fréquence de 2 Hz, avec balancement et inclinaison.

Dans le jeu, les clips Quaternius sont retargetés via l'avatar Humanoid standard d'Unity, ce qui est rapide et ne demande aucun travail manuel. Pour les vidéos, l'auteur a écrit un script distinct qui transfère les mêmes clips sur le rig de Tripo : il prend les deltas de rotation des os par rapport à la T-pose et réaligne les membres. Le résultat se rapproche de celui du jeu, mais ne coïncide pas image par image avec Unity.

Les vitesses sont adaptées au caractère de chaque monstre : Viy avance à 0,5× la vitesse, le Diable à 0,7× par à-coups, Kikimora à 1,3× par à-coups. Dans la vidéo, Pannochka se lève à 0,55×, sinon le mouvement n'est pas lisible à l'écran.

La vidéo a été assemblée dans Blender 5.1.1 : Eevee, 24 samples, image de 1920×1920, 30 i/s, 3 002 images. L'éclairage combine une bougie chaude, un contre-jour froid et une légère brume. La brume surexposait le sol, si bien que l'éclairage de studio a été lié au seul modèle via le light linking. Le turntable fait un tour en 5 secondes, et une ligne incandescente remonte le long du modèle de bas en haut : en dessous, la texture ; au-dessus, de l'argile grise.

Le jeu tourne sous Unity 6 (6000.5.6f1) avec URP et AR Foundation 6 par-dessus ARKit. Les tests automatiques, 24 smoke tests en solo et 9 paires en coop, passent au 30 octobre, mais ne vérifient pas la qualité visuelle des modèles.

L'auteur dresse lui-même la liste de ce qui reste à faire : pas de mimique ni d'animation du visage, les paupières de Viy sont procédurales, les yeux de Pannochka ne brillent pas dans Blender (dans le jeu, c'est un effet à part), l'« essaim de velus » est pour l'instant remplacé par le Diable, et sur le turntable, l'Oupyr présente des points sombres à la ceinture dont l'auteur n'a pas trouvé la cause. Le jeu est pour l'instant en test fermé sur TestFlight pour iPhone.

Questions clés sur cet article

Que sait-on sur Ce qui est généré par l'IA, et ce qui ne l'est pas ?

Les 12 modèles ont été créés dans Tripo AI via l'API, depuis un script Python, avec la version de modèle v3.1. Onze personnages viennent d'une description textuelle ; la Vieille a été générée à partir d'un concept art en T-pose. La liste comprend Pannochka, Viy, le Diable, la Vieille, l'Oupyr, Kikimora, le Vourdalak, l'Ailé, trois esprits du mur (le Diable au groin de porc, le Démon velu, le Diable maigre) et le Coq. Les designs sont originaux, et non repris des adaptations cinématographiques. Les prompts sont rédigés en anglais, et la pose est imposée strictement, A-pose o

Comment les modèles ont été allégés pour le téléphone?

Tripo livre des modèles de 5 à 39 mille triangles avec des textures en 4096. C'est trop pour l'AR : la caméra, ARKit et le maillage de la pièce se partagent le même matériel. Le script Blender (tripo_mobile.py) décime donc la géométrie jusqu'au nombre cible de triangles et réduit les textures de 4096 à 1024, puis le GLB est converti en FBX pour Unity. Nombre de triangles par modèle (Tripo → en jeu) : Pannochka : 23 528 → 14 774 ; Viy : 38 566 → 15 759 ; Diable : 38 444 → 7 880 ; Vieille : 28 101 → 13 789 ; Oupyr : 23 872 → 11 819 ; Kikimora : 24 111 → 11 818 ; Vourdalak : 1

Que sait-on sur Où le pipeline a coincé ?

Tout n'a pas fonctionné du premier coup. Kikimora et la vieille sorcière ont échoué à la vérification précédant le rig (prerigcheck) et ont été regénérées, d'où les versions _v2. Chez Kikimora, la pose de repos du rig s'est révélée être une A-pose, et elle a été redressée dans Blender avant le transfert des clips. L'Ailé et le Coq n'ont aucun os : ils n'ont pas de squelette humain et se déplacent par code. L'Ailé vole avec une compression de l'envergure des ailes de 0,8 ± 0,2 à une fréquence de 2 Hz, avec balancement et inclinaison. Dans le jeu, les clips Quaternius sont re

ZK
Zhemal Khamidun — CPO d'Alpina Digital, product manager d'AlpinaGPT. Conçoit des produits IA depuis 2019. Hamidun News est un projet personnel devenu un agrégateur en production avec plus de 6 000 lecteurs.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
Qu'en pensez-vous ?
Chargement des commentaires…