Ajouter une hiérarchie de nœud et partager des données géométriques de maillage entre plusieurs nœuds de la scène 3D
Ajouter une hiérarchie de nœud dans le document de scène 3D
Aspose.3D for .NET propose de construire une hiérarchie de nœuds. Le nœud est le bloc de construction de base d’une scène. Une hiérarchie de nœuds définit la structure logique d’une scène et fournit un contenu visible en attachant des géométries, des lumières et des caméras aux nœuds.
Exemple de graphique de scène
Un exemple de hiérarchie de scène ressemble à:
! Tout le monde: image_alt_text
Dans Aspose.3D, chaque instance Node
peut avoir plusieurs nœuds enfants, dans cet exemple, nous avons créé un nœud avec deux nœuds cubes, si nous faisons pivoter le nœud racine, tous les nœuds enfants sont également affectés:
Partager les données de géométrie du maillage entre plusieurs nœuds
Pour diminuer les nécessités de mémoire, une seule instance de Mesh
Class peut être liée à diverses instances de Node
Class. Envisagent que vous avez besoin d’un système où tous les 3D cubes semblaient être indiscernables, mais vous en aviez besoin d’un grand nombre. Vous pouvez épargner de la mémoire en faisant un objet Mesh lorsque le système démarre. À ce stade, chaque fois que vous avez besoin d’une autre forme, vous faites un autre objet Node, puis pointez ce nœud vers le maillage. C’est ce que l’on appelle l’instanciation. Les API Aspose.3D for .NET permettent de faire l’instanciation.
Exemple d’instantanement
Dans les jeux RTS (stratégie en temps réel) comme, nous pouvons toujours voir plusieurs PNJ (personnage non joueur) avec le même modèle 3D, peut-être dans des couleurs différentes, le moteur de rendu partage généralement les mêmes données de géométrie de maillage à travers différents PNJ, cette technique s’appelle Instancing.
Mesh
est utilisé dans le code. Nous pouvons Créer un objet de classe Mesh tel que raconté là-bas.
Démonstration de l’exemple de code:
Dans cet exemple, nous avons créé 3 nœuds cubes partagent le même maillage, chacun d’eux a un matériau différent avec des couleurs différentes.