Het sterke punt van Houdini is altijd zijn procedurele aard geweest. Met een paar knooppunten en een kleine set uitdrukkingen, kunt u complexe en naturalistische resultaten maken - modellen en scènes die voor altijd zouden duren om op traditionele manieren te creëren.
Lange tijd is Houdini de ruggengraat geweest van vele grootschalige producties in de visuele effectenindustrie. Vanwege zijn procedurele aanpak wordt echter vaak beweerd te moeilijk te zijn om te leren.
Hoewel dit misschien een paar jaar geleden waar is geweest, zijn de dingen veranderd. Met meer toegankelijke licentieregelingen en een complete Revamp van de interface van Houdini, blijft het openen voor kleine studio's, kunstenaars en enthousiastelingen. Komende uit andere pakketten, het is echter nog steeds een heel andere manier van denken.
In deze tutorial geven we een overzicht van het programma. We beginnen met basismodelleringstechnieken voor bladeren en gras. We zullen de bemonstering VDB-volumes bedekken om de plantengroei te verdelen en uiteindelijk de VEX-code te gebruiken en knooppunten te wrappen om geometrie op de vlucht te genereren.
We gaan kijken of wat iedereen zegt over Houdini waar is: Zodra je procedureel gaat, zul je nooit terugkijken!
Download de bestanden voor deze tutorial.
Begin met een model van een ruïne die je in het gebladerte wilt bedekken. Zorg ervoor dat je je vormen op een zinvolle manier noemt. Hierdoor kunnen u later eenvoudige groepering van de geometrie voor verschillende doeleinden. Splits het in muren, planken, bakstenen, ramen en glas. Houdini Alembic Import zal een pad-attribuut instellen op import. U kunt dan eenvoudig een SPLIT- of BLAST-knooppunt gebruiken om de gewenste stukken te selecteren.
Met de ruïne op zijn plaats is het tijd om te beginnen met het maken van individuele bladeren om later te gebruiken voor het innemen. Werk altijd met referentiebeelden van de natuur als u meer realistische resultaten wilt. We hebben de bladeren nodig om enkelzijdig en van vrij lage polytelling te zijn. Begin met het maken van een curve om op de buitenbladvorm te lijken. Gebruik een Remesh-knooppunt om een oppervlakte te voegen. Met een zachte transformatie, til het midden op de stengel uit. Voeg ook een kleurenattribuut toe met verschillende tinten groen.
We hebben ook individuele strengen gras nodig om de vloer te bedekken. Nogmaals, eenvoudige eenzijdige veelhoekige strengen met een variërende breedte voldoende. Over het algemeen is meer variatie altijd beter. Maar zelfs met slechts vijf verschillende vormen, zult u vrij realistische resultaten behalen. Omdat onze opstelling procedureel is, kan er later gemakkelijk worden toegevoegd. Het is belangrijk om ervoor te zorgen dat alle mazen zijn gecentreerd bij de oorsprong met de draaipunt aan hun voet. Op deze manier kunnen we ze meteen als instanties gebruiken.
Er zijn veel manieren om te beslissen waar gras zal groeien. Zoek een regel die lijkt op een natuurlijke verdeling. We zullen gras overal op de grond laten groeien die niet onder het gebouw of puin vallen. De groei moet dichter en langer langs muren en rotsen zijn. Isoleer de grond uit onze geometrie en gebruik een Remesh-knooppunt om een vrij hoog niveau van onderverdelingen te verkrijgen.
Voeg een witte puntkleur toe aan de muren en een grijs op de grond. Gebruik Attributetransfer om de muurkleur op de grond te brengen. Tweak de mengradius op het knooppunt om rond de voet van de muren te passen. Draai de muren in een VDB met VDBFRompolygons. Krijg in een Attributewangle de VDB-waarde op elk punt met de functie Volumesample. Verwijder punten met een negatieve waarde.
Voordat u kopiezegel gebruikt, hebben sommige kenmerken voorbereiding nodig. Gebruik in VEX een willekeurig nummer om een oprit van een willekeurig getal te besturen. Dit is een visuele manier om de schaalverdeling te regelen. Zet op dezelfde manier de kleur in een willekeurig groen. Om de strengen in enigszins verschillende richtingen te maken, verandert u het normaal door een willekeurige offset toe te voegen in X- en Z-richting. Voila, je groeide gras!
Voor de klimplanten moeten we onze eigen oplosser in Vex schrijven om een groeipermechanisme na te bootsen. Het klinkt misschien ontmoedigend, maar we gaan de hele weg stap voor stap. Vergeet niet om ook de Houdini-referentie op VEX te gebruiken. Om de wortelpunten te vinden, gaan we met hetzelfde mechanisme die we op het gras hebben gebruikt. Begin met een paar punten op de grond, dicht bij de muur.
We hebben drie krachten op het werk. De eerste roepen we op, wijzend weg van de grond tegen de zwaartekracht. De tweede is een vector genaamd dwalen, wijzend in een willekeurige richting langs de muur. De derde kracht wordt muur genoemd, wijzend naar het dichtstbijzijnde obstakel. Dit emuleert de wens van de plant om te beklimmen. We zullen alle drie de krachten op elke groei-iteratie gebruiken.
Nu komt de tijd voor ons om in Vex te duiken met behulp van een point wrade. In een voor lus groeien we de zaailing in korte segmenten door toe te voegen aan de variabele pos, die is geïnitialiseerd met de startpositie. Voorlopig groeien alleen langs de UP-vector.
Het is een goede gewoonte om gebruik te maken van de CH () en CHV () -functies, om parameters aan de interface te ontmaskeren. Je kunt dan gemakkelijk experimenteren met het resultaat van het algoritme door die waarden interactief te veranderen.
Voeg voor een meer natuurlijke uitstraling de dwangkracht toe. Bereken in elke stap een willekeurige richting op basis van een ruisfunctie. Deze willekeurige vector draagt bij aan de richting die het zaad wordt verplaatst. Voor betere balancering, introduceer ook twee weegfactoren aan de interface, waardoor onze krachten omhoog of omlaag wordt geschaald. Het resultaat is wijnstokken die met veel meer variatie groeien, maar ze penetreren nu obstakels die ze ontmoeten. Om dit te vermijden, komt het derde type kracht van pas, de muurrichting.
Voeg de laatste kracht toe aan de VEX-lus door de waarde en verloop VDB van de ondergang te bemonsteren. Dit geeft u de afstand tussen het punt en de muur, evenals de normale richting van de muur. Bereken een kracht die naar de muur wijst en voeg het toe aan de groeirichting. Monster de VDB een tweede keer in de nieuwe positie om te controleren of het punt in de muur ligt. Zo ja, druk het gewoon langs het normale.
De wijnstokken zien er nog steeds niet natuurlijk uit. Dit komt omdat ze snel op elke stap richting kunnen veranderen. Zacht mengsel tussen de aanwijzingen van de vorige en de huidige stap om dat uit te strekken. Je wilt ook stoppen met groeien als de positie te ver van de muren beweegt. Zie of de muurafstand die u van het VDB-monster krijgt, een bepaalde drempel overschrijdt. Breek gewoon uit de voor lus als het dat doet.
Een ander aspect van klimplanten die we nog moeten toevoegen - vertakkend. Maar dit is heel eenvoudig om te bereiken. Tag elke groeistap met een bepaalde kans om een filiaal te zijn. Voer vervolgens het groeiralgoritme opnieuw uit op elk van die gemarkeerde punten, met behulp van het punt zelf als de root.
Het is een goed idee om de groeiparameters te tweaken op de tweede pas om meer zwerven en minder naar boven te zijn, om de gebieden langs de muren te vullen.
We hebben nu reeksen van punten gecreëerd die op vertakkingsgroei lijken. Maak gebruik van het ID-kenmerk op het punt en maak een toeschrijfknooppunt om ze in afzonderlijke curves te veranderen.
Een UV-textuur ingesteld op rijen & amp; Kolommen leveren UVS langs de bochtlengte, die u vervolgens langs hun individuele lengte oprijdt naar een attribuut genaamd Pscale. Een Polywire-knooppunt verandert Curves in buizen, waar u $ Pscale gebruikt voor dikte. Voeg daarna een berg en een facet toe om de takken te voltooien.
Het uitbrengen van bladeren werkt een beetje zoals de grasstrengen eerder. We definiëren een distributieattribuut langs de curves die uit het groeialgoritme komen. Dit is nul aan het begin van elke tak en vervolgens 1 aan de punt. Gebruik een scatter om punten langs de curve te plaatsen op basis van dat attribuut. Het ziet er beter uit om de Pcale te variëren. Gebruik een kopiezegel om de voorbereide bladeren op die punten te gebruiken.
Dit artikel verscheen oorspronkelijk in 3d wereld uitgifte 225; koop het hier
Gerelateerde artikelen:
(Beeldkrediet: Steve GOAD) In dit artikel zal ik advies en inzichten geven op artrage, een programma dat ik nogal een..
In deze tutorial zullen we een aantal basisprincipes overgaan die het idee van grote schaal in je eigen stukken zullen communiceren. Ik gebruik potloden en oliën voor deze tutorial, maar je ..
Introductie van effecten op tekst en typografie kan een geheel nieuw perspectief toevoegen aan de gebruikerservaring ..
Ik heb altijd gedacht dat originaliteit ergens tussen wat je leuk vindt en wat je observeert. Ik hou van het mengen van sci-fi en..
Met een kortere leercurve dan Invis-app en gloednieuwe ontwerp-tools voor zakelijke teams, is er geen betere tijd om te verkennen..
Pagina 1 van 2: Verschillende soorten frontend-tests (en wanneer ze ze gebruiken) ..
Typrescript is een van een groep talen die de JavaScript Runtime Als uitvoeringsomgeving:.-bestanden die typoscode..
Zelfportret is een van de meest lonende uitdagingen die een kunstenaar kan proberen. Omdat we weten dat de landschappen van onze ..