Est-il possible de créer des éléments de jeu 3D en utilisant uniquement l'IA ? Non.
Il est difficile d'ignorer la tempête de l'IA générative lorsque vous faites partie de l'industrie du développement de jeux. Alors, êtes-vous intéressé par l'utilisation de réseaux de neurones comme Stable Diffusion (SD) dans vos pipelines créatifs ? C'est tout à fait possible. Consultez simplement Twitter . Mais qu'en est-il des jeux 3D ? La SD peut-elle être utilisée comme une boîte magique pour créer des ressources de jeu en 3D ? L'IA est-elle la fin des artistes 3D humains dans le développement de jeux ? Eh bien, j'ai essayé de créer un jeu avec et ma réponse est - pas vraiment (encore). Mais examinons cela plus en détail.

L'impact de l'IA sur la création d'actifs 3D
Il n'est pas possible pour une seule personne de maîtriser toutes les étapes du processus de développement d'un jeu. Le processus de modélisation 3D est très difficile en raison des heures de travail et des exigences d'expertise. Bien sûr, tous les jeux n'ont pas besoin de modèles 3D high poly avec des textures hyperréalistes, mais de beaux atouts dans un style approprié gâcheraient rarement un jeu.
Et si nous disposions d'un outil capable de transformer du texte en éléments 3D ? Il peut fournir de nombreux scénarios créatifs aux développeurs de jeux indépendants sans budget. Cela peut être un outil utile pour les artistes professionnels, augmentant la productivité et automatisant les tâches répétitives. Des algorithmes comme ceux-ci commencent à apparaître.

Mais les professionnels doivent-ils craindre de perdre leur emploi ? J'ai pris mon jeu préfabriqué et j'ai remplacé tous les modèles 3D qu'il contenait par des modèles générés par l'IA. Je l'ai apprécié et je l'ai trouvé amusant et rapide, mais je ne pense pas qu'il remplacera encore quelqu'un.
De plus, ce sujet m'intéresse parce que j'ai quitté un poste MLE chez Snap et commencé un doctorat IGGI à l'intersection de l'IA et des graphiques. La capture 3D et la génération 3D sont mes intérêts de recherche, donc je suis enthousiasmé par les avancées récentes dans le domaine, mais inquiet de savoir comment suivre le rythme. Je pense que des algorithmes comme celui-ci seront utilisés dans la création de contenu 3D et faciliteront sa réalisation.
DreamFusion stable pour les développeurs de jeux
Stable Diffusion a été utilisé dans de nombreux domaines liés à la création de contenu. Game Dev n'est pas une exception, vous pouvez facilement créer un élément de jeu 2D séparé avec lui ou même créer un jeu entier uniquement à partir d'images générées. Les gens utilisent SD pour la génération rapide d'art conceptuel , et si vous connaissez les bases de Blender, il est possible de créer manuellement un élément 3D à partir de celui-ci. Depuis un mois, il est devenu possible de générer des modèles 3D à partir de texte.

Auparavant, il existait une génération 3D très basique à partir de texte, mais les idées anciennes combinées à des modèles de diffusion donnent de bien meilleurs résultats. Le premier travail qui combinait le rendu neuronal en tant que représentation de scène (NeRF) avec la diffusion stable en tant que fonction de perte était DreamFusion de Google Research. Nvidia a publié une amélioration de cette idée un mois plus tard, appelée Magic3D . Il a une résolution plus élevée et est plus rapide. Malheureusement, les deux sociétés n'ont pas partagé leur code ou leurs modèles.
Mais grâce à l'open source (et Kiui en particulier), nous pouvons utiliser une technologie de niveau similaire - Stable DreamFusion , mais avec une qualité de génération légèrement inférieure. L'idée principale de DreamFusion est d'utiliser un modèle de diffusion texte-image 2D pré-entraîné pour transformer le texte en 3D. Ils y parviennent de manière itérative, à partir d'un volume aléatoire (représenté par NeRF). La plus grande différence entre l'implémentation open source et le papier est que SD est utilisé à la place d'Imagen (le modèle interne de Google).
Bee Simulator : une étude de cas sur l'utilisation de l'IA pour la création d'actifs 3D
Dans le cadre du module de formation Game Dev IGGI, j'ai créé un jeu simple "Bee Simulator". Le plaisir principal du jeu vient des commandes complexes, similaires à la mission d'hélicoptère de GTA. Ma femme Olya apprend la modélisation 3D et elle a accepté de créer les éléments 3D pour l'abeille et la guêpe. Les autres actifs proviennent du magasin Unity. Le jeu original peut être trouvé ici .

Maintenant, disons que nous n'avons plus besoin d'artistes 3D (je préfère ne pas effrayer ma femme) parce que nous avons Stable DreamFusion. Olya a fait deux modèles en une journée. Je me suis donné le même temps pour remplacer tous les actifs par ceux générés par l'IA. La plupart de ce temps a été consacré à jouer avec des invites de texte.
Détails techniques
J'ai utilisé l'ensemble d'hyperparamètres par défaut et modifié uniquement le taux d'apprentissage et le nombre d'itérations. Cela a donné un modèle convergé en 30 minutes (ce qui est toujours un ordre de grandeur plus lent que pour la 2D) en utilisant RTX 3080 16 Go. Pour chacun des objets finaux, j'ai passé 4 à 5 tentatives pour sélectionner le meilleur texte. Les invites finales sont :
- Abeille - "une illustration de vecteur de dessin animé mignon d'abeille";
- Wasp - "un dessin animé de frelon d'abeille de guêpe en colère";
- Fleur - "une fleur de printemps simple dessinée";
- Rock - "une illustration vectorielle de pierre de roche dans un style plat";
- Arbre - "un arbre vert de dessin animé 3D".

Pour toute personne intéressée, j'ai téléchargé le modèle de guêpe sur Sketchfab .
L'avenir de l'art 3D
Vous pouvez voir la vidéo de gameplay complète du jeu final ici .

À court terme, je suis certain qu'un artiste 3D débutant peut faire une modélisation meilleure et plus rapide qu'une personne ayant accès à un GPU et à GitHub. Mais j'espère que dans la vraie vie, ce n'est pas une compétition entre les artistes et les machines, et les gens s'adapteraient à son utilisation, comme ils le faisaient auparavant avec d'autres technologies (une grande discussion entre deux artistes sur DA ) . Je pense que les artistes 3D l'utiliseront initialement pour le prototypage. Les développeurs indépendants peuvent s'amuser avec des modèles 3D simples sans artiste. Pas encore, mais après la sortie publique d'une technologie de qualité comparable à Magic3D. Et à terme, les outils d'IA peuvent devenir un instrument obligatoire pour un artiste, requis dans son CV. Tout est réglé une fois la boîte ouverte.
J'ai beaucoup joué avec la génération d'images AI (SD, DALLE2), et je doute que cela remplace les artistes. L'"artiste" dont je parle est une personne créative avec des connaissances et un sens du goût, indépendamment de ses compétences techniques. Je suis nul en dessin et les outils génératifs ne m'ont pas du tout aidé. J'ai du mal à poser des questions significatives au modèle, et mes générations sont ennuyeuses. Dans le même temps, les artistes qui maîtrisent les outils de conversion de texte en image injectent déjà leur personnalité dans leurs œuvres. Je pense que la même situation serait avec la génération d'actifs 3D.
L'exception à ma ligne de pensée concerne la modélisation 3D, qui dépend strictement des références d'un autre artiste. Je ne suis pas optimiste quant à l'avenir des artistes 3D qui ne font que ça. Si votre travail est uniquement axé sur la modélisation et la texturation d'objets à partir d'une référence, vous risquez d'être au chômage ( voir la section Magic3D "Autres capacités d'édition"). Je suis certain que les artistes 3D font bien plus que cela. Si je débutais en tant qu'artiste 3D, je préférerais acquérir une connaissance aussi large que possible de tous les aspects du pipeline visuel - modélisation, gréement, animation, éclairage et, bien sûr, outils d'IA générative.
Que vous soyez un développeur de jeux indépendant ou un artiste 3D, l'intégration de l'IA dans votre flux de travail vous permettra d'explorer de nouvelles possibilités créatives. Mais avec le modèle text-to-3D actuellement disponible, cela ne fonctionne pas encore.
Vous pouvez vous connecter avec moi sur Twitter .