Génération automatique de composants
Last updated
Last updated
Lorsque vous travaillez dans Unity ou Blender, vous remarquerez que lorsque vous créez un nouveau composant Needle Engine en Typescript ou Javascript, il génère automatiquement un composant C# stub Unity OU un panneau Blender pour vous.
C'est grâce à la magie du qui s'exécute en arrière-plan dans un environnement d'éditeur et surveille les changements apportés à vos fichiers script. Lorsqu'il remarque que vous avez créé un nouveau composant Needle Engine, il génère alors le composant Unity ou le panneau Blender approprié, y compris les variables ou propriétés publiques que vous pouvez ensuite définir ou lier depuis l'Editor.
Vous pouvez utiliser les commentaires suivants dans votre code Typescript pour contrôler le comportement de génération de code C#:
// @generate-component
Force la génération de la classe suivante
// @dont-generate-component
Désactive la génération de la classe suivante, utile si un script C# existe déjà dans votre projet
// @serializeField
Décore le champ généré avec [SerializeField]
// @type UnityEngine.Camera
Spécifie le type du champ C# généré
// @nonSerialized
Ignore la génération du champ ou de la méthode suivante
Exemples
Force le component compiler à générer un champ C# AudioClip nommé myAudioClip
Force le component compiler à dériver d'une sous-classe spécifique
Si vous souhaitez ajouter des scripts dans le dossier src/scripts
de votre projet, vous devez avoir un Component Generator
sur le GameObject contenant votre composant ExportInfo
.
Maintenant, lorsque vous ajoutez de nouveaux composants dans your/threejs/project/src/scripts
, il générera automatiquement des scripts Unity dans Assets/Needle/Components.codegen
.
Si vous souhaitez ajouter des scripts à n'importe quel fichier NpmDef, vous pouvez simplement les créer - chaque NpmDef surveille automatiquement les changements de script et gère la génération de composants, vous n'avez donc pas besoin de composant supplémentaire dans votre scène.
Pour que les champs C# soient correctement générés, il est actuellement important que vous déclariez explicitement un type Typescript. Par exemple myField : number = 5
Vous pouvez basculer entre l'entrée Typescript et les composants C# stub générés à l'aide des onglets ci-dessous :::: code-group ::: code-group-item Typescript
::: ::: code-group-item Generated C#
::: ::: code-group-item Extending Generated C#
::: ::::
:::tip Member Casing
Les membres exportés commenceront par une lettre minuscule. Par exemple, si votre membre C# est nommé MyString
, il sera assigné à myString
.
:::
Page traduite automatiquement par l'IA
Les classes C# de composants sont générées avec le flag afin qu'il soit facile de les étendre avec des fonctionnalités. Ceci est utile pour dessiner des gizmos, ajouter des menus contextuels ou ajouter des champs ou méthodes supplémentaires qui ne font pas partie d'un composant intégré.