
Téléchargements / magasin d'actifs / documentation
Support Xnode sur le ko-fi ou Patreon
Pour le support complet d'Odin, envisagez d'utiliser la fourche de Kajed82
Vous envisagez de développer un plugin basé sur des nœuds? Alors c'est pour vous. Vous pouvez le télécharger comme archive et déballer dans un nouveau projet Unity, ou le connecter en tant que sous-module Git.
Xnode est super amical, intuitif et vous aidera à profiter des avantages des graphiques de nœuds en un rien de temps. Avec une empreinte minimale, il est idéal comme base pour les machines d'État personnalisées, les systèmes de dialogue, les décideurs, etc.

Via Git URL (nécessite une version d'unité 2018.3.0b7 ou plus)
Pour installer ce projet en tant que dépendance GIT à l'aide du Unity Package Manager, ajoutez la ligne suivante à manifest.json de votre projet:
"com.github.siccity.xnode": "https://github.com/siccity/xNode.git"
Vous devrez installer Git et disponible dans le chemin de votre système.
Si vous utilisez des définitions d'assemblage dans votre projet, vous devrez ajouter des références XNode et / ou XNodeEditor comme références de définition d'assemblage.
Via openupm
Le package est disponible sur le registre OpenUpM. Il est recommandé de l'installer via OpenUpM-CLI.
openupm add com.github.siccity.xnode
Via le sous-module Git
Pour ajouter XNode en tant que sous-module dans votre projet GIT existant, exécutez la commande git suivante à partir de la racine de votre projet:
git submodule add [email protected]:Siccity/xNode.git Assets/Submodules/xNode
Si aucun contrôle de source ou gestionnaire de package n'est à votre disposition, vous pouvez simplement copier / coller les fichiers source dans votre dossier Assets.
// public classes deriving from Node are registered as nodes for use within a graph
public class MathNode : Node {
// Adding [Input] or [Output] is all you need to do to register a field as a valid port on your node
[ Input ] public float a ;
[ Input ] public float b ;
// The value of an output node field is not used for anything, but could be used for caching output results
[ Output ] public float result ;
[ Output ] public float sum ;
// The value of 'mathType' will be displayed on the node in an editable format, similar to the inspector
public MathType mathType = MathType . Add ;
public enum MathType { Add , Subtract , Multiply , Divide }
// GetValue should be overridden to return a value for any specified output port
public override object GetValue ( NodePort port ) {
// Get new a and b values from input connections. Fallback to field values if input is not connected
float a = GetInputValue < float > ( "a" , this . a ) ;
float b = GetInputValue < float > ( "b" , this . b ) ;
// After you've gotten your input values, you can perform your calculations and return a value
if ( port . fieldName == "result" )
switch ( mathType ) {
case MathType . Add : default : return a + b ;
case MathType . Subtract : return a - b ;
case MathType . Multiply : return a * b ;
case MathType . Divide : return a / b ;
}
else if ( port . fieldName == "sum" ) return a + b ;
else return 0f ;
}
}Les plugins sont des référentiels qui ajoutent des fonctionnalités à XNode
Rejoignez le serveur Discord pour laisser des commentaires ou obtenir l'assistance. N'hésitez pas à laisser également les suggestions / demandes dans la page des problèmes.