Arbres 3D avec les nœuds géométriques de Blender | 3D Tudor | Skillshare

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Arbres 3D avec les nœuds géométriques de Blender

teacher avatar 3D Tudor, The 3D Tutor

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Arbres 3D avec les nœuds géométriques : Introduction au cours

      3:11

    • 2.

      Aperçu du générateur d'arbre

      6:07

    • 3.

      Introduction au générateur de branches

      3:58

    • 4.

      Extrémités séparées

      13:45

    • 5.

      Les bases du système de branches

      12:24

    • 6.

      Système de branches avancé

      17:14

    • 7.

      Données internes

      13:59

    • 8.

      Les racines

      8:42

    • 9.

      Déplacement

      11:21

    • 10.

      Génération de maillage

      9:08

    • 11.

      Cartographie UV et raffinement

      12:37

    • 12.

      Les bases de la distribution des feuilles

      9:59

    • 13.

      Placement avancé des feuilles

      11:28

    • 14.

      Système de particules de base

      12:10

    • 15.

      Simulations avancées de particules

      14:17

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

210

apprenants

4

projets

À propos de ce cours

Plongez dans le monde fascinant de la génération d'arbres procéduraux avec les Nœuds géométriques de Blender 
! Cliquez ici pour obtenir le pack de ressources]

Dans le cours « Arbres 3D avec des nœuds géométriques de Blender », vous apprendrez à construire des arbres 3D d'aspect naturel et entièrement personnalisables, des structures du tronc et des racines à la distribution réaliste des feuilles. Vous explorerez également des techniques avancées comme le déplacement du bruit, les nœuds d'extrémité divisés pour la bifurcation, et même une configuration de simulation simple pour la chute des feuilles. Cette approche pratique vous permet d'acquérir des compétences pratiques que vous pourrez appliquer à tout, des environnements de jeu aux scènes de forêt stylisées.

À la fin de nos leçons, vous saurez exactement comment transformer les courbes en maillages 3D optimisés, cartographier efficacement les textures et développer un flux de travail à la fois flexible et efficace basé sur les nœuds. Que vous soyez un débutant dans Blender cherchant à élargir ses compétences ou un artiste 3D expérimenté cherchant à rationaliser son processus, ce cours vous montrera comment cultiver des arbres de qualité professionnelle avec quelques configurations de nœuds intelligents.

Pourquoi choisir des arbres en 3D avec des nœuds géométriques de Blender ?

  • Arbres 3D professionnels - Idéal pour les développeurs de jeux, les artistes en environnement et les amateurs qui cherchent à créer des arbres de haute qualité pour des jeux, des animations et des mondes 3D.

  • Maîtrise des procédures pratiques – Maîtrisez les techniques clés telles que le SplitEnd Node, la Branch Randomization et les Root Systems pour développer des arbres organiques et d'aspect naturel à partir de zéro.

  • Techniques avancées de nœuds - Découvrez comment distribuer dynamiquement les feuilles, ajouter des déplacements de bruit procéduraux et générer des structures de ramification complexes à l'aide de zones répétitives.

  • Simuler des feuilles tombantes : implémentez un système de particules (zone de simulation de Blender) pour créer des feuilles qui se détachent, tombent et apportent du mouvement à vos scènes.

  • Cartographie UV et génération de maillages réalistes - Transformez les courbes procédurales en maillages 3D entièrement fonctionnels grâce à des cartes UV appropriées et à une application de matériaux transparente.

  • Développez vos compétences 3D : appliquez ces techniques à un large éventail de projets, des environnements réalistes aux paysages fantastiques stylisés.

Ce que vous apprendrez

  • Fondations procédurales : créer des structures troncales et racines à l'aide de groupes de nœuds personnalisés.

  • Branchement et randomisation : maîtriser les nœuds SplitEnd et les zones de répétition pour créer des motifs de branchement naturels.
  • Placement et simulation des feuilles : contrôler la répartition des feuilles le long des branches et faire tomber les feuilles pour un réalisme dynamique.

  • Conversion maillage et cartographie UV : Convertissez efficacement les courbes en maillage et appliquez les textures sans problème.
  • Flux de travail Nœuds pratiques : créer un système modulaire que vous pouvez réutiliser pour des arbres, des buissons et plus encore.

À QUI S'ADRESSE CE COURS

  • Développeurs de jeux et artistes 3D à la recherche d'actifs d'arbre optimisés pour les moteurs en temps réel ou les scènes cinématographiques.

  • Des créateurs stylisés souhaitant ajouter du feuillage à des royaumes fantastiques, des paysages extraterrestres ou des projets d'art conceptuel.

  • Les passionnés de Blender prêts à explorer la modélisation procédurale et à élargir leurs capacités de conception d'environnements.

Pourquoi ce cours est pour vous
L'apprentissage de ces techniques procédurales ouvre des possibilités créatives infinies. Vous apprendrez plus précisément les nœuds géométriques de Blender, accélérerez votre flux de travail et produirez des environnements 3D riches et dynamiques, parfaits pour les animations, les jeux ou les projets personnels imaginatifs.

Temps et ressources

Durée du cours : 9 leçons approfondies couvrant plus de 2 heures de techniques de modélisation procédurale.

Pack de ressources inclus

Ce cours comprend un pack de ressources de haute qualité comprenant 8 matériaux PBR stylisés conçus pour la création d'un arbre procédural. Les textures d'écorce de cerise et de chêne, les variations de branches de cerisier (fleuries et non fleuries) et les variations de feuilles de chêne pour l'été, l'automne et le printemps sont toutes incluses. Un pack de pétales de cerisier est également fourni pour obtenir des effets réalistes de fleurs tombantes. Le fichier du projet fini fait partie du paquet, ce qui vous permet de comparer et d'affiner facilement vos configurations d'arbres.

Prêt à commencer à grandir ?

Prenez le contrôle de la création d'arbres procéduraux comme jamais auparavant. Des arbres fantastiques au feuillage forestier réaliste, ce cours Skillshare vous ouvrira la voie à de nouveaux projets.

Améliorez vos compétences en matière de nœuds géométriques dans Blender et commencez à concevoir de superbes arbres 3D.

Jusqu'à la prochaine fois, puissions tous vos polygones prendre racine et que vos feuilles ne tombent jamais trop tôt !

Luke

Rencontrez votre enseignant·e

Teacher Profile Image

3D Tudor

The 3D Tutor

Top Teacher

Hello, I'm Neil, the creator behind 3D Tudor. As a one-man tutoring enterprise, I pride myself on delivering courses with clear, step-by-step instructions that will take your 3D modeling and animation skills to the next level.

At 3D Tudor, our mission is to provide accessible, hands-on learning experiences for both professionals and hobbyists in 3D modeling and game development. Our courses focus on practical, industry-standard techniques, empowering creators to enhance their skills and build impressive portfolios. From crafting detailed environments to mastering essential tools, we aim to help you streamline your workflow and achieve professional-quality results.

We're committed to fostering a supportive... Voir le profil complet

Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction au cours sur les géonodes des arbres: Bienvenue dans trois arbres en D dotés de nœuds géométriques Blender. Dans ce cours, nous explorerons le puissant flux de travail procédural des nœuds de géométrie mixte pour créer des arbres entièrement personnalisables et réalistes De la création de structures de tronc organiques à la distribution finale des feuilles, vous apprendrez à créer arbres d'apparence naturelle avec une flexibilité procédurale. À la fin de ce cours, vous aurez les compétences nécessaires pour créer des arbres allant des chênes centenaires aux bonsaïs délicats, tous contrôlés par des périmètres faciles à utiliser Si vous souhaitez approfondir vos compétences en matière de gemenude, ne manquez pas nos cours Blender Geometernode pour débutants, notre générateur de ponts procéduraux Ils vous aideront à affiner vos techniques de modélisation procédurale et à créer superbes environnements libres remplis de feuillage, d'architecture, etc. Pour vous aider à donner vie à vos arbres, ce cours comprend un ensemble de ressources de haute qualité, comprenant huit matériaux PBR stylisés conçus spécifiquement pour Vous obtiendrez de l'écorce de cerisier et de chêne, branches de cerisier fleuries ou non fleuries, des feuilles de chêne de saison pour l'été, l'automne et le printemps, ainsi que des pétales de cerisier pour un effet de feuille tombante époustouflant Nous allons commencer par créer un système d'arborescence procédurale à partir de zéro. Vous allez commencer par le nœud fractionné de base, un groupe de nœuds personnalisé qui génère des structures de branchement en itérant plusieurs À l'aide de périmètres tels que le nombre, la longueur et l'angle des branches, nous élaborerons un système de croissance réaliste qui imite la formation naturelle des arbres De plus, nous allons implémenter un déplacement du bruit afin d' introduire un mouvement subtil et réalisme dans la forme générale de l' arbre. Une fois le tronc et les branches en place, nous nous concentrerons sur le placement des feuilles. À l'aide d'attributs personnalisés tels que longueur à partir du début et la longueur à partir de la fin, nous déterminerons comment les feuilles sont réparties le long des branches, garantissant ainsi des modèles de croissance naturels. Ensuite, nous allons étendre notre système procédural pour générer des racines. En modifiant le système de branches pour inverser sa direction, nous créerons une structure racinaire souterraine qui se connecte parfaitement au tronc. Enfin, nous explorerons les techniques de cartographie UV, afin de garantir que les matériaux d'écorce et de feuillage sont appliqués sans problème. Dans la dernière section, nous intégrerons un système de particules simple pour simuler la chute des feuilles. À l'aide de la zone de simulation des mélangeurs, nous allons générer et animer feuilles qui se détachent des branches au fil du temps Ce cours est conçu dans un souci de modularité et d'efficacité En utilisant des groupes de nœuds réutilisables, vous pourrez ajuster rapidement les périmètres tels que la hauteur des arbres, densité des branches, la couverture foliaire, etc. Que vous ayez besoin d'un arbre stylisé pour le jeu ou d'une opération hyperréaliste pour une animation, notre configuration permettra une itération et une personnalisation rapides À la fin de ce cours, vous disposerez d'un système d' arborescence entièrement procédural personnalisable, efficace et visuellement époustouflant pour donner vie à votre vision créative. Inscrivez-vous dès maintenant et commencez à faire pousser vos propres arbres à sucre avec les cannes à omiton Blenders 2. Aperçu du générateur d'arbre: Bonjour, et bienvenue dans l'introduction aux arbres en D gratuits avec des nœuds de géométrie Blender. Dans ce cours, vous allez apprendre à créer un arbre entièrement procédural à l'aide des nœuds de géométrie des mélangeurs Vous construirez un système de tronc et de ramification réaliste , contrôlerez le placement des feuilles et ajouterez un système de particules simple pour les feuilles qui tombent afin de donner un mouvement naturel à votre arbre Pour vous aider tout au long du processus, vous recevrez également un pack de matériel gratuit avec textures de chêne et de sakura de haute qualité et des matériaux parfaits pour ce cours et les projets futurs Avant de commencer à construire, examinons les entrées et les périmètres qui contrôleront forme et la structure de votre arbre En modifiant ces paramètres, vous pourrez créer n'importe quoi du petit site osseux au chêne massif Ce nœud d'indicateur n'est donc qu'un modificateur. Comme vous pouvez le voir, j'ai ici ce modificateur d'arbre appliqué à cet objet, et vous pouvez voir qu'ici, nous avons peu de paramètres. L'un d'eux est la graine qui contrôle la graine de toutes les valeurs aléatoires et des générateurs aléatoires. Ensuite, il y a la résolution qui contrôle la résolution des branches. Vous pouvez régler la hauteur du tronc et le rayon global. Et puis il y a aussi du matériel pour les racines et les branches, ainsi que des contrôles pour les UE. Ensuite, dans le panneau des branches, vous pouvez voir que la première entrée est appelée niveaux, et cela contrôle le nombre de niveaux de branches que votre arbre aura. Donc, si nous fixons ce paramètre à deux, par exemple, il y a d'abord un tronc, qui est une branche séparée ou une branche principale. De cette branche, il y a trois autres branches comme celle-ci. Et à partir de ces branches se trouve le deuxième niveau de branches, donc ça ressemble à ceci. Les deux autres entrées sont le nombre de divisions minimum et maximum, ce qui signifie que vous pouvez contrôler nombre de branches que chaque extrémité de la branche doit diviser. Nous en avons donc 3 à 5. Si nous le définissons de 2 à 5, vous pouvez voir que maintenant il se divise en deux branches Et si nous jouons avec les semences, nous devrions obtenir des résultats différents. Maintenant, vous pouvez voir que nous en avons quatre et ainsi de suite. Ensuite, vous pouvez également contrôler la longueur des branches. Vous pouvez contrôler le premier et le dernier séparément. Donc, si nous définissons les premières branches sur quelque chose de long et les dernières sur quelque chose de court, vous obtiendrez des résultats différents. Et il existe également un caractère aléatoire de longueur, qui contrôle le caractère aléatoire des longueurs des branches La prochaine chose est l'angle, qui contrôle l' angle des branches. Vous pouvez donc voir que si nous le mettons à zéro, ils pointent tous vers le haut, et au fur et à mesure que nous l'augmentons, l'arbre s' élargit et les branches poussent de plus en plus sur le côté. Vous pouvez également contrôler le caractère aléatoire de cet angle, et la dernière entrée est le rayon fff, qui contrôle essentiellement l' épaisseur des branches Maintenant, vous pouvez voir qu'il est réglé sur deux, et vous pouvez voir que les branches aux extrémités sont fines. Et si nous le diminuons, vous pouvez voir qu'ils deviennent beaucoup plus épais et vous pouvez contrôler le gradient du rayon allant du tronc aux extrémités des branches. Le panneau suivant est celui des racines, et ce panneau contient essentiellement toutes les commandes sous forme de branches, et vous pouvez contrôler les mêmes paramètres. Je vais donc sauter celui-ci. Le suivant est le déplacement avec lequel vous contrôlez le déplacement des branches. Ainsi, vous pouvez contrôler la ligne droite ou la raideur de votre arbre Les suivants sont des arbres. Ici, nous pouvons contrôler les arbres. Vous pouvez sélectionner une collection de feuilles. Nous pouvons donc facilement passer de l'un à l'autre. Nous pouvons également contrôler la densité, et nous pouvons choisir parmi trois options où nous voulons que les feuilles poussent. Il y a donc trois options. L'un d'eux est celui des branches. Cela signifie que les feuilles sont partout sur les branches. Le second est de bout en bout, qui distribue essentiellement les feuilles uniquement aux extrémités des branches, et nous pouvons également contrôler la longueur des segments sur lesquels elles sont distribuées. Et la dernière option est la position Z minimale, qui distribue essentiellement les feuilles partout où la position est supérieure à une certaine valeur. Donc, si nous le disons à trois, vous pouvez voir qu'ici nous avons le niveau trois et que là où la position est plus grande, les feuilles sont distribuées. deux derniers éléments sont l' échelle et le caractère aléatoire de l'échelle Vous pouvez donc également contrôler la mise à l'échelle des objets d'origine Et le dernier panneau que nous avons ici est celui des particules, et vous pouvez le voir ici. Ce sont les petites feuilles que vous pouvez voir, et vous pouvez contrôler leur densité, ainsi que la physique, afin que nous puissions contrôler la gravité et le bruit appliqué à leur mouvement, ainsi que leur durée de vie. Et comme pour les feuilles, nous avons une collection pour les objets d'entrée et leur échelle. Vous pouvez voir que si nous jouons à la simulation, vous pouvez voir que les feuilles commencent à tomber des feuilles, ce qui crée un effet vraiment agréable. 3. Introduction au générateur de branches: Bienvenue dans trois arbres en D avec des nœuds de géométrie Blender. Dans cette leçon, j'expliquerai les techniques que nous utiliserons pour générer le système de branches et comment nous pourrons le contrôler avec différents périmètres Tout d'abord, je vais simplement régler la densité des feuilles à zéro afin que nous puissions mieux voir le système de branches. Et comme vous pouvez le constater, nous pouvons simplifier la structure en quelques lignes. Ainsi, par exemple, une ligne principale est le tronc, puis il y a quatre branches sur lesquelles il se divise, puis il fait essentiellement la même chose aux extrémités de ces branches La configuration que nous allons effectuer comportera donc une entrée pour la géométrie. Donc, dans ce cas, lorsque nous aurons un tronc, nous donnerons ce tronc à ce groupe de nœuds, et nous lui donnerons également une sélection à partir de laquelle nous voulons que les branches poussent. Je vais donc sélectionner avec cette croix. Et ce que fera la configuration, c' est qu'elle générera simplement des branches comme celle-ci en fonction des entrées. Nous serons donc en mesure de contrôler le nombre de branches qu'il divise ainsi que la longueur et l' angle de ces branches Et la sortie de ce groupe de nœuds sera constituée de ces branches. Et aussi avec des sélections, qui sélectionneront ces points de terminaison Ensuite, nous utiliserons une approche récursive ou quelque chose de très similaire à la récursivité, et nous utiliserons à nouveau cette configuration après cette première itération, et cette configuration créera à nouveau d'autres branches Et si nous répétons cela, par exemple, trois ou quatre fois, nous devrions obtenir un système de branches agréable, nous utiliserons comme structure de base pour notre modificateur de nœuds de géométrie Plus loin dans ce cours, nous aurons également besoin certains attributs pour obtenir des informations sur les branches. Les deux principaux attributs dont vous aurez besoin sont la longueur, et la longueur nous indiquera à quelle distance se trouve chaque point de la branche par rapport aux racines. Donc, ici en bas, zéro. Ici, dans cette section, il y en a, par exemple, deux, ici c'est gratuit partout, et ici, à la fin, cela peut être comme 3.5. Avec cet attribut, nous pourrons contrôler le rayon des branches et également obtenir de belles cartes UV pour elles. Et le deuxième périmètre sera long à partir du bout. Et ce périmètre sera presque le même que la longueur, mais il ira dans une direction différente ou dans la direction opposée. Donc, aux extrémités des branches, il y aura des zéros Et puis, au fur et à mesure que nous nous dirigeons vers les racines, cela augmentera. Donc, 0,5 sera ici, 1,5 ici, 2,5 ici et 3,5 dans les racines. Avec ce second attribut, nous pourrons, par exemple, distribuer les feuilles à partir des extrémités, distribuer les feuilles à partir des extrémités comme je l'ai montré dans la leçon précédente, et nous séparerons simplement les branches dont la longueur à partir de l'extrémité est inférieure à une certaine valeur, puis nous pourrons distribuer facilement les feuilles sur ces branches. 4. Extrémités séparées: Bienvenue dans trois arbres en D avec les nœuds Blender Geometri Dans cette leçon, nous allons commencer à travailler sur les bases de notre modificateur de nœuds geometro, et nous travaillerons sur le groupe de nœuds du système de branches, qui nous aidera à créer la structure de base des branches Voici donc une nouvelle scène de mixeur, et je vais commencer par supprimer tout ce qu'elle contient. Et j'ajouterai, par exemple, un plan simple car nous n'utiliserons pas la géométrie d'origine, vous pouvez donc ajouter ce que vous voulez. Ensuite, je vais passer aux modificateurs et ajouter un nouveau modificateur, qui seront des nœuds de géométrie Je vais cliquer sur Nouveau et appeler ce nœud de géométrie « configuration », par exemple, « trois ». Maintenant, nous pouvons commencer à travailler sur la configuration. Passons donc à l'espace de travail des nœuds Geomet, et nous pouvons commencer par supprimer l'entrée du groupe car nous n' aurons pas besoin de cet objet Le plan pour les branches est que nous allons d'abord créer une structure arborescente de base à partir de lignes courbes, pour qu'elle ressemble à ceci. Ensuite, nous convertirons ces courbes en maillage en utilisant courbe en nœud de maillage. Ainsi, la ligne de base ou la ligne de courbe de base sera le tronc. Ajoutons donc une courbe et cette courbe possède deux entrées. Elle a un début et une fin. Nous pouvons laisser le départ tel quel parce que nous voulons qu'il commence à 00, et la fin contrôlera essentiellement la hauteur du tronc. Donc, si nous examinons le tronc maintenant, vous pouvez voir que sa longueur est contrôlée par cette valeur Z du vecteur final. Nous pouvons donc séparer ces valeurs en utilisant Combine XYZ, et maintenant nous pouvons contrôler cette valeur Z individuellement Pour le tranghd, nous pouvons ajouter une nouvelle entrée de groupe. Appuyons donc sur N pour faire apparaître le menu de ce site. Et je vais cliquer sur cette icône plus pour ajouter une nouvelle entrée, que j'appellerai Trangight Nous pouvons définir la valeur par défaut à, par exemple, trois et le minimum à zéro Maintenant, pour connecter cela, nous pouvons afficher l'entrée de groupe, et nous allons relier cette hauteur de tronc à la valeur Z. Vous pouvez voir que c'est zéro, je vais donc revenir à la saisie groupée dans le modificateur, et maintenant vous pouvez voir que nous pouvons contrôler la hauteur de la courbe avec cette entrée. Il y a aussi ce petit avertissement, et c'est parce que la géométrie d'entrée doit être en haut Je vais donc simplement la déplacer vers le haut, et maintenant tout devrait bien se passer. Maintenant, nous en avons pratiquement terminé avec le tronc pour moment et nous pouvons simplement sélectionner tous ces nœuds, appuyer sur Ctrl J pour faire apparaître le cadre, et je vais appeler ce cadre un tronc. Commençons maintenant par le groupe de nœuds, qui divisera un point en plusieurs branches. Créons donc un nouveau groupe de nœuds. Je vais le faire en créant un nouvel itinéraire vers cette connexion. Je vais donc maintenir la touche Maj enfoncée, Je vais donc maintenir la touche Maj enfoncée cliquer avec le bouton droit de la souris et faire glisser le pointeur sur cette sélection. D'ailleurs, si vous n' utilisez pas d'extension node wrangular, je vous le recommande vivement car elle accélérera votre flux de travail dans les nœuds de géométrie et également dans les nœuds d'ombrage Encore une fois, nous pouvons appuyer sur le bouton droit de la souris et faire glisser le pointeur, et nous pouvons obtenir cette lecture. Maintenant, si cette redirection est sélectionnée, vous pouvez appuyer sur Ctrl G pour créer un groupe de nœuds Maintenant, si nous appuyons sur l'onglet, nous sommes en dehors de ce groupe de nœuds, et vous pouvez voir qu'il n'a une entrée et une sortie de courbe. Je vais le renommer en pointes fourchues car cela divisera les extrémités des courbes Et pour revenir à ce groupe de nœuds, nous pouvons à nouveau appuyer sur l'onglet et nous sommes dans le groupe de nœuds. Ce groupe de nœuds aura peu d'entrées. premier d'entre eux est la géométrie, que nous avons déjà ici, mais je vais la renommer en géométrie La seconde sera la sélection, qui sélectionnera les points sur lesquels nous voulons que de nouvelles branches poussent. Je vais donc obtenir une nouvelle entrée et l'appeler sélection. Ce sera du harcèlement. Et le dernier pour le moment sera le décompte, qui sera le nombre de branches que vous souhaitez générer. Ajoutons donc une nouvelle entrée, qui sera le nombre, type peut être un entier, et nous pouvons définir la valeur par défaut à, exemple, trois et le minimum à zéro. Maintenant, si nous sortons de ce groupe de nœuds en utilisant l'onglet, nous saisirons des données de base dans ce groupe de nœuds. Nous allons donc d'abord, par exemple, créer trois branches. Ajoutons donc le compte à trois. Et pour la sélection, nous voulons uniquement développer ces branches à partir de ce point de terminaison. Ainsi, en général, la courbe ne comporte que deux points où le début a un indice nul et la fin un indice un. Nous pouvons donc simplement utiliser la valeur de l'indice et l'endroit où elle est égale, nous allons donc ajouter égal à un. Cela ne devrait sélectionner que ce point de terminaison. Nous pouvons le vérifier avec un visualiseur, c'est-à-dire en maintenant la touche Ctrl Shift et en cliquant sur le bouton le plus à gauche Cela attirera le spectateur, et nous pouvons maintenant y intégrer cette valeur d' intimidation. Et ici, vous pouvez voir que le bas est noir et le haut est blanc. La deuxième méthode consiste à le vérifier avec le texte de l'attribut. Donc, ici en haut, vous pouvez sélectionner le texte de l'attribut, et vous pouvez voir qu'il y en a un et qu' il y en a un zéro. Maintenant, la sélection est terminée, et revenons au groupe de nœuds. Nous allons commencer par générer une branche de base. Ajoutons donc une courbe qui créera des branches. Et cette courbe peut, par exemple, mesurer seulement 1 mètre de long. Nous voulons dupliquer cette courbe en fonction de cette entrée de comptage, et nous pouvons le faire, par exemple, en créant des points. Ajoutons donc des points, et nous créerons autant de points que nous voulons de branches. Je vais donc intégrer ce décompte à ce décompte. Et maintenant, vous pouvez voir que nous avons trois points ici. Maintenant, pour remplacer les points par les courbes, nous pouvons utiliser l'instance sur les points. Et les points d'entrée seront les points libres dans notre cas, et l'instance par laquelle nous voulons remplacer les points est la ligne de courbe. Maintenant, si nous examinons le résultat de cette instance, vous pouvez voir que nous en avons trois. Mais ici, dans la fenêtre d'affichage, vous pouvez voir qu'il n' y a toujours qu'une seule ligne, et c'est parce qu'elles se chevauchent Donc, pour les différencier un peu, je vais d'abord les déplacer sur l'axe X afin qu'ils soient légèrement inclinés Et je vais également jouer avec cette rotation. Nous allons donc le faire pivoter autour de l'axe Z en fonction de leur indice. Ils seront donc bien répartis autour de l'axe Z. Pour ce faire, je vais ajouter combine XYZ car nous voulons uniquement contrôler la valeur Z de cette rotation Je vais connecter ce vecteur à la rotation. Maintenant, si nous jouons avec la valeur Z, vous pouvez voir qu'elle tourne autour de l'axe Z. Nous voulons une valeur différente pour chaque courbe, et pour différencier les courbes, nous pouvons utiliser l'entrée d'index. Ajoutons donc un index. Et si nous branchons cet index directement sur l'axe Z, vous pouvez voir qu' il fait quelque chose, et c'est parce que pour la première ligne, l'entrée est zéro, pour la deuxième ligne, l'entrée, désolé, l'indice est un, et pour la troisième ligne, l'indice est deux. Nous voulons répartir ces lignes uniformément en cercle, par exemple, comme ceci. Donc, lorsque nous avons trois courbes, nous voulons qu'elles soient comme ça. Donc, entre eux, il y a un angle de 120 degrés. Et pour calculer cet angle, nous pouvons simplement effectuer une rotation complète, soit 360, et la diviser par nombre de branches. Alors faisons-le. Je vais dupliquer cette entrée de groupe et ajouter un nœud de méthamphétamine. Et comme nous utilisons des radians ici, nous devrons utiliser deux Pi au lieu de 360 degrés. Nous allons donc diviser deux fois Pi, soit 6,28 par le nombre de branches Et cela nous donnera l' angle entre chaque branche. Et pour bien les répartir, on peut multiplier l'indice par cet angle de décalage. Ajoutons donc un multiplicateur et insérons-le dans la coordonnée Z. Vous pouvez maintenant voir que les branches pivotent bien le long de l'axe Z et qu'elles sont bien réparties autour du cercle Si nous sortons de ce groupe de nœuds et augmentons la réduction, vous pouvez voir que cela fonctionne bien. Remplaçons l'ancienne approche de rotation par quelque chose d'un peu meilleur. Je vais donc définir cette courbe de 0,2 001. Maintenant, ils se chevauchent à nouveau. Mais maintenant, si nous jouons avec la rotation sur l'axe Y, vous pouvez voir qu'elles tournent bien et nous pouvons contrôler l'angle entre les branches et l'axe Z. Nous contrôlons donc essentiellement cet angle avec cette valeur. Nous voulons contrôler cette valeur de l'extérieur. Donc, pour ajouter une nouvelle entrée, nous pouvons prendre cette prise vide et la brancher sur l'axe Y, et je vais ouvrir le menu du site et le renommer en angle Nous pouvons également définir le sous-type sur l'angle, sorte que l'unité du modificateur soit en degrés, et la valeur par défaut peut être quelque chose comme 0,5 ou quelque chose de proche. Maintenant, si nous revenons du groupe de nœuds, vous pouvez voir que nous pouvons contrôler l'angle en degrés ainsi que le nombre. Donc, la prochaine chose que vous voudrez probablement contrôler est la longueur de ces branches. Mais nous le ferons plus tard car nous devrions maintenant distribuer ces branches sur les points sources pour voir à quoi cela ressemble réellement. Utilisons donc cette géométrie source. Et nous utiliserons à nouveau ces instances et les installerons sur les points sélectionnés. Nous pouvons donc dupliquer cette instance sur des points, et nous voulons uniquement dupliquer cette instance sur la géométrie source lorsque la sélection est sélectionnée. Ajoutons-y donc également la sélection. Et en tant qu'instances, nous voulons utiliser cette structure que nous avons construite à partir des lignes de courbe. Je vais donc également connecter les instances à celui-ci. Et maintenant, si je fais un petit zoom arrière, vous pouvez voir que nous avons quelques branches ici. Et si je passe au groupe de nœuds de géométrie principal, vous pouvez voir que nous avons le tronc et le désolé, ainsi que le premier niveau de branches. Maintenant, nous devons également afficher les extrémités de ces branches, car nous voudrons réutiliser les pointes fourchues comme ceci et simplement réutiliser cette géométrie comme nouveau point source Donc, pour obtenir la sélection, nous pouvons d'abord prendre en compte toutes ces instances, puis ce sont à nouveau les lignes de courbe Nous pouvons donc simplement prendre les points où l'indice . Nous pouvons donc simplement prendre les points où l'indice est un et les utiliser comme sélection. Pour obtenir l'indice de chaque point à l'intérieur de la courbe, nous allons utiliser un périmètre de spline, qui nous donnera un indice dans ces Si nous utilisons le visualiseur, vous pouvez voir que toutes les extrémités des points en ont un et que les points sources ont zéro. Si nous utilisions un indice, nous obtiendrions des valeurs différentes, car cet indice couvre toutes ces splines ou courbes, et ce n'est pas ce que nous voulons Nous allons donc simplement utiliser cet indice périmétrique du plin. Pour faire une sélection, nous pouvons simplement utiliser un égal et s'il est égal à un, ce sera notre sélection. Nous pouvons connecter ce résultat à la sortie du groupe et le renommer en sélection 5. Les bases du système de branches: Bonjour, et bienvenue dans Three D trees with Blender Geometon Maintenant, si nous sortons de ces pointes fourchues, nous pouvons dupliquer ce groupe de nœuds et connecter ces courbes de sortie et cette sélection. Et maintenant, vous pouvez voir que cela a créé un deuxième niveau de branches. Si nous utilisons la géométrie des joints et que nous assemblons toutes ces pièces, vous verrez que nous avons une structure arborescente très basique, ce qui semble plutôt cool, mais il reste encore beaucoup de choses à ajouter aux pointes fourchues. Tout d'abord, vous pouvez voir que ces branches doivent être alignées sur cette courbe, elle doit donc ressembler à ceci, et qu'elles ne doivent pas être droites vers l'axe Z, mais qu'elles doivent être alignées sur la courbe source. Pour ce faire, nous pouvons passer aux pointes fourchues, et nous allons contrôler la rotation de ces segments de courbe Et pour obtenir la bonne rotation, nous voulons essentiellement les aligner sur la tangente des courbes sources Si on regarde les choses de côté. Par exemple, à cette étape, il s'agit de la courbe source, et sa tangente est un vecteur pointant dans cette direction Et nous voulons aligner l'axe Z de ce groupe de courbes sur cette tangente de courbe, afin que cela ressemble à ceci Pour cet alignement, nous pouvons utiliser la rotation d'alignement sur le vecteur, qui fait exactement ce que j'ai dessiné ici. Et nous voulons aligner l'axe Z, afin qu'il soit sélectionné ici par rapport à ce vecteur. Ce vecteur sera la tangente de la courbe, alors faisons apparaître la tangente de la courbe Et cela devrait nous donner la bonne rotation. Donc, intégrons cette rotation à cette rotation. Vous pouvez maintenant voir que les branches pivotent correctement le long des tangentes des courbes sources Maintenant, une fois cela fait, nous pouvons réellement ajouter une entrée de longueur, qui contrôlera la longueur de ces branches. Ouvrons donc le menu du site et ajoutons une nouvelle entrée, que nous appellerons longueur. Et la valeur par défaut peut être, par exemple, un. premier endroit où vous pouvez contrôler la longueur des courbes est celui-ci, car ici nous contrôlons la ligne de courbe de base, et nous pouvons simplement contrôler la longueur de celles-ci. Le problème avec celui-ci est que toutes les courbes auraient la même longueur, et nous voulons avoir des variations et un caractère aléatoire dans notre arbre, ce qui ne semble pas vraiment naturel, nous allons donc éviter celle-ci Le deuxième endroit où nous pouvons contrôler cela est essentiellement l'échelle. Donc, si je joue avec ces valeurs, nous pouvons également contrôler la longueur des courbes ici. Et nous pouvons même saisir différentes valeurs pour différentes lignes, comme vous pouvez le voir ici, il s'agit d'une entrée rectangulaire, ce qui signifie qu'il y a des champs, et nous pouvons saisir une valeur différente pour chacun d'eux. Mais si je suis maintenant à une valeur aléatoire ici, et quelque chose de 1 à 2. Je ne sais pas si ce sera vraiment visible, mais si nous réduisons le nombre à trois. Oui, dans celui-ci, on le voit bien. Vous pouvez voir que cela semble presque fonctionner, mais les pièces du deuxième niveau sont toutes identiques et leur rotation est simplement différente Nous voulons avoir autant de choses aléatoires que possible. Donc, pour rendre cela encore plus aléatoire, nous allons utiliser une approche différente. Vous pouvez voir que ces parties ici, ici et ici sont les plus courtes, et elles sont toutes identiques. Donc, pour rendre cela encore plus aléatoire, nous le ferons après avoir réalisé les instances et nous déplacerons les extrémités des courbes de manière aléatoire Vous pouvez vous en tenir à cette solution ici, mais je vais vous montrer une solution encore meilleure qui nous donnera plus de hasard. Supprimons donc celui-ci au point de le réduire à un. Maintenant, nous allons prendre les extrémités de ces courbes et les déplacer de manière aléatoire le long de leur tangente Pour ce faire, ajoutons une note de position définie. Et nous ne déplacerons que les points de terminaison afin de pouvoir réellement utiliser cette sélection Intégrons-le donc à la sélection. Et maintenant, si je le déplace, par exemple, sur Xxs, vous pouvez voir qu'il déplace toutes les branches, ce qui signifie que nous pouvons contrôler ces points de terminaison séparément La façon dont nous allons le rendre aléatoire est d' obtenir une tangente de chaque branche, puis de la randomiser dans une certaine plage pour la rendre plus agréable Tout d'abord, nous savons maintenant que ces points sont à 1 mètre de leur source. C'en est donc un parce que ce point final se trouve sur l'axe Z. Donc, remettons d'abord ces points à ces points sources, puis choisissons une valeur aléatoire dans le sens de la tangente de la courbe pour les déplacer vers l' arrière puis choisissons une valeur aléatoire dans le sens de la tangente de la courbe pour les déplacer vers Ajoutons donc une tangente à la courbe. Et d'abord, nous pouvons normaliser cela, même si c'est probablement cas, nous allons le normaliser Ensuite, si nous la redimensionnons et l'intégrons à l'offset, vous verrez que nous pouvons contrôler la longueur de ces courbes. Si on le met à zéro, ils ont la même longueur qu'avant. Si nous le fixons à moins un, vous pouvez voir qu'ils s'effondrent tous en un seul point. Maintenant, si nous ajoutons de la valeur à ce vecteur, nous pouvons en contrôler la longueur en utilisant la même technique. Dupliquons donc la valeur de l'échelle et ajoutons-la à cet original. Et nous allons intégrer ce résultat à l'offset. Maintenant, si nous le mettons à zéro, vous pouvez voir que toutes les branches ont une longueur nulle. Et au fur et à mesure que je l'augmente, par exemple, à un, ils retrouvent leur position initiale, mais maintenant les commandes prennent tout leur sens. Donc, quand c'est un, leur longueur est de un, et quand je la mets à deux, leur longueur est de deux. Ce qui est bien, c'est qu'il existe un contrôle rectangulaire. Il y a donc des champs et nous pouvons contrôler chaque branche séparément. Donc, si je place maintenant une valeur aléatoire dans celle-ci comme celle-ci, vous verrez que ces branches ont des valeurs ou des longueurs différentes. Vous pouvez voir qu' il y en a un court et que vous ne le trouvez pas dans les différentes parties, vous pouvez donc voir que c'est vraiment aléatoire. Maintenant, pour contrôler cette entrée, nous pouvons simplement utiliser l'entrée de longueur que nous avons créée et la connecter à l'échelle. Par défaut, vous pouvez voir que c'est zéro, mais nous pouvons maintenant contrôler ces longueurs. Et à partir de là, nous pouvons également y insérer une valeur aléatoire et vous pouvez voir que cela fonctionne pour toutes les courbes séparément. La dernière chose que vous souhaiteriez ajouter à ce groupe de nœuds est de randomiser un peu cette distribution en cercle, car dans certains cas, cela ne semble pas très beau Par exemple, s' il n'y en a que deux, vous pouvez voir que c'est droit comme ça, c'est droit, et nous voulons le rendre un peu aléatoire Passons donc à la division et au groupe de nœuds, et nous contrôlons cette rotation sur l'axe Z ici, cette combinaison XYZ dans cette société Z. Pour le rendre un peu aléatoire, nous allons y ajouter une valeur Ajoutons donc un nœud d'ajout, et nous ajouterons à la valeur d'origine. Maintenant, si je le branche sur l'axe Z, vous pouvez voir que nous pouvons essentiellement contrôler la rotation ici. Nous voulons que la rotation soit différente pour chaque courbe. Nous allons donc utiliser une valeur aléatoire. Et si je le branche ici, nous voulons que ce soit, par exemple, entre le négatif un et le positif. Et nous voulons également un siège différent pour chacun d'entre eux. Donc, en tant que siège, nous pouvons, par exemple, utiliser un index de ceux-ci, et maintenant vous pouvez voir qu'ils sont différents. Dans certains cas, il pourrait arriver que toutes les succursales soient dans la même position. Supposons donc que nous ayons trois branches comme celle-ci, et qu'elles puissent pivoter dans cette direction et dans cette direction. Cela pourrait donc aboutir à quelque chose comme ça. Donc, le moyen de supprimer celui-ci est de limiter ce caractère aléatoire dans certaines parties Donc, en gros, nous allons limiter cette branche dans cette partie, cette branche dans cette partie, et cette marque est cette troisième partie. Les valeurs que nous voulons saisir dans la valeur aléatoire sont donc essentiellement l' angle de décalage divisé par deux. Cela nous donnera donc cet angle, et nous le multiplierons simplement par un négatif et un positif, et cela nous donnera la plage. Cette division nous donne donc cet angle entier, et nous allons d'abord le diviser par deux pour en obtenir la moitié, puis nous pouvons le multiplier par 0,5 positif et négatif, ce qui devrait nous donner ces valeurs limites. Maintenant, si nous intégrons ces valeurs au minimum et au maximum de ce caractère aléatoire, vous verrez que cela fonctionne bien Et nous pouvons également augmenter le nombre. Et si nous regardons du haut, vous pouvez voir qu'ils sont bien aléatoires. Pour le rendre un peu plus étroit, par exemple, nous pouvons même le diviser par trois pour obtenir des limites plus étroites, et je pense que je vais le laisser gelé pour qu'ils puissent se toucher. Bien, la dernière partie est que nous allons ajouter une graine à ce groupe de nœuds parce que nous voulons pouvoir contrôler un ensemble de toutes ces valeurs aléatoires. Ajoutons donc une nouvelle entrée et connectons-la à cet identifiant. Et je vais juste ajouter « read out » ici, et nous renommerons cet identifiant en seat cachons pas non plus cette valeur Décochez donc cette valeur de hauteur car elle est utilisée par défaut pour l'ID Et maintenant, nous pouvons le contrôler de l'extérieur, vous pouvez donc voir que nous pouvons contrôler le caractère aléatoire de la rotation au premier niveau et également au deuxième niveau Pour tester cela, passons également au troisième niveau. Encore une fois, j'utiliserai les courbes et la sélection précédentes, et je vais les intégrer la rotation et nous pourrons la raccourcir un peu. Vous pouvez voir que nous avons maintenant une structure assez intéressante, qui ressemble un peu à un arbre. Mais dans les prochaines leçons, nous ajouterons plus de détails, ce qui rendra les choses encore meilleures. 6. Système de branches avancé: Bienvenue dans les arbres en D gratuits avec des nœuds de géométrie Blender. Dans cette leçon, nous allons continuer à travailler sur notre système de branches, et plus précisément, nous allons créer un nouveau groupe de nœuds qui combinera ces extrémités et créera un système de branches complet. Supprimons donc d'abord ces nœuds car nous n'en aurons plus besoin, et nous créerons un nouveau groupe de nœuds. Je vais donc simplement connecter cette courbe à la géométrie de sortie à l' arrière et, avec l'arrière sélectionné, j'appuierai sur Control G pour créer un nouveau groupe de nœuds J'appellerai ce groupe de nœuds un système de branches. Donc, le fonctionnement de ce groupe de nœuds du système de branches est qu'il aura quelques entrées. L'un d'eux sera la sélection, qui sera le point à partir duquel nous voulons faire pousser les branches. Supposons donc qu'il s'agisse du tronc et de la sélection, puis nous le brancherons au système Branch. L'entrée qui sera dans le système de succursales est le nombre de niveaux. C'est donc le nombre de niveaux de branches. Ainsi, par exemple, voici à quoi ressemblent deux niveaux de branches, et si nous en ajoutons un de plus, cela fait trois niveaux. Nous serons donc en mesure de contrôler le nombre de niveaux. Et plus tard, nous ajouterons également une sorte de randomisation. Il y aura donc la longueur des premières branches et des dernières branches, et cela intercalera entre ces valeurs et degré de division des branches Il y aura donc un nombre minimal et maximal de branches qui seront générées sur chacune d'elles. Passons donc au groupe de nœuds du système de branches et ajoutons certaines entrées. La première sera la sélection. Je vais donc ajouter une nouvelle entrée sur le harcèlement et l'appeler sélection. Et le prochain point important est le nombre de niveaux. Ajoutons donc une nouvelle entrée. Celui-ci sera un entier, et nous pouvons l'appeler niveaux. Je pense que c'est bon pour le moment et que nous pouvons commencer à travailler sur la configuration globale. Ajoutons donc notre groupe de nœuds aux extrémités séparées, qui sera la base de ce groupe de nœuds. Et en gros, la façon dont cela fonctionnera est que nous utiliserons une zone de répétition, qui aura des pointes fourchues à l'intérieur, et la zone de répétition itérera en fonction du nombre de niveaux que nous saisirons dans ce groupe de nœuds Et après toutes ces itérations, il créera un système de branches final Ajoutons donc une zone de répétition. Et le nombre d'itérations sera exprimé en niveaux, nous pouvons donc connecter les niveaux aux itérations, et la géométrie de sortie proviendra de la zone de bande afin que nous puissions l'intégrer La géométrie de départ sera le tronc que nous saisirons dans ce groupe de nœuds Nous pouvons donc également intégrer la géométrie à cette géométrie. Et à chaque itération, nous utiliserons cette géométrie, afin de pouvoir l' intégrer à des pointes fourchues Nous avons donné une sélection et avons jointe à la géométrie précédente. Ajoutons donc la géométrie du menton, et nous l'intégrerons à la géométrie source, en gros. Et nous devons également enregistrer la sélection. Branchons donc cette sélection dans ce socket vide, qui créera un nouveau socket ici avec sélection, et nous utiliserons celui-ci comme sélection pour la prochaine itération Donc, pour la première itération, il s'agira d'une sélection à partir d'une entrée de groupe Mais plus tard, dans les prochaines itérations, nous souhaiterons utiliser la sélection à partir de ces nouvelles branches Nous allons donc le brancher sur la sortie. Maintenant, si nous sortons de ce groupe de nœuds et augmentons le nombre de niveaux, vous pouvez voir qu' il commence à croître. Je vais également jouer avec le décompte, et vous pouvez voir que nous pouvons contrôler nombre de niveaux de branches. Si nous vérifions maintenant le nombre réel de courbes, vous pouvez voir qu'il y a 16 splines, mais cela ne correspond pas à ce que nous voyons, car si nous comptons cela, nous avons un tronc, trois branches, et chacune d'elles possède trois branches de deuxième niveau, ce qui devrait faire 13, mais nous en avons 16 Le problème ici est que cette sélection ne supprime pas la sélection précédente. Donc, pour corriger réellement cette sélection, nous allons créer un nouvel attribut nommé, qui nous indiquera les points que nous voulons développer lors de la prochaine itération. Et pour l'ancienne géométrie, nous la définirons sur les chutes, et pour la nouvelle géométrie, nous la définirons sur la sélection. Ajoutons donc un attribut nommé store. Et nous pouvons l' appeler sélection, le type sera Bolin, et pour toutes les branches des niveaux précédents, ce sera faux Nous allons donc laisser ça sur Falls. Et si nous le dupliquons et le branchons sur ces pointes fourchues, nous associerons la sélection à la valeur. Et maintenant, pour la sélection lors de la prochaine itération, nous pouvons utiliser cet attribut nommé appelé S et l' intégrer à la sélection Maintenant, si nous augmentons les niveaux à deux, vous pouvez constater que nous n' avons que 13 splines au lieu de 16. Cela fonctionne donc bien. Nous pouvons maintenant commencer à travailler sur la connexion ces entrées à partir de pointes fourchues à cette entrée de groupe. L'entrée suivante des pointes fourchues est donc le nombre, et nous voulons en fait rendre cette entrée aléatoire parce que nous ne voulons pas qu'elle soit constante, mais nous voulons quelques variations ici Ainsi, par exemple, le premier niveau serait divisé en trois branches, puis quatre, puis seulement deux ou quelque chose comme ça. Pour ce faire, nous allons donc ajouter une valeur aléatoire. Le type de cette valeur aléatoire sera car le nombre est également un entier, et nous allons insérer ces valeurs minimale et maximale dans les entrées de groupe Nous pouvons donc utiliser ce circuit gris vide pour le connecter, et cette valeur de sortie sera prise en compte Vous pouvez voir que maintenant cette connexion est rouge, mais nous pouvons résoudre ce problème, nous pouvons ajouter une nouvelle variable dans cette zone de répétition, qui nous indiquera dans quelle itération nous serons Et si nous intégrons cette itération dans ID ou C, cela convergera vers une valeur constante et non vers une valeur de champ, et cela ne devrait plus être lu Nous avons donc sélectionné la zone de répétition, appuyé sur N et passé au nœud, et nous allons ajouter une nouvelle entrée, que je vais appeler itération et définir un entier de type deux Et au début, nous voulons qu'il soit, par exemple, nul, puis à chaque itération, nous voulons l'augmenter d'un Ajoutons donc en mathématiques que nous y ajouterons un et que nous le stockerons pour la prochaine itération. Maintenant, cela va s'incrémenter à chaque itération. Cela signifie donc qu'il sera différent pour chaque itération, et nous pouvons l'utiliser, par exemple, pour l'ID, et maintenant vous pouvez voir que la valeur n'est plus remplie. Et cela a créé quelque chose d'étrange, mais c'est parce que le minimum est zéro et le maximum est 100. Si nous changeons cela par deux contre cinq, vous pouvez voir que lors de la première itération, cela le divise en cinq branches et seulement 23 lors de la suivante Nous voulons également être en mesure de contrôler les semences. Connectons donc également la graine à l'entrée du groupe. Et je vais simplement renommer ces valeurs Min et Max en Min split count et Max split count Et déplacez également le set vers le haut de l'entrée du groupe, comme toujours. Maintenant, le nombre de niveaux est aléatoire et la prochaine entrée est la longueur Plus loin, nous allons également créer une certaine randomisation, afin de pouvoir dupliquer cette valeur aléatoire et la définir comme flottante Et si nous ajoutons maintenant cette valeur aléatoire à cette longueur, vous verrez que chacune des branches a une longueur différente, et c'est exactement ce que nous voulons. Malheureusement, nous pouvons connecter le siège de l'entrée du groupe à cette graine et laisser l'ID tel quel car par défaut, il sélectionne l'index, ce qui convient parfaitement à cette fin. Pour les valeurs min et max, il existe peu d'options pour contrôler cela. Et une chose que j'aimerais faire, c'est que cela dépend du niveau actuel d'itération dans lequel nous en sommes Nous pourrons donc créer, par exemple, des branches longues au premier niveau puis des branches plus courtes au dernier niveau. Et nous voudrons également les rendre un peu aléatoires, nous allons donc ajouter une sorte de hasard Ajoutons donc une première entrée, qui sera la longueur de la première branche, qui définira la longueur des branches au premier niveau, et nous pouvons définir la valeur par défaut sur un et le minimum sur zéro. Et je vais le dupliquer et le renommer selon la longueur de la dernière branche, ce qui contrôlera la longueur des dernières branches ou essentiellement des branches dernier niveau et la fixera, par exemple, à 0,5 La dernière entrée pour les branches sera le caractère aléatoire de la longueur des branches, alors ajoutons-le également Et nous pouvons laisser ces valeurs par défaut telles quelles. Maintenant, pour calculer la longueur de la branche à chaque niveau, nous allons utiliser une clé cartographique et également cette valeur I que nous avons utilisée comme identifiant pour la randomisation Ajoutons donc une clé à carte. Et nous allons remapper ce I parce qu'il passe de zéro à un nombre de niveaux moins un Ou dans ce cas, nous pouvons en fait l'augmenter jusqu'à la valeur de départ à un, et maintenant cela passera de un à plusieurs niveaux. Et maintenant, nous pouvons simplement remapper cette valeur I avec clé à molette de un à plusieurs niveaux Et la plage à laquelle nous voulons remapper cela va de la première branche à la longueur de la dernière branche Cela signifie que lorsque le I est un, ce qui signifie que nous sommes au premier niveau, la sortie de cette branche de carte sera la longueur de la première branche. Et si nous sommes au dernier niveau, où se trouve le I, longueur des branches sera égale à la longueur de la dernière branche. Nous utiliserons cette valeur pour la randomisation, et la façon dont nous allons la randomiser est d'ajouter une valeur aléatoire à cette longueur de base dans une plage allant du moins au hasard et du plus au hasard. En gros, si je visualise cela, disons que voici valeur de cette plage cartographique et que nous la répartissons aléatoirement dans une plage où c'est L moins le hasard, et où c'est L plus Donc, si le R est petit, il se situera dans une petite plage entre le L, et s'il est plus grand, il aura plus de variations. Cela signifie donc que le minimum de cette valeur aléatoire sera le ranch de la carte moins le caractère aléatoire des embranchements. Soustrayons-le donc de la carte Ranch. Et le maximum sera une clé à carte et le caractère aléatoire. Je peux donc le dupliquer avec Control Shi D et simplement changer de type pour ajouter Maintenant, si nous les branchons au minimum et au maximum et que nous sortons à l'extérieur, vous pouvez voir que nous pouvons contrôler les niveaux en fonction de leur niveau. Et si j'augmente les niveaux, vous verrez que si je change la longueur de la première branche, cela ne change que le premier niveau et les autres, mais le changement le plus important se situe au premier niveau, et nous pouvons également contrôler la longueur de la dernière branche ainsi que le caractère aléatoire Bien, maintenant je pense que le système de succursales est prêt pour la prochaine utilisation. Nous pouvons également jouer avec les entrées, et vous pouvez voir que cela génère trois très belles structures. Et la dernière chose que nous pouvons faire est de connecter ces entrées à l'entrée du groupe principal et également créer un panneau qui contrôlera les branches. Ajoutons donc un nouveau panneau. Je vais rassembler les branches Maintenant, je vais faire apparaître une entrée de groupe et, comme toujours, utiliser ce socket vide pour créer ces nouvelles entrées. Et parce que si nous le connectons au socket, il utilisera la valeur actuelle par défaut. Je vais donc simplement définir de belles valeurs par défaut ici. Donc quelque chose comme ça. Et maintenant, je vais créer toutes ces entrées dans l'entrée du groupe en faisant simplement glisser ce circuit vide dans chacune d'elles. Lorsque toutes les entrées seront créées, je les déplacerai simplement dans le panneau de droite, qui est le panneau des branches Et je vais également déplacer les graines en haut des entrées et les masquer sur les sockets avec Control H, par exemple, maintenant ça a l' air plutôt beau. Une autre chose que nous pourrions faire est de nettoyer un peu cet arbre. Je vais donc simplement utiliser une entrée de groupe différente. Donc ce n'est pas si compliqué que ça. Et reconnectez simplement ces entrées à leurs propres entrées de groupe Maintenant, quand tout sera terminé, nous pouvons passer à l'étape du modificateur, et vous pouvez jouer avec cette structure arborescente de base avec toutes ces entrées. Une dernière chose que j'ai oublié d'ajouter est le contrôle de l'angle parce que nous oublions celui-ci. Et sous cet angle, nous voulons contrôler, en fait, l'étendue du système global de succursales. Ajoutons donc rapidement nouvelles entrées pour cela. Pour cela, nous allons simplement choisir un angle de base, puis le caractère aléatoire, et cela fonctionnera de la même manière que la longueur de la branche, mais avec un seul angle de base Ajoutons donc la première entrée à l'angle et la seconde au caractère aléatoire de l'angle Je vais dupliquer cette entrée de groupe, et nous utiliserons la même technique qu'ici. Je vais donc simplement utiliser cette valeur aléatoire, utiliser celle-ci, ce sat, et nous allons simplement ajouter et soustraire le caractère aléatoire valeur de base comme celle-ci et l'intégrer à des valeurs minimales et maximales Cela générera un angle aléatoire, et nous pourrons le connecter à l'angle. Vous pouvez voir que maintenant tout est plat, mais c'est parce que ces entrées sont mises à zéro, donc je vais juste l'augmenter légèrement. Et nous pouvons également définir le sous-type de ces deux angles afin qu'ils soient exprimés en degrés. La dernière chose que nous devons faire est de relier cette graine à notre graine mondiale. Je vais donc simplement connecter les graines de l'entrée du groupe aux pointes fourchues. Et pour terminer, nous allons connecter ces deux entrées à l'entrée du groupe global. Encore une fois, avec ce gris, nous les stockerons et les déplacerons dans le panneau des branches 7. Données internes: Bonjour, et bienvenue sur Free D Trees with Blender Geometon Dans cette leçon, nous allons implémenter des données internes que nous utiliserons pour répartir nos feuilles et également pour déterminer le rayon de chaque branche pour chaque point J'ai déjà expliqué ces données dans l'introduction aux succursales, mais je vais les passer en revue sous peu. Ces deux attributs seront stockés pour chaque point, et le premier d'entre eux est la longueur. Au début de la racine, il est égal à zéro, puis il augmente en fonction de la distance à laquelle puis il augmente nous nous trouvons par rapport à la racine. Ainsi, par exemple, cela peut ressembler à ceci. Ensuite, nous implémenterons également l'inversion de cette version ou d'une version opposée, qui sera appelée longueur depuis la fin. Et celui-ci sera pareil, mais dans la direction opposée. Donc, aux extrémités des branches, ce sera zéro. Et au fur et à mesure que nous nous rapprochons de la racine, la valeur augmentera. La longueur à partir de l'extrémité sera utilisée pour répartir les feuilles aux extrémités des branches. Ainsi, par exemple, nous pouvons définir la valeur sur zéro ou 1,5, ce qui peut être quelque part ici, et les feuilles ne seront distribuées que dans ces branches. Et la longueur de base sera utilisée pour calculer le rayon du maillage de la branche. Très bien, passons donc aux nœuds de géométrie, et nous les implémenterons à l' intérieur du système de branches Passons donc au système de succursales. Et la première que nous voulons utiliser est la longueur, car celle-ci sera un peu plus simple. Nous allons donc stocker ces attributs. Donc, dans le premier cas, nous pouvons réellement stocker une certaine longueur de base pour le coffre. Je vais donc ajouter l'attribut Sterne. Il sera flottant pour chaque point, donc les valeurs par défaut sont correctes, et le nom sera length. Pour celui-ci, nous utiliserons un périmètre de spline, qui nous donnera la longueur de chaque point Et si nous visualisons cela, vous pouvez voir que c'est zéro en bas et deux en haut. Maintenant, si nous passons au système de succursales, la façon dont cela fonctionnera est que, par exemple, dans ce premier niveau, je vais simplement le diminuer. Dans ce premier niveau, ce point source a une longueur de deux. Pour tous ces points, nous ajouterons une longueur à cette valeur de base, ce qui nous donnera, par exemple, si cette courbe a une longueur de un, elle en créera trois à ce stade. La longueur sera donc implémentée à l'intérieur des pointes fourchues, car nous pouvons le faire ici. Je vais donc passer aux pointes fourchues et nous les stockerons ici à la fin après avoir déplacé les extrémités en fonction de la longueur Je vais donc ajouter un attribut nommé magasin, définir le nom sur la longueur. Et la longueur sera la longueur actuelle de la courbe plus la longueur du point source. Nous allons donc ajouter une valeur à celle-ci, et la valeur que nous utiliserons est la longueur du point source. Nous allons donc le capturer avant d'y instancier la courbe. Ajoutons donc un attribut de capture. Et nous allons capturer la longueur. Ajoutons donc également un attribut nommé, la longueur. Nous allons le capturer ainsi, puis nous allons intégrer cette valeur à cette addition, ce qui signifie que, par exemple, si ce point en a deux, cette courbe a une longueur de 0 à 1, ces valeurs s'additionneront, et nous en obtiendrons deux ici en bas et trois ici en haut Donc, si nous le stockons dans un attribut nommé, nous pouvons maintenant le visualiser à la fin de cette zone de répétition Je vais donc faire apparaître l'attribut nommé. Et maintenant, vous pouvez voir que ces points ont des valeurs légèrement différentes. Peut-être que je visualiserai cela à la fin de ce système de succursales qui sera le meilleur. Et nous pouvons également augmenter le nombre de niveaux et rendre les branches plus visibles. Maintenant, si nous visualisons cela, vous pouvez voir que ce point source a une longueur d'attribut nulle, alors cette valeur est d'environ trois. Et il y a 3,7, 4,7. Bien, je pense que j'ai fait une petite erreur dans les pointes fourchues. Ici, en plus, il doit y avoir ce périmètre de spline et la longueur de la colonne vertébrale, que j'ai utilisés auparavant, car cette longueur de colonne ne nous donnera que la longueur de la courbe, mais nous voulons une longueur sur chaque point Nous devons donc utiliser ce périmètre de rotation. Et maintenant, si nous visualisons ces valeurs, avec le plus grand alors, par exemple, alors je vais passer au plus grand et désactiver ce texte d'attribut. Vous pouvez voir qu'au fur et à mesure que j' augmente cette valeur, toutes les branches deviennent noires, et pour rendre cela encore plus visible, nous pouvons rééchantillonner ces courbes en un plus grand nombre de points, et maintenant vous verrez cette jolie bordure entre le noir et le blanc, qui longe les branches C'est donc pour la longueur. Nous voulons maintenant l'attribut opposé qui est la longueur à partir de la fin. Celui-ci sera un peu plus délicat, et c'est parce que la façon dont nous construisons le système de succursales est de commencer par le tronc puis de continuer jusqu'au Mais le meilleur scénario serait de commencer par le bout, puis de recommencer, mais ce sera un peu compliqué. Nous devons donc trouver un moyen de calculer la longueur à partir des extrémités. La façon dont nous allons calculer cela est que pour le tronc, nous allons stocker la longueur dans le sens opposé, donc la longueur du bout. Donc, en haut, ce sera zéro, et en bas, deux parce que celui-ci sera la fin. Et ici, en bas, la longueur à partir de l'extrémité est de deux. Ensuite, à chaque itération, nous allons prendre la longueur de la branche suivante Supposons donc que celui-ci en soit un et ajoutons-le à tous ces points. Donc celui-ci sera zéro plus un et deux plus un. Et pour cette courbe, nous allons à nouveau stocker la longueur inversée à partir de la fin Il y aura donc zéro, et il y en aura un, qui correspond à celui-ci. Maintenant, si nous faisons cela pour chaque niveau, encore une fois, celui-ci en a un et nous modifierons à cette longueur tous les points précédents. Il y en aura donc deux. Celui-ci sera un, et celui-ci est deux plus un plus un, soit quatre. Et vous pouvez voir qu' à chaque niveau, cela augmente la distance par rapport à la fin. Supposons que ce soit 0,5, ce sera zéro, 0,5, un plus cinq, 2,5 et 4,5 et vous pouvez voir qu'à la fin, nous devrions avoir cette valeur qui correspond à la longueur à partir de la fin. Nous allons également implémenter ce système de succursales internes, mais nous n'allons pas entrer dans les pointes fourchues, mais nous resterons également ici dans la zone de répétition. Et comme précédemment, nous allons d'abord commencer par stocker cet attribut pour le tronc principal. Utilisons donc un autre attribut nommé, mais nous l'appellerons length from end. Et celui-ci sera de longueur inversée. Donc, pour obtenir la longueur inversée, nous pouvons prendre la longueur totale de cette courbe, puis en soustraire ce périmètre Passons donc également à la longueur de la colonne vertébrale, qui nous donnera la longueur de la courbe. Vous allez soustraire ce périmètre de longueur, qui va de zéro à la longueur pour chaque point et commencer par la longueur à partir de la fin Si nous visualisons cette valeur, vous pouvez voir qu'elle est nulle en haut et deux en bas. Maintenant, dans le système de succursales, nous allons faire exactement ce que j'ai expliqué ici. Donc, pour ces nouvelles courbes, nous allons simplement stocker la longueur inversée Je vais donc encore une fois utiliser cet attribut surnommé, définir sur la longueur à partir de la fin Le type sera découpé, et nous utiliserons la même valeur que celle que nous avons utilisée ici Nous allons donc prendre une longueur de spline et soustraire le périmètre de la spline comme ceci une longueur de spline et soustraire le périmètre de la spline comme ceci. Cela nous donnera à nouveau le facteur de longueur inversé, et nous stockerons la longueur à partir de la fin Et pour tous les niveaux précédents, c'est-à-dire ce socket, nous ajouterons une longueur maximale de ces courbes de nu à leur longueur à partir de l'extrémité. Je vais donc dupliquer celle-ci et nous allons prendre leur longueur précédente à partir de la fin, que nous allons prendre avec un attribut nommé et ajouter une longueur de ces courbes à cette longueur. Le problème ici est que ces nouvelles courbes peuvent avoir des longueurs différentes, et il n'y a pas vraiment de moyen ramener chaque longueur aux niveaux précédents. Supposons que nous ayons le strunk et qu'il génère deux branches L'un est plus court et l'autre est plus long. Donc, le niveau précédent contient, disons, un et zéro, et nous ne pouvons pas déterminer la longueur de ce point parce qu'à partir de ce point, je ne sais pas, disons, 0,2, mais à partir de là, cela peut être comme un. Nous ne savons donc pas quelle valeur nous voulons ici. Et à mon avis, la meilleure chose à faire est d' ajouter ou d'ajouter la longueur maximale de ces courbes. Donc, comme il s'agit de 0,2 et que celui-ci est un, nous allons utiliser cette courbe qui signifie que ce point aura une distance de un, et celui-ci aura une distance de un plus un, soit deux. Donc, pour obtenir cette longueur maximale, nous pouvons simplement prendre cette géométrie et utiliser les statistiques des attributs. Et nous voudrons la longueur maximale des courbes. Le domaine dans lequel nous allons sélectionner sera la colonne vertébrale, et l'attribut que nous voulons utiliser est cette longueur à partir de la longueur de la colonne vertébrale. Je vais donc le dupliquer, le brancher dans l'attribut et faire de la place ici. Et en gros, nous allons simplement prendre ce maximum, l'ajouter à la longueur précédente de la fin comme ceci et le stocker dans la longueur par la fin. Donc, pour résumer, pour les nouvelles courbes, nous allons stocker le facteur de longueur inversé, et pour les anciennes courbes, nous allons simplement ajouter une longueur maximale de ces nouvelles courbes à leur longueur précédente depuis la fin Maintenant, si nous visualisons cela ici, je vais à nouveau utiliser la longueur d' attribut nommée à partir de la fin. C'est ici. Et nous pouvons à nouveau utiliser le plus grand, car cela nous permet de bien visualiser cela. Et au fur et à mesure que j'augmente cette valeur, vous pouvez voir que cette valeur va bien des extrémités des branches à la racine. Vous pouvez voir que si c'est zéro, elles sont toutes blanches, et quand je l'augmente, les extrémités sont noires et elles se dirigent vers la racine. 8. Les racines: Bienvenue dans Free D trees with Blender Geometry Rods. Dans cette leçon, nous allons continuer à travailler sur notre arborescence. Plus précisément, nous travaillerons sur les racines. Si vous essayez de dessiner des racines sur notre arbre, quelque chose comme ça, remarquez que cette forme ici est très similaire à celle d'ici. Et c'est exactement ce que nous allons utiliser, car nous allons réutiliser groupe de nœuds de notre système de branches pour créer les racines avec la même technique. Passons donc aux nœuds Geometri, et ici nous pouvons voir que dans cette partie, nous créons notre système de branches, et nous ajouterons la même chose, mais pour les racines Pour cela, nous pouvons dupliquer ce groupe de nœuds du système de branches. Et si nous examinons notre tronc, nous utiliserons également celui-ci, mais nous ne voulons pas faire pousser des branches par le haut mais par le bas. Nous allons donc associer notre géométrie à la géométrie ici. Et si nous produisons maintenant ce système de branches, nous pouvons tout voir. Mais si nous mettons notre sélection originale ici, nous avons un arbre très basique, comme avant. La première chose à corriger est que nous voulons les branches poussent par le bas. Donc, au lieu d'un point avec un indice un, qui se trouve ici, nous voulons les faire croître à partir d'un point avec un indice de zéro. Nous pouvons donc dupliquer cet équivalent avec Control h D et simplement changer un à zéro. Et si ce chiffre est égal à zéro, cela créera les branches. Maintenant, vous pouvez voir que cela crée les branches, mais il y a un problème car elles poussent dans le mauvais sens. Nous voulons qu'ils grandissent dans cette direction plutôt que dans cette direction. Pour résoudre ce problème, le moyen le plus simple est de prendre la courbe du tronc et de l'inverser, ce qui inversera le sens de cette courbe. Ajoutons donc une courbe inversée et branchons-y notre coffre. Et si nous associons maintenant cette courbe à la géométrie et cette sélection à la sélection du système de branches, vous pouvez voir que le système de branches a créé exactement ce que nous recherchions, les branches qui poussent à partir du bas de notre tronc. Maintenant, ce que nous pouvons faire, c'est combiner les courbes générées avec les courbes de branches. Je vais donc simplement assembler ces géométries. Vous pouvez d'abord simplement ajouter une géométrie de joint et les connecter séparément et les connecter manuellement ou vous pouvez maintenir la touche Ctrl le bouton droit de la souris et faire glisser le pointeur sur ces deux nœuds comme ceci, pour générer la géométrie du joint et joindre ces deux branches ensemble. Maintenant, si nous publions ceci, vous pouvez voir que nous avons une belle structure arborescente. Le seul problème que nous avons maintenant dans la configuration est que ce système de branches contient la courbe du tronc, et que le système racine contient également cette courbe du tronc. Cela signifie donc que dans cette section, deux courbes identiques se chevauchent Nous ne voulons pas quelque chose comme ça, nous devons donc nous débarrasser de l'un de ces troncs. Pour nous débarrasser de l'un de ces troncs, nous pouvons, par exemple, stocker l'attribut avant tous ces groupes de nœuds pour le tronc, puis vérifier où cet attribut est attribué et nous supprimerons cette géométrie Ainsi, par exemple, ici, nous allons ajouter une route arrière, et nous allons ajouter un attribut nommé magasin. Par exemple, nous pouvons ajouter un Bolin, nous pouvons l'appeler, par exemple, trunk et le définir sur true Cela signifie que cet attribut de tronc est désormais attribué à la courbe du tronc. Et dans le système de branches, nous ajouterons également cet attribut, mais nous le définirons sur falls. Passons donc au système de succursales. Et ici, lorsque nous associerons nos nouvelles branches à l'ensemble de la configuration, nous ajouterons un attribut nommé magasin, et nous stockerons à nouveau le tronc, mais en le réglant sur falls. Maintenant, si nous sortons de ce système de branches et que nous vérifions le tronc d'attributs nommé, vous pouvez voir que cette courbe est vraie, mais que ces courbes sont toutes fausses. Nous pouvons donc nous en servir. Par exemple, je vais supprimer ce tronc des racines, mais vous pouvez également le supprimer des branches, mais uniquement de l'une d'entre elles. Ajoutons donc une géométrie de suppression, et lorsque le tronc est vrai, vous voulez le supprimer. Je vais donc l'utiliser comme ça. Maintenant, si nous voyons cela, vous pouvez voir que les racines ne contiennent pas le tronc, mais que ce sont les branches qui le contiennent. Ensemble, cela nous donnera l'arbre entier sans aucun chevauchement C'est vrai. Maintenant, notre système de courbes a également des racines, et nous voulons pouvoir contrôler tous ces paramètres, que nous pouvons contrôler pour les branches. Nous voulons également les contrôler pour les racines. Pour cela, nous allons ajouter un tas d'entrées de groupe, et nous les ajouterons avec ce sockit vide Donc pour le siège, on peut utiliser celui qui existe déjà. Alors branchons-le sur le siège. Mais cela se traduira par le fait que ces deux groupes de nœuds utiliseront le même SAD, et nous pourrions obtenir les mêmes résultats sur eux. Alors faisons en sorte que ce soit un peu différent. Pour cela, nous pouvons par exemple utiliser un nœud MF. J'aime multiplier à, et nous allons multiplier cette graine par, par exemple, 15 et par un nombre aléatoire, disons 42. Et maintenant, cela nous donnera probablement toujours une valeur triste différente de la valeur initiale. Maintenant, nous avons le siège, et maintenant nous allons simplement connecter toutes ces entrées ou prises de groupe à l'entrée du groupe. Nous allons donc utiliser cette prise vide et je vais les brancher comme ça. Et maintenant, lorsque toutes ces prises sont connectées, nous pouvons cliquer pour afficher le menu du site, et j'ajouterai un nouveau panneau que j'appellerai root. Pour terminer, je vais déplacer tous ces attributs ou entrées vers ce panneau root. Bien, maintenant que tous les sockets sont connectés, nous pouvons masquer un nouveau socket avec Control H et nettoyer légèrement cet arbre de notes Je vais simplement regrouper ces nœuds avec Control J et l'appeler supprimer le tronc dupliqué Et nous pouvons également renommer toute cette configuration en système de branche. Nous pouvons maintenant aller dans Modifier et jouer avec nos racines. Je vais donc régler les niveaux sur quelque chose de plus petit, les allonger un peu et aussi jouer avec les angles. Nous pouvons également vérifier si nos deux attributs, à savoir la longueur et la longueur à partir de la fin, fonctionnent correctement. Je vais donc simplement ajouter un attribut nommé et une longueur, et nous vérifierons où il est supérieur à une valeur seuil, et je masquerai les textes de ces attributs. Donc, au fur et à mesure que je l'augmente, vous pouvez voir qu'à partir de ce point , tout va bien pour les branches, ainsi que pour les racines. Et pour vérifier l' autre paramètre, qui est la longueur depuis la fin, vous pouvez voir qu'il fonctionne également très bien. 9. Déplacement: Bienvenue dans trois arbres en D avec des nœuds de géométrie Blender. Dans cette leçon, nous allons travailler sur le déplacement de notre configuration de courbe, et nous allons donner à cet arbre un aspect un peu plus naturel. Donc, la façon dont cela fonctionnera est la suivante : en gros, nous allons simplement prendre ces courbes et les déplacer avec des textures de bruit Mais avant cela, nous devons être en mesure de contrôler la géométrie réelle de cet arbre. Nous allons le contrôler avec cette courbe de rééchantillonnage, mais nous donnerons à l'utilisateur la possibilité de contrôler la résolution dont nous disposons réellement Pour ce faire, il est préférable de passer ce type à la longueur, car cela signifie qu' il échantillonnera ces courbes pour obtenir des points uniformément répartis, et cela ne dépend pas de la longueur de la courbe. Et nous pouvons ajouter un périmètre à ce groupe de nœuds, qui sera la résolution. Ajoutons donc une nouvelle entrée entière, qui s'appellera résolution. Et nous pouvons définir la valeur par défaut sur, par exemple, dix et la valeur minimale sur un. Si nous faisons apparaître l'entrée du groupe, nous ne pouvons pas vraiment intégrer cette résolution directement dans cette courbe de rééchantillonnage car ces valeurs entières sont très élevées, et vous pouvez voir que cela ne fonctionne pas vraiment Nous voulons ici des valeurs plus faibles. Mais pour l'utilisateur, il est préférable de travailler avec ces valeurs entières. Donc, pour calculer cette longueur, nous pouvons utiliser le nœud MF et nous pouvons simplement diviser une constante par cette résolution, qui signifie que si nous augmentons cette résolution, cette division sera plus petite ou le résultat sera plus petit, et la géométrie aura plus de points. Donc, si nous utilisons 0,5, par exemple, vous pouvez voir que maintenant, lorsque la résolution est définie sur un, le pas entre les points est de 0,5. Mais si nous le fixons, par exemple, à dix, le pas entre les points sera de 0,05 Donc pour le moment, je vais laisser les choses comme ça, et nous pouvons travailler sur le déplacement avec des textures de bruit. Pour ce faire, nous utiliserons un simple nœud de position définie. Ajoutons donc cela. Et nous utiliserons cette entrée de décalage avec laquelle vous pourrez décaler l'arbre dans toutes les directions. Si nous ajoutons maintenant une texture de bruit, par exemple, cette couleur produit vecteur tridimensionnel avec des valeurs de 0 à 1 Si nous le branchons directement dans le offset, vous pouvez déjà voir qu'il effectue une sorte de déplacement. Et si on joue avec la balance, on peut voir que l' arbre est bien plus beau maintenant Le problème est que la racine de l'arbre n'est pas à 000, donc c'est le premier problème, et l'arbre entier est en quelque sorte déplacé dans cette direction. Tout cela est dû à cette couleur, qui ne nous donne que des vecteurs positifs, et nous voulons également des vecteurs négatifs. Pour changer cela, nous pouvons utiliser une plage cartographique et nous pouvons remapper ce vecteur car la couleur est un vecteur allant de 000111 à un négatif. résultera que ce vecteur nous donnera également des valeurs négatives. Et si nous l'associons à Offset, vous pouvez maintenant voir que l' arbre est presque centré, et cela se corrige un peu. Mais le centre n'est toujours pas exactement à zéro, zéro, zéro. Pour changer cela, nous pouvons utiliser l'un des attributs que nous stockons , à savoir la longueur. Si nous examinons la longueur, vous pouvez voir qu' elle est nulle ici au centre ou à la racine, et qu'elle augmente vers les branches. Nous pouvons utiliser cette valeur pour multiplier ce vecteur, qui fera en sorte que ce point restera à zéro, zéro, car si nous multiplions le vecteur ici par zéro, il sera nul. Et au fur et à mesure que nous nous dirigerons vers les branches, il sera multiplié par un. Donc, si nous prenons cette longueur et que nous multiplions ce vecteur par elle, nous pouvons utiliser une échelle pour cela. Cela se traduira par quelque chose comme ça. Vous pouvez voir que les branches aux extrémités sont vraiment déformées, mais le point de départ de ce vecteur ou de cette rose est toujours à zéro, zéro, zéro. Les branches sont ici très déplacées car leur longueur est beaucoup plus élevée. Et nous voulons que ce multiplicateur soit un au maximum. Pour cela, nous pouvons utiliser une pince qui fixera la valeur dans une certaine plage. Donc, s'il est supérieur au maximum, il reviendra au maximum. Donc, si nous fixons ce 0-1, vous pouvez voir que maintenant cela semble beaucoup mieux Nous pouvons également le visualiser, et vous pouvez voir que cette valeur de serrage multiplie ces vecteurs par zéro Mais quand c'est quelque part ici, ils sont déjà les originaux et ils sont multipliés par un. Maintenant, cela semble relativement intéressant, et nous voulons être en mesure de contrôler le degré de distorsion de ces points. Pour ce faire, nous pouvons multiplier cette valeur bloquée par une constante Passons donc à la multiplication. Et connectez-le à la balance. Maintenant, si je joue avec cette valeur, vous pouvez voir que je peux modifier l' impact du bruit sur le déplacement des points. Le deuxième périmètre, que nous pouvons également contrôler, est très important, c'est l'échelle du bruit. Donc, si vous jouez avec le bruit et que vous le réduisez, vous pouvez constater que la distorsion de l'arbre est beaucoup plus douce. Et si nous le fixons à quelque chose de plus élevé, vous pouvez voir que c'est très dur et très détaillé. Pour obtenir les meilleurs résultats, il est très utile de combiner quelques-unes de ces textures de bruit. Nous allons donc combiner deux d'entre elles, et nous voudrons les utiliser de manière à ce que la première ait une échelle très faible, et cela créera un tel déplacement, sorte que les branches seront très lisses, puis nous appliquerons une autre texture de bruit qui aura échelle beaucoup plus élevée et ajouterons ces détails difficiles. Nous pouvons donc réutiliser la configuration une fois de plus, et nous allons simplement additionner ces valeurs. Les valeurs que nous voulons contrôler sont cette valeur de multiplication et cette échelle. Ajoutons donc quelques entrées de groupe. Je vais appuyer sur N, et j'ajouterai un nouveau panneau que j' appellerai déplacement. Et je vais ajouter des entrées pour cette première texture de bruit. La première entrée sera donc l' échelle de bruit 1 et la puissance du bruit 1. Et je vais régler la valeur par défaut sur quelque chose comme 0,25 et la puissance également sur 0,25, nous pouvons l'essayer ici à quoi cela ressemble. C'est peut-être trop petit. Je vais régler le pouvoir sur un. Et maintenant, pour la deuxième texture que vous allez utiliser, nous pouvons simplement les dupliquer et je les renomme en deux Pour celui-ci, j'utiliserai une échelle de un, et la puissance de bruit de deux aura une valeur par défaut. Mais 0,25, par exemple. Passons maintenant au modificateur et réinitialisons-les à leurs valeurs par défaut. Et nous pouvons connecter ces entrées à cette première installation. Je vais donc passer à l'entrée de groupe et connecter cette échelle de bruit à l'échelle et la puissance du bruit à cette multiplication. Je veux dupliquer la configuration, donc je vais simplement sélectionner ces nœuds et appuyer sur Control G, et je vais simplement renommer ces entrées Cette échelle est excellente, et la seconde sera Power. Et nous pouvons appeler ce groupe de nœuds un déplacement de branche. Et comme nous voulons ajouter un autre déplacement, je vais le dupliquer et utiliser une échelle et une puissance différentes. Pour les combiner, nous pouvons simplement ajouter ces vecteurs. Ajoutons donc une addition et intégrons le vecteur obtenu à l'offset. Maintenant, si je passe à Modifier, vous pouvez voir que nous pouvons contrôler les impacts de ces deux textures, et nous pouvons obtenir des résultats très intéressants. Pour nous assurer que ces textures de bruit ne sont pas identiques, nous pouvons changer ce type de texture de bruit en quatre D et utiliser ce périmètre W, qui ressemble à CT. Je vais donc brancher ce W sur l'entrée du groupe et le déplacer vers le haut. Et maintenant, en dehors de ces groupes de nœuds, je vais utiliser l'ensemble. Et encore une fois, nous obtiendrons des valeurs différentes à partir de ce siège avec un nœud multiplicateur Ed. Ajoutons donc multipliez les annonces. Donc, tout d'abord, encore une fois, nous pouvons simplement utiliser des valeurs aléatoires. Et je vais appliquer le premier à ce W et le second, vous pouvez simplement utiliser des valeurs aléatoires et elles auront probablement des valeurs différentes pour chaque siège. Ils le connecteront au second W. Nous pouvons les masquer et également masquer un nouveau circuit avec Control H. Maintenant, lorsque nous changeons de siège, les sièges des textures sonores changeront également. Pour terminer, nous pouvons sélectionner toutes ces notes et appeler cela un déplacement. Cette partie précédente peut également être appelée résolution. 10. Génération de maillage: Bienvenue dans trois arbres en D avec des nœuds géométriques en forme de mixeur. Dans cette leçon, nous allons commencer à générer le maillage réel de notre arbre et à ajouter quelques cartes UV de base. Passons donc aux nœuds Geometri. Et la première chose est que pour générer un maillage à partir de courbes, nous allons utiliser une courbe pour mailler un nœud, afin de pouvoir l'ajouter. Et pour le profil, nous allons utiliser un cercle incurvé pour le moment car nous voulons qu'il soit circulaire. Maintenant, si nous branchons cette courbe dans courbe de profil et que nous diminuons le rayon, vous pouvez voir que nous n' avons pas très beau, mais que nous avons un maillage vraiment basique autour de notre structure de courbe. Pour l'instant, nous pouvons également vérifier ces bouchons de remplissage afin que les extrémités soient remplies. Et la première chose que nous allons faire est jouer avec le rayon de la courbe. Si nous ajoutons un rayon de courbe défini, vous pouvez voir qu'avec cette note, nous pouvons contrôler le rayon de chaque point, et nous pouvons les contrôler séparément, ce qui est très puissant. Donc, pour notre arbre, nous voulons que le rayon ici au début soit quelque part autour de un, par exemple, et ici à la fin, il soit autour de zéro, donc il diminuera au fur et à mesure qu'il ou qu'il s'approche des extrémités des branches. Pour obtenir cette valeur, nous pouvons utiliser notre attribut de longueur que nous capturons. Donc, si nous visualisons notre longueur, vous pouvez voir qu'elle est nulle ici et qu'elle augmente vers les extrémités des branches. Le problème, c'est que les valeurs sont très élevées. À la fin, il y a quelque chose comme 6,9, mais la valeur idéale serait juste un, puis nous pouvons simplement inverser cet attribut Donc, pour remapper cette longueur de zéro à 6,9 ou quelle est la valeur Nous pouvons simplement prendre la longueur maximale de ces branches et diviser la longueur par celle-ci. Ainsi, par exemple, si la longueur maximale ces branches est de sept, ici, à ce stade, elle sera environ 0,95 ou quelque chose comme ça, et c'est ce que nous recherchons Ainsi, pour obtenir la longueur maximale de ces branches, nous pouvons utiliser les statistiques d'attributs. Ajoutons donc une note sur les statistiques des attributs. Et nous voulons des statistiques de cette longueur. Branchons donc cet attribut de longueur à l'attribut, et nous voulons prendre ce maximum. Maintenant, pour convertir cette longueur en une plage de zéro à un, nous pouvons simplement la diviser par ce maximum. Et si nous visualisons maintenant cela, vous verrez qu'ici, à la fin, il y a quelque chose comme 0,99, et qu'ici au début, c'est quelque part autour de zéro C'est donc exactement ce que nous recherchons. Le seul problème maintenant, c'est que si vous regardez les racines, les valeurs aux extrémités ne sont pas vraiment une, mais elles sont de 0,27 et ainsi de suite Et c'est parce que les branches situées au sommet sont beaucoup plus longues que les racines. Mais les racines utilisent également la longueur maximale des branches. Nous devons donc séparer ces deux parties et calculer ce facteur séparément. Pour cela, nous allons transférer ce calcul dans le système de branches, ce qui séparera ces deux parties. Je vais donc simplement supprimer ces nœuds ici, et je vais passer au système de branches, et nous pourrons calculer ce facteur à la fin de la zone de répétition. Ici, dans la zone de répétition, à la fin de la zone de répétition, nous ajouterons un nœud de statistiques d'attributs et nous prendrons un attribut de longueur Et divisez-le simplement par le maximum. Donc, c'est la même chose que nous avons fait avant. Et ici, nous pouvons simplement stocker cette valeur dans un autre attribut. Je vais donc ajouter un attribut nommé magasin, que je vais appeler, par exemple, facteur de longueur, et intégrer ce résultat à cet attribut. Maintenant, si nous revenons à la fin de notre configuration et que nous visualisons ce facteur de longueur, vous pouvez voir que les branches ont toujours 0,99, mais que les racines ont également quelque chose d'environ 0,807, et elles sont très proches Donc c'est sympa. Et par exemple, maintenant, si nous branchons cet attribut sur les radios, vous verrez que les branches sont fines ici au début et plus épaisses vers les extrémités des branches. Nous voulons inverser cette tendance et nous voulons une épaisseur maximale au début et une épaisseur minimale aux extrémités. Donc, pour inverser cette tendance, nous pouvons simplement prendre le nœud mathématique et soustraire cette valeur de un Donc quelque chose comme ça. Vous pouvez maintenant voir que les branches ou la racine sont la partie la plus épaisse ici Et au fur et à mesure que nous arrivons à la fin, ils sont de plus en plus fins. Ensuite, vous pouvez également contrôler le rayon global avec le rayon du cercle incurvé, et c'est plutôt joli. Actuellement, la baisse est linéaire. Donc, si nous dessinons un graphique ici, sur l'axe y se trouvera le rayon, et sur l'axe X, le facteur de longueur. Je vais juste le marquer comme ici. Actuellement, lorsque le facteur de longueur est nul, le rayon est un, et lorsque le facteur de longueur est un, le rayon est nul. Cela ressemble donc à ceci. Dans certains cas, nous souhaiterons peut-être que les branches soient plus fines plus tôt dans l'arbre. Nous voulons donc que la courbe ressemble à ceci. Ou d'un autre côté, nous voulons qu'ils soient plus épais plus longtemps au fur et à mesure que nous arrivons au bout. Nous voulons donc que cela ressemble à ceci. Pour contrôler cela, nous pouvons utiliser, par exemple, courbe flottante où nous pouvons faire exactement quelque chose comme ça. Donc, si nous ajoutons une courbe flottante après celle-ci, nous pouvons simplement jouer avec cette valeur. Maintenant, vous pouvez voir que si je le place sous la fonction linéaire, vous pouvez voir que les branches sont plus fines, et si je le mets ici, elles sont plus épaisses. Le problème ici est que nous ne pouvons pas réellement contrôler cette courbe flottante dehors de ce groupe de nœuds ou en dehors de ce modificateur. Nous devons donc trouver une autre façon de procéder. La façon dont nous allons procéder est donc utiliser la fonction X à A où le X est le facteur ou notre facteur de longueur et le A est une variable d'entrée qui peut être contrôlée par l'utilisateur. Ici , c'est visualisé. Ainsi, lorsque le A ou l' exposant est défini sur un, la fonction est linéaire Mais si je le mets à une valeur inférieure à un, vous pouvez voir que la fonction fonctionne plutôt comme ça, ce qui signifie que les branches seront plus épaisses. Et s'il est supérieur à un, vous pouvez voir qu'il passe sous la fonction linéaire, ce qui signifie qu' ils seront plus fins. Donc, pour implémenter cela dans Blender, nous pouvons simplement prendre cette valeur et utiliser un Bower et l'exposant sera une valeur Donc, si nous le fixons à un, vous pouvez voir que nous obtenons les mêmes résultats qu'avec la fonction linéaire. Si je le règle sur une valeur inférieure à un, ils sont plus épais, et s'ils sont supérieurs à un, vous pouvez voir qu' ils sont plus fins. 11. Cartographie UV et raffinement: Bonjour, et bienvenue dans Three D trees with blender geometry rods. Vous pouvez en choisir encore plus de deux, et vous obtiendrez un dégradé encore plus beau. Mais cela dépend, je vais probablement fixer valeur maximale à quelque chose comme trois et la laisser comme ça. Donc, pour ajouter quelques contrôles, je vais ouvrir le menu du site, et la première chose que je vais ajouter est le rayon global. Qui contrôlera le rayon de ce cercle de courbe. Je vais définir la valeur par défaut à 0,15, et la seconde sera la chute du rayon, qui sera cet exposant Je vais donc ajouter une nouvelle entrée et l'appeler radius fall off. Le sous-type, je vais le définir sur acteur car il sera à petite échelle, donc vous pouvez l'utiliser Réglez la valeur par défaut sur un et définissez-la sur 0-3. Pour utiliser ces entrées de groupe, je vais simplement les connecter à partir de l'entrée de groupe. Également le rayon du cercle incurvé. Maintenant, si je passe au modificateur, vous pouvez voir que je peux maintenant contrôler le rayon de ces courbes et leur chute. Nous pourrions également définir ces valeurs séparément pour les branches et les racines. Le meilleur moyen serait alors de placer également ces contrôles dans le système de succursales, mais je vais m'en tenir à cette version. Donc, pour nettoyer un peu les choses, je vais simplement déplacer ce rayon ici et maintenant nous pouvons appeler ce groupe de nœuds radius parce que nous contrôlons le rayon ici. Maintenant, la prochaine chose que nous ne contrôlons pas encore est cette résolution. Une solution serait de simplement modifier l'entrée du groupe, mais nous pouvons le faire un peu plus intelligemment. Nous pouvons simplement utiliser cette entrée de résolution, que nous avons déjà, et simplement calculer le nombre de points que le cercle de courbe devrait avoir. Donc, pour la résolution, nous calculons ici. Et avec cette division, nous sommes décalés entre deux points. Je vais donc simplement le dupliquer avec Shift D et le parent avec TP, afin qu'il ne soit pas dans le cadre et déplacer ici vers l'avant. Et en gros, le cercle incurvé ressemble à ceci, et nous savons quel est son rayon. Nous connaissons donc cette valeur R et nous devons calculer le nombre de points qu'elle aura. L'information que nous connaissons également est l'espacement entre les points de cette division Nous savons donc que je vais juste dessiner un tas de points ici, quelque chose comme ça. Et nous savons combien de temps cet écart devrait durer. Appelons-le G as gap. Et pour calculer le nombre de points qui entrent ici, nous pouvons simplement utiliser le fait que la longueur du cercle est deux fois le rayon. Cela nous donnera toute la longueur. Et si nous le divisons par cet écart, nous devrions obtenir le nombre de points que nous devons créer. Calculons donc cela. Je vais simplement multiplier ce rayon par deux Pi comme ceci , puis le diviser par cette valeur d'écart, qui est ici. Et si vous le connectez à la résolution, vous verrez que la valeur que nous obtenons est 17,6, elle est arrondie automatiquement, nous n'avons donc pas besoin d' arrondir cette valeur Et maintenant, si nous examinons la géométrie et que, par exemple, nous diminuons la résolution, vous pouvez également constater qu'elle diminue automatiquement le nombre de points, et nous n'avons pas à nous en soucier. Très bien, la dernière partie sera donc de générer les UV. Pour générer la carte UV, nous avons besoin de deux variables. L'un d'eux augmentera vers les extrémités des branches, et le second devra contourner les branches, ce qui générera nos coordonnées de texture. Donc, d'abord, pour celui-ci, nous pouvons simplement utiliser notre attribut de longueur car nous l'avons déjà calculé, et il doit être correctement calculé. Nous pouvons donc simplement utiliser celui-ci. Et pour le deuxième axe, nous pouvons utiliser un facteur de cette courbe que vous utilisez pour le profil. Donc, si vous regardez ce cercle et que vous utilisez un périmètre simple, qui inclut le facteur, vous pouvez voir que ce facteur va de 0 à 1 autour du cercle, et nous pouvons utiliser cette valeur pour l'UV Nous devons donc capturer cet attribut avant de générer le maillage. Ajoutons donc un attribut de capture, et nous voudrons capturer ce facteur pour chaque point. Et maintenant, après le maillage, nous devons créer les UV Ajoutons donc un attribut nommé au magasin. Les UV sont un type de vecteur et ils sont stockés pour chaque angle de phase. Nous allons donc les définir comme suit Le nom sera UV map. Et la valeur sera un vecteur. Combinons donc XYZ. Et pour la valeur X, nous pouvons utiliser ce facteur, et pour la valeur Y, nous utiliserons cette longueur. Si nous visualisons maintenant cela, vous pouvez voir que nous avons de beaux UV pour l'arbre Et le seul problème, c'est que si vous regardez cette partie, vous pouvez voir qu'il y en a zéro il y en a un et que tout tourne autour de vous. Mais ensuite, il y a un retour rapide à zéro. Pour éviter cela, nous devons faire les choses un peu différemment. Le problème auquel nous sommes confrontés est que si nous visualisons le facteur du cercle, nous pouvons simplement utiliser ceci et je vais l'effacer. Vous pouvez voir que la valeur est zéro au point de départ. Et pour ce qui est du dernier point, c'est quelque chose comme 0,9 gratuit, puis on se rapproche rapidement du zéro. Ce dont nous aurions besoin, c'est d'en avoir un ici également dans cette direction et zéro ici dans cette direction. Pour obtenir cela, au lieu d'un cercle incurvé, nous pouvons utiliser une spirale, qui n'est pas une courbe fermée, mais elle a deux points dans cette position. Ajoutons donc une spirale incurvée. Utilisons nos valeurs calculées. Donc, pour la résolution, nous utiliserons la même valeur. Rotations, nous ne voulons qu' une seule rotation, alors fixons-la à une Les rayons de début et de fin seront les mêmes. Branchons donc le rayon dans les deux comme ceci et nous ne voulons pas que je me contente de visualiser cela. Nous ne voulons pas que la courbe ait une hauteur, alors fixons la hauteur à zéro. Vous pouvez maintenant voir que cette courbe a en fait un et zéro à cet endroit. Il y a en fait deux points qui se chevauchent. Et si nous utilisons cette spirale au lieu d'un cercle incurvé, nous devrions obtenir de bien meilleurs résultats. Maintenant, vous pouvez constater qu' ici, à ce niveau, il y a une transition difficile, ce qui signifie que les cartes UV sont correctes Je vais donc simplement supprimer ce cercle incurvé. Mais maintenant, nous avons un autre problème : ici, à cette position, il y a des points qui se chevauchent Nous pouvons vérifier que si nous survolons cette sortie, il y a 35 000 sommets Et si nous utilisons la méthode de fusion par distance, il n'y a plus que 32 000 sommets Il y a donc de nombreux sommets qui se chevauchent et que nous devons fusionner Si nous regardons maintenant la carte UV avec le visualiseur, celle-ci, vous pouvez constater une fois de plus que nous avons cette transition brutale que nous ne voulons pas ici ou cette transition rapide 1-0. Et pour y remédier, nous allons remplacer cet attribut surnommé par une simple capture de ce vecteur Je vais donc le supprimer et ajouter un attribut de capture. Nous voulons capturer ce vecteur qui stocke notre carte UV, et l'important est d'utiliser un coin de face. Maintenant, si nous visualisons cette carte UV après la fusion par distance, vous pouvez voir qu' elle fonctionne correctement, et comme c'est après la fusion par distance, les points qui se chevauchent ont disparu Pour terminer, stockons cet attribut pour le coin de la face et appelons-le carte UV, et nous allons simplement y connecter cet attribut capturé. Maintenant que nos cartes UV sont terminées, nous pouvons sélectionner toutes ces notes et simplement les appeler mesh plus UVs, par exemple Maintenant, pour vérifier si cela fonctionne avec certains matériaux, nous pouvons utiliser nos documents , que vous pourrez obtenir gratuitement. Donc, pour ajouter ces matériaux au fichier de mélange, nous pouvons ajouter, trouver le fichier contenant les matériaux, et il devrait y avoir du matériel, et il devrait y avoir du matériel, y a deux matériaux pour Il y a de l'écorce de chêne et de l'écorce de secura, nous pouvons donc les ajouter toutes les deux Et maintenant, lorsque nous ajoutons du matériel fixe, et si nous utilisons l'un de ces matériaux, vous pouvez voir que nous avons de beaux matériaux sur notre arbre. Pour terminer, nous ajouterons entrée matérielle à notre entrée de groupe. Faisons donc apparaître le menu du site, et j'ajouterai une nouvelle entrée, appellerai matériel et que je saisirai deux documents. Et nous utiliserons simplement ce matériel pour la saisie de groupe pour nos succursales. Une autre chose que vous voudrez peut-être contrôler est l'échelle de ces cartes UV. Et nous pouvons simplement le faire en redimensionnant ce vecteur ici avant de le stocker. Donc, si nous ajoutons une échelle et que nous jouons avec elle, vous pouvez voir que si je l'augmente, les textures ont une meilleure résolution ou sont plus petites, et vous pouvez également contrôler cela. Je vais donc simplement ajouter une autre entrée, qui sera l'échelle UV, définir la valeur par défaut sur un et le minimum sur zéro, et je vais simplement connecter cette échelle UV à la balance. Maintenant, si nous le réglons sur un, vous pouvez voir que nous pouvons facilement contrôler l'échelle de notre matériau et le modifier très facilement. 12. Les bases de la distribution des feuilles: Bienvenue dans trois arbres en D avec des nœuds de géométrie Blender. Dans cette leçon, nous allons commencer à ajouter des feuilles à notre arbre et ajouter trois options différentes pour les distribuer. Les trois types de distribution des sauts que nous allons mettre en œuvre ont donc des sauts que nous allons déjà été expliqués dans l'une des premières leçons, mais je vais les passer en revue rapidement. La première consiste donc à distribuer des feuilles partout dans nos branches, sorte qu'elles seront partout ici sur les branches. Le second type sera celui de l'extrémité, ce qui signifie que nous allons simplement prendre ces branches et utiliser une valeur de seuil pour contrôler à quelle distance les feuilles se trouveront encore des extrémités. Cette option donne, à mon avis, les meilleurs résultats, et la dernière option sera contrôlée par l'axe Z minimum ou la position Z. Nous allons donc fixer une valeur seuil et distribuer les feuilles uniquement sur les branches ou sur les points supérieurs à cette valeur seuil. commencer, nous aurons besoin de quelques feuilles sur lesquelles vous testerez notre installation, et vous les trouverez dans le fichier que vous obtiendrez gratuitement avec Discours. Je vais archiver, ajouter, dans le fichier contenant les objets, nous allons passer à la collection, et il y a peu de collections, et je vais toutes les inclure sauf cette collection. Nous n'avons pas besoin de celui-ci. Et si nous cliquons sur Ajouter vous pouvez voir que cela ajoute un tas d'objets à notre scène, et qu'ils sont bien organisés dans ces collections Il existe deux collections principales pour le chêne et le sacara Pour chacune d'elles, il existe des feuilles différentes. Donc, pour le chêne, il existe trois types de feuilles ainsi que le matériau que nous avons appliqué dans la leçon précédente. Et pour le sacara, il existe deux types de feuilles. Il y en a un fleuri et il n'y en a pas un fleuri. Et le dernier, il y a les pétales de fleurs que nous pourrons utiliser plus tard, par exemple pour le système de particules. Donc pour l'instant, je vais simplement masquer ces deux collections et commencer à distribuer quelques feuilles. Passons aux nœuds de géométrie. Et la façon dont nous choisirons entre ces trois types expliqués se fera par le biais du menu. Ouvrons donc un panneau de site, et d'abord, j'ajouterai un nouveau panneau, que j'appellerai feuilles. Et pour choisir entre ces trois types différents, je vais entrer, qui aura un type de menu. Je l'appellerai où parce qu'il contrôlera l'endroit où les feuilles se reproduisent. Et si nous allons maintenant dans Modifier, vous pouvez voir que cette liste déroulante ne contient aucune option Pour ajouter des options, nous devons connecter cette entrée de groupe à une sorte de nœud de menu. Pour ce faire, nous pouvons ajouter un commutateur de menu, qui est essentiellement un nœud où vous pouvez ajouter un tas d' options, puis le contrôler à l'aide de ce menu. Je vais donc simplement connecter cette entrée ware à ce commutateur de menu. Et pour modifier ces options, nous allons cliquer sur ce commutateur de menu et passer à Node tap. Et ici, nous pouvons modifier toutes les options. La première option sera donc les branches. Le second partira de la fin, et le troisième sera Min Z pour la position Z minimale. Ce commutateur de menu peut désormais basculer entre ces trois entrées de géométrie. Et pour chaque type, nous allons créer des courbes sur lesquelles nous voulons répartir les feuilles, puis nous allons simplement utiliser cette sortie, qui sera sélectionnée avec ce logiciel, et nous distribuerons les feuilles sur cette courbe. Nous pouvons également vérifier cela dans le modificateur, nous avons maintenant ces trois options. Nous pouvons choisir n'importe laquelle d'entre elles, et ce devrait être l'une de ces entrées. Donc, pour créer les courbes de base, nous utiliserons les courbes de notre arbre, et je les utiliserai après le rayon, car nous aurons besoin de ces informations sur le rayon plus tard lors de la distribution des feuilles. Prenons donc ces courbes, et la première option que nous avons ici sont les branches. Cela signifie que nous ne voulons que des courbes qui sont des branches et que nous devons supprimer toutes les autres. Ajoutons donc la géométrie de suppression. Et maintenant, pour déterminer quelles courbes sont des branches et lesquelles ne le sont pas, nous pouvons, par exemple, utiliser l'attribut length, que nous avons ici, et lorsque la longueur est supérieure à la longueur du tronc parce que la longueur du tronc se trouve uniquement sur le tronc, puis les longueurs sont plus élevées. Ainsi, lorsque la longueur est supérieure à la longueur du tronc, nous ne devrions obtenir que les branches. J'ai besoin du contraire. Donc, si nous supprimons tous les points où la longueur est inférieure à la hauteur du tronc, nous devrions obtenir les branches. Voyons donc la longueur de l'attribut nommée. Et si elle est inférieure à la hauteur du tronc, nous pouvons également le visualiser, et vous pouvez voir que toutes les branches situées sous le tronc sont blanches. Mais le problème, c'est que certaines racines ne sont pas cueillies ici. C'est parce que leur longueur est supérieure à la hauteur du tronc et que nous ne voulons pas de feuilles sur les racines. Donc, pour résoudre ce problème, nous pouvons également ici, sur la tige de cette branche, stocker des informations si ces courbes sont des racines ou non. Donc, pour cela, je vais ajouter un ensemble d'attributs nommé magasin de type 2 Bolin et l'appeler root. Et pour les meilleurs, ce sont mes succursales. Je vais donc le régler sur Falls. Et pour ceux du bas qui sont en fait des racines, je vais le définir sur true. Maintenant, si nous allons dans ce sens, nous choisirons essentiellement les endroits où la longueur est inférieure hauteur du tronc ou s'il s'agit de racines. Nous allons donc utiliser des racines d'attributs nommées. Et si cela est vrai, nous voulons également les supprimer, ce qui devrait nous donner une meilleure sélection. Maintenant, vous pouvez voir que toutes ces racines, y compris le tronc, sont blanches, ce qui signifie que toutes ces parties seront supprimées. Donc, si nous visualisons cela maintenant, vous pouvez voir que nous n' avons que ces branches. Cela signifie que nous avons sélectionné la première option et que nous pouvons la connecter aux branches. Et maintenant, si nous le produisons, nous avons maintenant des branches sélectionnées, donc nous avons des branches. Mais si nous sélectionnons autre chose, ils sont vides. Alors faisons-les également. Pour l'option from end, nous utiliserons à nouveau la géométrie DD. Et nous voulons supprimer tous les points où la longueur depuis la fin est supérieure à un certain seuil. Pour cela, nous devons donc ajouter cette entrée de seuil. Je vais donc ajouter une nouvelle entrée à ce groupe et l' appeler length from end. Et je vais définir la valeur par défaut sur, par exemple, un, et la réinitialiser ici. Et maintenant, si nous prenons la longueur de l'attribut nommé à partir de la fin, nous voudrons supprimer tous les points où la longueur à partir de la fin est supérieure à cette longueur à partir de la fin de l'entrée du groupe, ou s'il y a des racines. Encore une fois, nous allons ajouter ceci ou valeur ou cela avec des racines. Et maintenant, si nous voyons cela, vous pouvez voir que nous n' avons que les extrémités des branches, et que nous pouvons le contrôler avec ce périmètre d'entrée de groupe. Cette partie est donc également terminée. Et maintenant, la dernière partie est l'axe Z minimum. Donc, pour celui-ci, nous aurons également besoin d'un périmètre. Ajoutons donc une nouvelle entrée et appelons-la Min Z. Et encore une fois, nous utiliserons la géométrie de suppression et nous supprimerons tous les points dont la position sur axe Z est inférieure à ce seuil Nous allons donc prendre position. Nous n'obtiendrons que la position Z en séparant XYZ, et si celles-ci sont inférieures l'entrée Z principale, nous les supprimerons Cela ressemblera donc à ceci. Et nous pouvons connecter cette troisième option à ce commutateur de menu. Maintenant, si nous jouons avec ces options, nous devrions obtenir ces trois types de courbes sur lesquelles nous allons répartir les feuilles. De plus, un petit conseil si vous avez itinéraires arrière les uns en dessous des autres comme celui-ci et que vous souhaitez les aligner, vous pouvez simplement les sélectionner et appuyer sur X sur l'axe X, zéro, et cela les alignera sur l'axe X sur une ligne. Nous pouvons également regrouper ces nœuds avec Control J, et je l'appellerai courbes foliaires. 13. Placement avancé des feuilles: Bonjour, et bienvenue dans Free D trees with Blender Geometry nodes. Et maintenant, commençons à générer des feuilles sur ces courbes. Donc, pour créer les feuilles, nous allons utiliser l' instance sur les points. Mais nous devons d'abord répartir les points le long de ces courbes. La meilleure façon de répartir points de manière aléatoire sur les courbes est simplement créer un groupe de points, puis échantillonner la courbe avec un facteur aléatoire, ce qui permettra de bien les répartir. Alors d'abord, ajoutons quelques points. J'en ajouterai, par exemple, 200 pour le moment. Et comme dépôt, nous utiliserons un échantillon de courbe. Nous allons donc échantillonner ces courbes. Nous voulons toutes les échantillonner afin de vérifier toutes les courbes, et maintenant nous pouvons simplement contrôler ce facteur. Pour chaque point, nous voulons que ce facteur soit randomisé. Ajoutons donc une valeur aléatoire 0-1, connectez-la au facteur. Et maintenant, si vous insérez cette position dans ces points, vous verrez que les points ne doivent être répartis que sur les branches. Vous pouvez voir qu'elles sont modifiées en fonction de la façon dont nous définissons ces courbes. Mais le problème maintenant, c'est que nous ne savons pas vraiment combien de points nous voulons , car parfois les pièces sont très petites et nous ne voulons pas avoir beaucoup de feuilles au même endroit. Et parfois, il y a de longues courbes, et nous ne voulons pas de grands écarts entre elles, mais nous voulons un bon nombre de points ici. Pour calculer un grand nombre de points, nous pouvons simplement prendre la longueur totale de toutes ces courbes avec la longueur de la courbe. Ce nœud nous donne donc la longueur totale de toutes ces courbes. Et maintenant, si nous ajoutons une nouvelle entrée que nous pouvons appeler, par exemple, densité, nous pouvons simplement prendre cette longueur et la multiplier par la densité. résultera que, quelle que soit la longueur des courbes, Il en résultera que, quelle que soit la longueur des courbes, la densité des feuilles sera toujours similaire. Donc, si la longueur est plus petite, il n'y aura que quelques points, et quand c'est quelque chose de haut, la longueur, il y aura beaucoup de points. Si nous ajoutons ce multiplicateur pour compter maintenant et fixons la densité à dix, vous pouvez voir qu'il y a beaucoup de points. Mais si nous diminuons ou si je le mets à partir de la fin, vous verrez que les points sont toujours relativement bien répartis. C'est bon. Maintenant, nos points sont bien répartis. Nous pouvons également regrouper cela et l'appeler distribuer des feuilles de feuilles, désolé, des points de feuilles. Et maintenant, nous pouvons enfin citer quelques feuilles sur ces points. Ainsi, nous ajouterons une instance sur les points. Pour les points, nous utiliserons les points que nous avons distribués. Et pour les instances, nous voudrons utiliser certaines des collections que nous avons ajoutées au fichier Pour cela, nous ajouterons une nouvelle entrée où nous ajouterons la collection. Ajoutons donc une collection et définissons la collection Type 2. Je vais également le déplacer vers le haut du panneau. Et définissez quelques valeurs ici. Je vais donc, par exemple, cueillir les feuilles de sakura Et maintenant, pour distribuer ces feuilles issues de la collecte, nous pouvons simplement extraire les informations de collecte. Pour la saisie, nous utiliserons la collecte de nos entrées de groupe. Nous voulons séparer les enfants et les remettre à zéro. Et nous pouvons connecter ces instances aux points. Vous pouvez voir que maintenant toutes les feuilles sont orientées dans la même direction et que toutes les feuilles sont sur chaque point. Nous ne voulons donc en choisir qu'un. Ainsi, nous pouvons vérifier cette instance pi. Et nous voulons également faire légèrement pivoter ces feuilles. moyen le plus simple serait donc de simplement créer une valeur aléatoire ou un vecteur aléatoire 0-2 Pi Et si on le met en rotation, on obtient des feuilles relativement belles. Si nous combinons maintenant cela avec la géométrie de nos branches, vous pouvez voir qu'il peut y avoir plusieurs problèmes. Je vais régler les densités sur quelque chose de plus petit, qu'elles soient un peu plus visibles, et aussi définir un rayon complet pour un rayon inférieur à un Ce n'est probablement pas l'arbre que vous souhaitez créer, mais je voudrais vous montrer un petit problème que nous avons, non ? Ainsi, par exemple, dans cette courbe, il y a une courbe, et nous instancions les points directement sur ces courbes Le problème est que le maillage ne se trouve pas sur ces courbes, mais autour de celui-ci, car nous utilisons une spirale ou une courbe pour créer un profil autour de celui-ci, et nous voulons que les feuilles poussent sur ce maillage et non sur les courbes. Donc, pour résoudre ce problème, nous devons le décaler, décaler ce point par le rayon de cette courbe. Ainsi, les feuilles poussent réellement à la surface et non à l'intérieur du maillage. Pour ce faire, avant les points, nous instancions des feuilles sur les points, nous allons également définir la position de ces points, et nous devons prendre rayon de cette courbe dans le point distribué Ce sera donc la valeur que nous allons également échantillonner. Je vais donc ajouter du rayon. Et maintenant, cette valeur est le rayon en un point donné. Et si nous regardons ce dessin, chaque courbe possède des vecteurs. L'une d'elles est la tangente de courbe, qui est dans la direction de la courbe, et la seconde est la courbe normale, est-à-dire la direction perpendiculaire à la tangente de la courbe Donc, si nous prenons cette courbe normale et que nous la redimensionnons par le rayon, nous devrions obtenir un décalage correct pour les points. Donc, si vous insérez ce point dans le décalage, l'important est également multiplié par le rayon global de la branche. Nous allons donc le multiplier par le rayon à partir de l'entrée du groupe. Et maintenant que la feuille est là, vous pouvez voir qu'elle se trouve à la surface du maillage. Cela ne pointe pas dans la bonne direction. Ça devrait être quelque chose comme ça. Nous y sommes presque. Pour rendre cela encore plus aléatoire, nous allons prendre le vecteur normal et le faire pivoter par une valeur aléatoire Donc, si nous visualisons cela, nous avons la branche, et elle a une courbe tangente et aussi une courbe normale Dans cette direction, nous décalons les feuilles, mais maintenant cela signifierait que tous les points seraient décalés dans le même sens, mais nous voulons répartir cela de manière aléatoire, afin que certains d'entre eux soient dans ceci, d' autres dans cette direction et dans cette Donc, pour le rendre aléatoire, nous pouvons prendre ce vecteur normal que nous avons redimensionné par le rayon et utiliser une rotation vectorielle ou une rotation vectorielle Le centre sera 00, zéro, et l'axe sera la tangente car c'est l'axe autour duquel nous tournons Et pour l'angle, nous pouvons simplement choisir une valeur aléatoire. Je vais donc ajouter une valeur aléatoire et la mettre à 022 Pi. Et si vous insérez le vecteur obtenu dans Offset, les points devraient être distribués de manière encore plus aléatoire. Maintenant, je vais juste clarifier un peu ce calcul. Donc quelque chose comme ça. Et nous devons également toujours relier la graine à nos valeurs aléatoires. Je vais donc connecter la graine de l'entrée du groupe à cette valeur aléatoire et également la graine à cette valeur aléatoire. Maintenant, si nous ramenons le rayon du flux à quelque chose de plus raisonnable et que nous fixons la densité à environ dix, vous pouvez constater que nous avons une très belle répartition des feuilles. Nous pouvons également passer feuille à l' autre très facilement grâce à cette collection, et tout fonctionne bien. Une dernière option ou un dernier périmètre que nous voulons ajouter est de pouvoir contrôler l'échelle de ces feuilles. Ajoutons donc deux entrées supplémentaires. L'un d'eux sera l'échelle, par défaut un, et le second sera l'échelle aléatoire. L'échelle sera contrôlée simplement ici où nous instancions des feuilles sur les points Et la façon dont nous allons générer cela est créer simplement une valeur aléatoire, et nous allons prendre une entrée de groupe, et le minimum de cette valeur aléatoire sera l'échelle moins le caractère aléatoire, et le maximum sera l' échelle plus le caractère aléatoire Vous pouvez donc simplement associer ces deux valeurs à la valeur aléatoire et à la graine. Et maintenant, si vous insérez cette valeur aléatoire dans l'échelle et que vous la définissez sur les valeurs par défaut, vous pouvez voir que nous avons également quelques variantes ici. Si nous vérifions également les trois types de feuilles, donc les branches, les feuilles sont partout sur les branches. À partir de la fin, nous pouvons contrôler la distance entre les feuilles et les extrémités des branches et nous pouvons également contrôler le minimum de X, ce qui peut être pratique pour certains types d'arbres. Tout est procédural, nous pouvons donc jouer avec les graines, et nous obtenons toujours un arbre très différent. 14. Système de particules de base: Bienvenue dans les arbres en D gratuits avec les nœuds de géométrie Blender. Nous ajouterons un détail supplémentaire à notre arbre, et ce sera un système de particules très simple qui simulera la chute des feuilles de nos branches. Dans ce cas, nous utiliserons à nouveau des objets issus de la ressource gratuite que vous obtiendrez gratuitement dans le cadre de ce cours, et dans ce cas, j'utiliserai ces petites feuilles de secura, qui seront parfaites pour cet usage Donc, pour savoir comment cela fonctionnera réellement, nous utiliserons d'abord des zones de simulation à l'intérieur des nœuds de géométrie, ce qui nous permettra de simuler ces feuilles qui tombent et de simuler une sorte de physique Donc, la première chose que nous devons faire est d' ajouter des points à notre géométrie. Nous utiliserons donc technique similaire à celle que nous avons utilisée pour distribuer les feuilles. Nous utiliserons les mêmes courbes, mais nous allons simplement citer quelques points simples comme ceci. Ensuite, dans la zone de simulation de chaque image, nous les déplacerons légèrement vers le bas, impression qu'elles tombent et pour ajouter du bruit. Ainsi, il ne s'agira pas simplement de feuilles tombantes droites, mais elles bougeront ou quelque chose comme ça. Passons donc aux nœuds de géométrie, et je vais ajouter les points ici sous la structure des feuilles. L'important est que petites particules tombent des feuilles pour lesquelles nous avons déjà les courbes sur lesquelles elles sont générées. Nous allons donc réutiliser ces courbes et y répartir quelques points. Nous utiliserons donc la sortie de ce commutateur de menu, qui est sélectionné par cet attribut are, et nous utiliserons techniques similaires à celles utilisées pour les feuilles. Nous allons donc ajouter une courbe simple et nous allons échantillonner courbes aléatoires à partir de celles-ci et simplement attribuer ces positions à de nouveaux points Pour l'instant, je vais ajouter un nœud de points, et disons que nous voulons ajouter quatre points par image Je vais donc fixer le nombre à quatre. Maintenant, nous devons vérifier toutes les courbes parce que nous voulons toutes les échantillonner, et le facteur sera une valeur aléatoire. Ajoutons donc une valeur aléatoire de 0 à 1 et ajoutons-la au facteur. Maintenant, si nous insérons la position dans le nœud de points et que nous la visualisons, vous verrez que nous avons quelques points ici, et nous pouvons changer le siège avec l'attribut seat. Pour simuler la chute, nous aurons besoin de la zone de simulation. Ajoutons donc une zone de simulation. Et c'est très similaire à la zone de répétition. Il a donc une entrée de géométrie. Ensuite, il fait certaines choses entre ces deux nœuds. Dans ce cas, cela est fait pour chaque image, puis il y a cette géométrie de sortie. Sur chaque image, nous voulons donc ajouter quatre nouvelles feuilles à nos points de chute, et nous allons le faire en joignant ces quatre points à cette géométrie existante. Ajoutons donc une géométrie de jointure, et nous joindrons ces quatre points. Maintenant, si nous produisons cette zone de simulation, jouons l'animation, vous pouvez voir que nous n'avons toujours que ces quatre points. En effet, sur chaque image, ces quatre mêmes points sont ajoutés et se chevauchent Si j'exagère cette sortie, nous devrions voir que nous avons maintenant 404 points parce que nous sommes sur l'image 101. Pour les rendre variables, nous devons contrôler le siège et le rendre différent pour chaque cadre. Ainsi, nous pouvons utiliser le temps de scène, qui nous donne l'image actuelle. Et si nous branchons cette image sur le siège et que nous réinitialisons l'animation, nous devrions voir apparaître de nouveaux points à chaque image. Ils créent progressivement la forme de courbes originales. À présent, vous souhaiterez peut-être ajouter un nombre de points différent pour chaque cadre. Pour cela, nous pouvons utiliser une valeur aléatoire et simplement l'intégrer au décompte. Mais vous pouvez voir que ce n'est pas possible car la sortie de cette valeur aléatoire est un champ, mais ces points ont besoin d'une valeur constante. Pour contourner ce problème, nous devons trouver le moyen de distribuer ou de créer des points aléatoires sur chaque image. La façon dont nous pouvons le faire est au lieu de ces nœuds de points qui créent simplement des points sur position donnée, nous pouvons, par exemple, utiliser des points de distribution sur faces auxquels nous leur donnons une sorte de maillage, et cela générera des points en fonction de la densité et du siège. Et cela se traduira par un nombre de points différent pour chaque siège. Nous avons donc également besoin d'un maillage d'entrée. Pour cela, nous pouvons utiliser le maillage de votre choix. Je vais juste utiliser une grille. Et maintenant, si nous visualisons cela, vous pouvez voir que c'est la grille, et qu'il y a des points générés, et pour chaque siège, cela génère un nombre de points différent. S'il s'agit de la densité à un, par exemple, vous pouvez voir qu' il y a parfois deux points, parfois un seul et parfois zéro point. Donc c'est plutôt bien. Un autre problème auquel nous pourrions être confrontés est que cela ne dépend pas de la longueur de ces courbes sources, ce qui signifie que quelle que soit la longueur de ces courbes, nous générerons toujours le même nombre de points. Nous pouvons résoudre ce problème en contrôlant la taille de cette grille par la longueur de la courbe, qui signifie que si nous avons des courbes plus longues, cela générera une grille plus grande et distribuera plus de points car il y aura plus d'espace. Ainsi, nous pouvons simplement utiliser une longueur de courbe et la connecter à l'axe X ou Y. Vous pouvez maintenant voir qu' il génère des points sur cette grande grille. Et nous pouvons également contrôler la densité avec la deuxième taille sur l'axe Y. Mais je vais m'en tenir à une seule, et nous contrôlerons la densité avec cette valeur de densité. Maintenant, lorsque nous avons généré un nombre approprié de points, il suffit de les répartir sur les courbes. Nous allons donc simplement utiliser la position définie. Et comme position, nous utiliserons cette position aléatoire à partir des courbes sources Maintenant, vous pouvez voir que si je joue l'animation, elle distribue des points aléatoires sur toutes les courbes. Hein ? Maintenant, si je passe en revue l'animation, vous pouvez voir qu'il y a toujours quatre points, et c'est parce que le siège des points de distribution est toujours le même. Je vais donc également brancher le cadre au siège. Et maintenant, nous devrions obtenir un nombre de points différent. Je vais peut-être réduire la densité à 2,02, et vous pouvez voir qu'il y a trois points, un, un, trois, zéro, deux, donc c'est bien aléatoire. C'est vrai. Maintenant, remettons ces points dans cette zone de simulation et produisons celle-ci. Et vous pouvez voir que nous gagnons de plus en plus de points au fur et à mesure que nous jouons à l'animation. Donnons-lui donc un peu de mouvement. Pour le mouvement, nous pouvons simplement utiliser une position définie et le décaler sur ZxS à quelque chose comme moins 0,1 Maintenant, si vous jouez à l'animation, vous verrez que les points tombent. C'est parce qu'il crée toujours ces nouveaux points et qu'ils sont tous déplacés sur l'axe Z de moins 0,1. Une chose que nous devrions corriger est que si nous jouons maintenant l'animation, vous pouvez voir à quelle vitesse ils tombent. Mais si je change la fréquence d'images de ce projet à 60, par exemple, vous verrez qu'elles diminuent beaucoup plus rapidement. C'est parce que ce décalage est effectué 24 fois par seconde sur 24 images par seconde. Mais si nous fixons le nombre d'images par seconde à 60, cela se fait 60 fois par seconde, et c'est beaucoup plus rapide. Pour contrôler cela, nous pouvons utiliser ce temps Delta, qui nous donne le temps entre deux images. Et si on redimensionne un vecteur en fonction cette valeur, alors quelque chose comme ça. Et je vais le dire à moins un sur Z X parce que ce temps Delta est un très petit nombre. Maintenant, si vous jouez l'animation, vous pouvez voir qu' elle est assez lente. Mais si nous changeons la fréquence d'images, la vitesse ne devrait pas changer et elle devrait rester la même. Bien, nous pouvons donc appeler cela, par exemple, une gravité et nous devons être en mesure de contrôler cette gravité Nous voudrons donc contrôler cette valeur sur l'axe Z. Grâce à cela, je vais simplement ajouter la combinaison XYZ, et j'ajouterai une nouvelle entrée de groupe, qui contrôlera cette valeur Z. Pour les points, j' ajouterai un nouveau panneau, que j'appellerai particules, et j'ajouterai une nouvelle entrée, appellerai gravité et que je mettrai par défaut sur un. Comme nous voulons saisir une gravité positive, mais que cette valeur doit être négative, nous allons d'abord multiplier cette entrée de gravité par moins un, puis l'intégrer à la coordonnée Z. Maintenant, si je passe au modificateur et que je réinitialise la gravité à un, désolé, je dois régler cela pour multiplier. Et maintenant, nous devrions avoir des feuilles ou des particules qui tombent. Je peux aussi l'augmenter et vous verrez que les points chutent plus ou moins vite. C'est bon. Alors maintenant, donnons-lui un peu de hasard. Nous allons donc ajouter une valeur aléatoire à ce décalage. Et cette valeur aléatoire proviendra de la texture du bruit, car la texture du bruit nous donne un beau bruit doux, et nous pouvons l'utiliser pour déplacer ces points Ajoutons donc de la texture sonore. Nous avons déjà utilisé des textures de bruit pour déplacer notre arbre, et nous avons fait une chose remapper cette couleur parce qu'il s' agit d'un vecteur et que nous voulions utiliser ce vecteur, et nous étions en train de le remapper de zéro, zéro, zéro, un, un à un négatif à un. Nous obtenons donc un vecteur, qui peut également être positif et négatif et pas seulement positif. Cela nous donne donc un vecteur aléatoire. Et maintenant, si nous redimensionnons simplement ce vecteur par une constante et que nous l'ajoutons à cette gravité, vous verrez que nous avons ici des points complètement fous. Je vais le multiplier par 0,1, par exemple Maintenant que vous pouvez voir que les points sont plus instables, certains d'entre eux restent également en place Une chose que nous pourrions corriger dans ce ranch cartographique est que nous ne voulons pas contrôler ces points sur l'axe Z, mais uniquement contrôler le mouvement sur les plans X et Y. Je vais donc simplement mettre ces codins Z à zéro, et maintenant ce ranch cartographique ne nous donnera que des vecteurs aléatoires sur le plan XY 15. Simulations avancées de particules: Bonjour, et bienvenue sur le site gratuit de D Trees with Blender EmetinRDS Vous pouvez voir que les points tombent à la même vitesse et qu'ils sont ondulés. Si nous définissons l'échelle sur quelque chose de global, vous verrez peut-être que certains points se regroupent, car si les deux points sont proches ou dans la même position, le même bruit leur est appliqué et ils suivent alors le même chemin ou le même chemin. Donc, pour créer une texture de bruit différente pour chaque point, nous pouvons passer à quatre D, et ce W ressemble à un CD. Ainsi, par exemple, nous pouvons simplement utiliser l'indice de chaque point. Cet indice n'est pas vraiment le meilleur choix car il peut changer au cours de la simulation. Pour résoudre ce problème, nous allons donc stocker certains attributs avant le début de la simulation pour chaque point , puis les utiliser pour les différencier. Je vais donc ajouter un attribut nommé magasin ici après la position définie où nous distribuons les points. Et la première chose que nous allons stocker sera quelque chose comme index, donc je vais l'appeler et ce sera un entier. Et j'utiliserai une combinaison du cadre et de l'index pour créer un numéro unique pour chaque point. Pour cela, nous pouvons, par exemple, simplement utiliser multiplier et ajouter. Je vais multiplier le cadre par une constante, disons 21, et y ajouter l'index. Cela devrait nous donner un nombre différent pour chaque point, et nous pouvons commencer par cet attribut I. Et plus tard, nous pourrons réutiliser cet attribut nommé comme source de ce bruit. Vous pouvez maintenant constater que le bruit est beaucoup plus doux, et nous voulons pouvoir contrôler dans quelle cette texture de bruit affecte nos points ainsi que l' échelle de cette texture de bruit. Ajoutons donc deux nouvelles entrées. Le premier d'entre eux sera l'échelle de bruit, que je définirai par défaut à un et le minimum à zéro, et le second sera la puissance du bruit, que je définirai par défaut à un. Si vous regardez la configuration, ce qui est étrange, c'est que la gravité est échelonnée par le temps Delta, mais pas la texture du bruit, et cela devrait être corrigé Additionnons donc d'abord ces deux vecteurs comme ceci, puis nous allons redimensionner l'ensemble de ce vecteur en fonction du temps Delta. Maintenant, cela devrait être vraiment indépendant de la fréquence d'images, et branchons les entrées de l'entrée de groupe Je vais donc ouvrir l'entrée de groupe et connecter l'échelle de bruit à ce bruit et la puissance du bruit à ce nœud mathématique vectoriel d'échelle. Je vais également raisonner sur ces valeurs. Et vous pouvez voir que nous avons de belles particules qui tombent. Le problème que vous pourriez rencontrer est que les points sont générés en permanence, mais qu'ils ne sont jamais supprimés, ce qui peut entraîner des problèmes de fréquence d'images car il y a peut-être trop de feuilles et cela deviendrait très lent. Donc, pour y remédier, nous avons besoin d'une fonction qui supprimerait les points après un certain temps de leur durée de vie. Supposons donc que nous définissions une durée de vie de 0,2 seconde. Ainsi, si le point est ancien ou se trouve dans la scène depuis plus de 2 secondes, il sera supprimé. Pour cela, nous allons stocker certains attributs avant la simulation. L'un d'eux sera start, qui nous donnera l'heure à laquelle ce point a été créé. Le type sera flottant. Et pour stocker cette valeur, nous utiliserons simplement les secondes, qui nous donneront les secondes actuelles, et nous la stockerons dans l'attribut start. Le deuxième attribut que nous utiliserons sera la durée de vie, qui enregistrera la durée de vie de ce point. Et maintenant je vais juste le régler pendant 2 secondes. Plus tard, nous pouvons le rendre aléatoire , par exemple. Ainsi, après le déplacement des points, nous vérifierons si chaque point doit toujours être dans la simulation, et sinon, nous le supprimerons. Ajoutons donc une géométrie de suppression, et maintenant nous devons choisir les points que nous voulons supprimer. Vous allez prendre l'attribut nommé start. Et pour déterminer sa durée de vie, nous allons simplement utiliser l'heure actuelle et soustraire ce début de cette heure Cette soustraction nous indiquera donc depuis combien de temps ce point existait Supposons, par exemple, que le temps de départ soit de 2 secondes alors qu'il est actuellement de 6 secondes. Cela signifie que le point est vivant pendant 4 secondes. Et quand c'est supérieur à la durée de vie, je vais le dupliquer et le régler sur Lifetime. Nous voulons supprimer ce point. Nous allons donc intégrer ce résultat dans la géométrie de suppression. Et maintenant, si nous jouons l'animation, vous verrez que les points situés en bas sont supprimés. En effet, leur durée de vie est supérieure à leur durée de vie limite et ils sont supprimés. Nous pouvons également randomiser cette durée de vie. Pour cela, je vais ajouter deux entrées de groupe. L'un d'eux sera la durée de vie, je mettrai la valeur par défaut à deux et le minimum à zéro, et le second sera le caractère aléatoire à vie Que je mettrai par défaut à zéro. Et maintenant, juste la randomisation classique. Nous ajouterons une entrée de groupe, et le minimum de la valeur aléatoire sera la durée de vie moins le caractère aléatoire, et le maximum sera la durée de vie plus le caractère aléatoire Cela nous donnera donc la plage dans laquelle nous voulons que la durée de vie soit générée. Et nous allons intégrer ces deux valeurs à une valeur aléatoire comme celle-ci, et nous pouvons également définir la graine à partir de l'entrée du groupe. Et l'identifiant pour le rendre différent pour chaque point, nous pouvons réutiliser cette valeur I que nous stockons ici dans I, et je vais juste l' utiliser ici comme ça Et cela devrait nous donner une valeur différente pour chaque point. Et si nous le stockons maintenant à vie, oui, il y a des problèmes parce que notre durée de vie n'est pas vraiment définie. Je vais donc régler la durée de vie à deux et le caractère aléatoire à zéro. Maintenant, chaque point devrait vivre 2 secondes. Mais si je mets le caractère aléatoire à un, le point peut durer de 1 à 3 secondes. Hein ? Je pense donc que notre simulation de particules de base est terminée, et maintenant, dernière étape pour créer de vraies feuilles, nous devons utiliser ces points et y répartir des objets. Donc, pour cela, je vais utiliser l' instance sur les points. Et comme exemples, nous utiliserons quelques feuilles. Ils seront donc en collection. Et nous devons d'abord créer une entrée de groupe pour cela. Je vais donc ajouter une nouvelle entrée et une nouvelle collection de groupe, définir le type également sur collection et le déplacer ici. Et maintenant, je vais simplement connecter cette collection de l' entrée de groupe aux informations de collection. Je veux séparer et rechercher les enfants, connecter ces instances à l'entrée d'instance, et nous voulons que chaque instance soit aléatoire Je vais donc vérifier cette grande instance Maintenant, nous pouvons tout voir car nous n'avons pas choisi la collection. Et la collection que je vais utiliser sera constituée de ces pétales de fleurs. Je peux donc le cacher à nouveau, et je vais cueillir des pétales de fleurs ici. Et maintenant, vous pouvez voir que nous avons des feuilles très basiques comme celle-ci. Il y a quelques problèmes. Ils sont tous orientés vers le haut. Nous aimerions donc, par exemple, randomiser ces feuilles Et deuxièmement, ils ont tous la même échelle, nous voulons donc la rendre un peu aléatoire Fixons d'abord la rotation. Et la première chose que nous pourrions faire est simplement brancher une rotation aléatoire sur cette douille de rotation. Mais pour améliorer un peu le rendu, par exemple, nous pouvons les faire pivoter pour qu'elles soient toujours orientées vers la caméra, et vous pouvez toujours voir les feuilles entières, ce qui peut être très pratique si elles sont très petites, elles peuvent ne pas être visibles tout le temps. Cela pourrait donc résoudre ce problème et pour déterminer la rotation, façon dont il fera face à la caméra, nous devons d'abord photographier l'objet afin obtenir un objet caméra actif, ce qui nous donnera la caméra active actuelle. Pour obtenir l'emplacement, nous utiliserons informations sur l'objet et utiliserons cet emplacement. Et vous pouvez voir que ces feuilles sont toujours orientées vers l'axe Z. Nous allons donc aligner l'axe Z sur la direction de la caméra. Pour obtenir la direction de la caméra, il suffit de prendre notre position et de la soustraire de l'emplacement de la caméra Avec des mathématiques vectorielles. Cela nous donne donc ce vecteur directeur. Maintenant, nous pouvons simplement utiliser aligner la rotation sur le vecteur parce que nous voulons aligner notre axe Z sur ce vecteur Je vais donc le connecter au vecteur et à la rotation. Et maintenant, ça a l'air un peu bizarre. C'est probablement parce que je n' ai pas de caméra dans cette scène, donc je vais en ajouter une nouvelle. Et vous pouvez voir que lorsque je déplace l'appareil photo, les feuilles sont tournées vers elle et je peux le vérifier avec celui-ci. Vous pouvez voir que si je regarde sous n'importe quel angle, je peux toujours voir les feuilles. Enfin, nous pouvons également les faire pivoter de manière aléatoire autour de l'axe Z. Ainsi, nous pouvons simplement ajouter une valeur aléatoire à cette rotation, et j'utiliserai simplement la valeur aléatoire 0-2 Pi Et maintenant, ils devraient également avoir une rotation aléatoire. D'accord, donc ça a l' air plutôt bien. Et maintenant, pour ce qui est de l'échelle, nous allons utiliser une approche classique. Nous allons simplement ajouter des entrées pour l'échelle et le caractère aléatoire et le calculer en fonction de ces entrées La première entrée sera donc l'échelle, valeur par défaut, du minimum à zéro, et la seconde sera l'échelle aléatoire, qui aura par défaut la valeur zéro et le minimum égal à zéro Pour une valeur comprise dans cette plage, je vais soustraire le caractère aléatoire de l'échelle, et pour le maximum, j'ajouterai ces deux valeurs et je les insérerai simplement dans le minimum et le maximum de valeurs aléatoires Et cela devrait nous donner la bonne échelle. Nous pouvons également utiliser la graine issue de l'entrée du groupe pour la graine, et pour l'ID, nous pouvons utiliser l'attribut I named. Je vais donc ajouter un attribut nommé et le connecter à l'ID. Donc, quelque chose comme ça devrait fonctionner. Maintenant, nous pouvons intégrer cette valeur à l'échelle, et vous pouvez voir que les feuilles sont aléatoires. Je vais régler l'échelle sur oh, oui, l'échelle est sur un. Je vais régler l'échelle sur quelque chose comme 0,2 et le hasard sur 0,1. Et maintenant, nous avons ces jolies petites feuilles. Je vais diminuer la gravité, donc c'est un peu plus lent. Et la dernière entrée que nous oublions d'ajouter est la densité. Alors réglons également ce problème. Les points sont répartis ici dans cette distribution sur les faces, et nous voulons pouvoir contrôler cette densité. Je vais donc ajouter une nouvelle entrée, appelée densité. envoyé du dévouement à quelque chose comme 0,5, et je vais le brancher sur cette entrée de densité Si nous réinitialisons maintenant cela, nous avons de nombreux points ici, et je pourrais augmenter légèrement l'échelle du bruit. Et si je ne veux que quelques feuilles, je le mettrai à 0,05, mais il me reste encore beaucoup de feuilles Je vais le réduire encore plus et augmenter la durée de vie. Maintenant, vous pouvez voir que nous avons de très belles feuilles. Et pour combiner cela avec l'arbre d'origine, je vais simplement ajouter la géométrie du joint et assembler ces deux éléments. Et maintenant, nous avons ce bel arbre aux feuilles qui tombent.