Résolution des problèmes de référence des boutons Unity causés par les types références
Problème identifié
Lors du développement d'un projet Unity, un comportement inattendu a été observé avec les boutons : lorsque plusieurs boutons écoutent une fonction utilisant une variable de type string, tous les boutons finissent par référencer la dernière valeur assignée à cette variable.
Reproduction du scénario problématique
Créons un scr ...
Publié le 29 août à 10h33
Gestion des entrées tactiles et clavier dans Unity
Unity fournit des API robustes pour capturer et traiter les interactions utilisateur, qu’il s’agisse de gestes tactiles sur appareils mobiles ou d’événements clavier sur plateformes desktop. Ces mécanismes sont fondamentaux pour implémenter des contrôles réactifs, intuitifs et multiplateformes.
Entrées tactiles : détection et traitmeent
Sur les ...
Publié le 24 août à 04h01
Exploration du Système de Sérialisation Interne d'Unity
La sérialisation est un pilier fondamental du moteur Unity, ne se limitant pas à la persistance des données pour les sauvegardes de scènes ou les Prefabs. Elle joue un rôle crucial dans plusieurs systèmes internes, notamment le mécanisme d'annulation (Undo). Le code source relatif à la sérialisation est principalement localisé dans le répertoir ...
Publié le 17 août à 10h31
Implémentation d'une fonction de sélection par encadrement dans Unity
Mise en œuvre Dans le développement avec Unity, un système de sélection d'objets est crucial pour les outils de l'éditeur ou les fonctionnalités interactives. Cet article explique comment créer un gestionnaire de sélection qui supporte la sélection par encadrement et la détection de l'inclusion complète, idéal pour des scènes d'édition ou de ge ...
Publié le 15 août à 15h57
Gestion de la Persistance des Données XML dans Unity
Introduction à la Persistance XML
Le langage XML (Extensible Markup Language) est largement utilisé dans le développement Unity pour structurer et stocker des données de manière lisible. Contrairement aux formats binaires, XML permet une inspection facile des sauvegardes. L'objectif principal est de transférer l'état mémoire d'une application v ...
Publié le 3 août à 11h34
Automatisation de la création de modules et de la liaison d'UI dans l'éditeur Unity
Le développement de nouvelles fonctionnalités ou de modules d'interface utilisateur (UI) dans Unity implique souvent des tâches répétitives : créer plusieurs scripts, des préfabriqués, puis lier manuellement des composants UI. Ce processus peut être fastidieux et source d'erreurs. Cet article présente une approche pour automatiser ces tâches ré ...
Publié le 3 août à 04h25
Navigation entre pages dans Unity UIWidgets
Concepts de base du routage dans UIWidgets
Dans Flutter et UIWidgets, le concept de Route corespond à ce qu'on appelle généralement une "page" en développement mobile :
Android : une Activity
iOS : un UIViewController
UGUI : un Panel, Form ou View
Avec UGUI classique, on gérait l'ouverture et la feremture via un UIManager centralisé ...
Publié le 24 juillet à 11h42
Utilisation des fichiers CSV dans Unity3D avec C#
Pour manipluer des fichiers CSV dans Unity, il est essentiel de comprendre les règles de formatage : une cellule contenant des virgules doit être entourée de guillemets doubles, et les guillemets internes doivent être doublés. Les lignes se terminent par des caractères de nouvelle ligne (\\r\\n). La lecture doit respecter ces conventions pour u ...
Publié le 22 juillet à 19h45
Implémentation d'un système de messagerie simplifié avec Unity C# et réflexion sur le couplage
Qu'est-ce que le couplage et quels sont ses inconvénients ?
Le concept de couplage, souvent comparé à des rhizomes entrelacés, décrit la dépendance entre modules logiciels. Lorsque la modification du module A provoque l'effondrement du module B, et que la modification de B impacte C, on se retrouve dans un cycle de corrections nocturnes sans ...
Publié le 20 juillet à 13h26
Algorithme de test d'intersection cylindre-frustum performant pour Unity
Dans Unity, les objets avec un composant Renderer peuvent utiliser les événements OnBecameVisible et OnBecameInvisible pour la détection de visibilité. Cepednant, pour les objets sans Renderer, il est nécessaire de gérer manuellement la détection d'intersection avec le frustum de la caméra. L'algorithme présenté ici offre une efficacité environ ...
Publié le 17 juillet à 23h14