thumbnail

De Grove 2.0

Door: Edwin van het Bolscher, 5 juli 2023 Maak kennis met versie 2.0 - een belangrijke mijlpaal in de ontwikkeling van The Grove - met bomen die ongelooflijk snel groeien in Blender, en nu ook in SideFX Houdini!

Zo snel!
Maak je klaar voor snelheid, want dat is de belangrijkste functie van deze versie! Door de simulatie vanaf de basis opnieuw op te bouwen, is de simulatie nu ongelooflijk snel geworden. We hebben het over prestaties die ergens tussen de 5 en 20 keer sneller zijn dan voorheen! Ik weet zeker dat je net zo snel aan de nieuwe snelheid zult wennen, je zult gewoon oudere bomen laten groeien, en veel meer van hen.


Super draagbaar
De natuurlijke simulatie is nu volledig onafhankelijk. Vanaf nu wordt boomgroei aangedreven door een high-performance Core die ik heb ontwikkeld in Rust, een taal die bekend staat om zijn ongelooflijke snelheid en ongeëvenaarde stabiliteit. De Core is platformonafhankelijk en gecompileerd voor Windows, Linux en macOS (inclusief de nieuwe Apple silicon). De Core biedt solide vectorberekeningen, quaternionrotaties en multi-threaded raytracing - alles vanaf de grond af opgebouwd, met als enig doel om bomen snel en compromisloos te laten groeien.
Vrienden van 3dhype:

De Core doet al het zware werk, van het laten groeien van je bomen tot het bouwen van de voltooide 3D-modellen, inclusief UV's en attributen. De modulaire Core is gebouwd voor draagbaarheid. Alles wat nog nodig is voor een nieuwe doeltoepassing is functionaliteit op hoog niveau en een gebruikersinterface. De Core is draagbaar naar elke applicatie met een Python API, te beginnen met Houdini! Dus hier zijn we met de krachtige core en twee add-ons:
  • De Grove Core is de gecompileerde Python-bibliotheek die de simulatie uitvoert. Het mooie is dat je dezelfde module kunt importeren in elke applicatie met een Python API, of zelfs in Python zelf.
  • The Grove in Blender voegt een heleboel geweldige tools toe voor interactieve simulatie - groeien, snoeien, tekenen, reageren, wind toevoegen... Met 8 jaar aan verbeteringen en nog steeds in ontwikkeling.
  • The Grove in Houdini integreert met Houdini's procedurale node-netwerk om bomen te laten groeien en bouwen die klaar zijn voor Houdini's dynamiek. Nu beschikbaar in de Studio-editie.


The Grove in Houdini (beta)
The Grove in Houdini (beta) bestaat uit een set van nodes die in een Geometry-netwerk worden gekoppeld om op een procedurele manier bomen te planten, te laten groeien, te snoeien en te bouwen. Dezelfde Grove, maar dan op de Houdini-manier!
Je hebt SideFX Houdini 19.5 nodig en de add-on wordt alleen geleverd bij de Studio-editie (tenminste voor nu).

Skelet
Wanneer je aan Houdini denkt, denk je aan special effects en simulatie. De Skelet-node voegt alle kracht van Houdini toe aan de bomen van The Grove, ze zijn een perfecte combinatie. Het skelet voegt precies de juiste attributen toe voor Houdini om zijn magie te laten werken - de dikte en massa die aan elke node zijn gekoppeld. Op dit moment is het nog beperkt tot één boom per keer, maar oh wat is het leuk om ermee te spelen!

Het opnemen van een time-lapse groei-animatie in Houdini is zo eenvoudig, voeg gewoon een simulerende node en een opbouwende node toe, binnen een Solver-node. Stel de simulerende node in om slechts één cyclus te laten groeien.

Beta
De add-on werkt op de Houdini-manier, met alle voordelen die daarmee gepaard gaan, maar het heeft nog niet de geperfectioneerde gereedschapsset die de Blender add-on in de loop der jaren heeft opgebouwd - vooral de interactieve snoei-, teken-, reactie- en buiggereedschappen. Wanneer je deze gereedschappen nodig hebt voor een specifieke boom, kun je de boom in Blender laten groeien, de simulatie exporteren en deze overzetten naar Houdini met behulp van de import-node.
De boom simulatie zelf is precies dezelfde simulatie als die je gewend bent, niets beta daaraan!

Gesprekstarter
Hoewel het al erg capabel is, zie ik deze eerste versie als een gespreksstuk, waar nog veel werk aan gedaan moet worden. Jouw input wordt zeer gewaardeerd voor de volgende iteraties. Houdini heeft nog veel geheimen voor me, dus laten we hier samen aan werken. Het dupliceren van takken is bijvoorbeeld een onafgewerkt gebied dat je nog handmatig moet instellen. Van de vele manieren van tak duplicatie in Houdini, welke heeft jouw voorkeur? Wat zou je nog meer willen zien? Laat het me weten op wybren@thegrove3d.com.
Vrienden van 3dhype:

Minder vreemd
Terug naar Blender. Hoewel de simulatie nu volledig gescheiden is, is de integratie van The Grove met Blender beter dan ooit tevoren.
  • Simulaties worden nu opgeslagen binnen het werkende .blend-bestand (en het .hip-bestand voor Houdini). Simulaties zijn draagbaar en verplaatsen zich met het bestand.
  • De undo-functie van Blender werkt eindelijk zoals het altijd had moeten werken.
  • De collectie in Blender is de "grove". Een kopie van een grove-collectie kopieert nu ook de simulatie.
  • Importeer en exporteer simulaties in .grove-bestanden met behulp van de nieuwe Bestandsoperator. Een goede manier om bomen op te slaan voor later gebruik of om bomen tussen Houdini en Blender over te dragen.


Verbeterde simulatie: Buigen
Het fysiek buigen van een steeds groter wordend organisme - dat zich in duizenden richtingen vertakt en met variërende diktes die zelfs in de loop der tijd veranderen - is een echte uitdaging geweest! Buigen speelt een sleutelrol bij het vormen van de grote verscheidenheid aan boomvormen om ons heen. In de zoektocht naar het begrijpen van hoe echte bomen groeien, was elke verbetering die ik aan het buigen heb aangebracht ook een belangrijke verbetering voor elke boom die je laat groeien. En zoals blijkt, maakt het ook het aanpassen van boomvormen veel gemakkelijker! Je zult zeker de volgende verbeteringen opmerken wanneer je begint met groeien.

Verbeterde simulatie: Zwaartepunt
Het nieuwe buigen maakt gebruik van het zwaartepunt dat langs de lengte van de tak verandert, om de kracht van de zwaartekracht correct te verhogen op uitspreidende takken die naar de zijkanten groeien. Bomen die naar één kant overhellen, zullen veel meer gewicht van de zwaartekracht voelen dan voorheen. Hangende takken zullen verder buigen, waardoor de esthetiek van elk type boom aanzienlijk verbetert, van coniferen tot treurwilgen.

Verbeterde simulatie: Verstevigen
Terwijl de boom groeit en de zwaartekracht de boom blijft buigen, omhult elke nieuwe groeiring de vervormde takken en verstevigt een deel van de spanning binnenin. Het nieuwe buigen maakt nu gebruik van het tweede moment van oppervlakte van het oude hout en dat van de nieuwe groeiring om te berekenen hoeveel van de oude spanning moet worden verstevigd binnen de nieuwe groei. De sterkte van de versteviging verandert nu met het groeipercentage van elke tak, waardoor het fysieke buigen nog natuurlijkere resultaten oplevert.

Met deze verbeteringen aan het buigen zijn de schuifregelaars voor versteviging en vermoeidheid niet langer nodig, vaarwel complexiteit!

Verbeterde simulatie: Afgevallen takken
Afgezien van dieren die aan lagere takken knabbelen, hebben sommige bomen ook de gewoonte om takken te laten vallen die niet langer de moeite waard zijn. Voornamelijk te zien bij dennenbomen, maar ook bij bomen zoals populieren en eucalyptusbomen. Lagere takken verliezen veel van hun bladeren in de schaduw, terwijl de tak blijft groeien. Met weinig bladeren om steeds meer hout te ondersteunen, komt er een moment waarop de waterstroom instort en de tak sterft. Dit gebeurt meestal in droge perioden in de zomer, wanneer de waterstress al toeneemt.

Steunpaal
Een steunpaal zorgt ervoor dat je bomen recht omhoog groeien, net zoals in een kwekerij. De stam wordt ondersteund tot de hoogte van de steunpaal, waarna de boom vrij is om op een meer natuurlijke manier te groeien en te buigen.

Automatisch snoeien
Automatisch snoeien heeft vele duizenden takken verwijderd van de basis van je bomen. Het heeft ons allemaal veel handmatig snoeiwerk bespaard. En het werkt nu nog beter nadat de boom goed boven de hoogte van het automatisch snoeien is gegroeid. Takken net boven de snoeigrens zullen blijven groeien naar de zijkanten en naar beneden buigen door het toegenomen gewicht. Deze hangende takken kunnen worden laten groeien, zoals bij een treurwilg, of je kunt ze terugsnoeien tot een bepaalde hoogte met de nieuwe parameter "Dangling".
Je kunt dit ook beschouwen als de graas hoogte die dieren zoals herten en giraffen kunnen bereiken.

React, opnieuw gedaan
De kracht van zowel Attract als Deflect heeft nu een geleidelijke afname in plaats van de vorige abrupte radiusgrens. React neemt nu ook monsters rondom - in plaats van simpelweg het dichtstbijzijnde punt op de geometrie te vinden, wordt nu gemiddeld over alle krachten in een gecombineerde groeivector, vergelijkbaar met hoe fototropisme werkt (naar het licht toe draaien). Dit levert natuurlijkere resultaten op, vooral bij het gebruik van complexe geometrie.

UV's
Net als voorheen werkt de standaard UV-map van The Grove met een naadloze schorsstructuur, die wordt herhaald langs en rondom de tak. Om dit te laten werken, worden de UV-coördinaten sterk vervormd, overlapt en reiken ze ver voorbij de grenzen van de UV-ruimte. Deze UV-map is flexibel en gemakkelijk in gebruik, en voor dunne takken is dit alles wat je nodig hebt.
Maar deze map is absoluut nutteloos als je details op de stam en hoofdtakken wilt schilderen. Daar komen de nieuwe UV-eilanden in beeld. De eilanden zijn onvervormd, zodat het gebied in de UV-ruimte overeenkomt met het werkelijke oppervlak van het vlak. De eilanden worden opgedeeld in stukken van ongeveer 1,5 meter lang, een lengte die efficiënter verpakt dan langere stukken.
UV-eilanden vormen het startpunt om de perfecte UV-indeling te creëren. Het is aan jou om ze te ordenen en in te delen. Om kostbare UV-ruimte te besparen, wil je waarschijnlijk alleen de dikste delen van de takken opnemen in de kaart. Gebruik de nieuwe "Select Thicker" tool in de bewerkingsmodus om alleen de dikkere delen van de boom te selecteren.

Attributen
De 4 attributen voor twijgduplicatie en het "dead" attribuut worden nu opgeslagen in het domein van het vlak, met gebruik van het efficiënte booleaanse gegevenstype. Dit bespaart meerdere megabytes aan gegevens voor elk boommodel.
De attributen "branch_index" en "branch_index_parent" zijn verplaatst van het domein van de vertex naar het domein van het vlak, wat opnieuw een paar megabytes bespaart bij een typische 40 jaar oude essenboom - het telt op.
Er is een nieuw attribuutlaag genaamd "ends". Het is een booleaans attribuut in het domein van het vlak, dat waar is voor (afgesneden) takuiteinden, en je kunt het gebruiken om een ander materiaal toe te voegen aan afgesneden takuiteinden.
The Grove voor Houdini bouwt het hele bomenbos als één stuk geometrie. Selecteer individuele bomen met het nieuwe "Tree Index" attribuut.

Talen
De vertalingen moesten worden bijgewerkt om gelijke tred te houden met de nieuwste functies. Spaans, Italiaans, Nederlands, Japans en Chinees zijn nu actueel. Bovendien zijn er 4 nieuwe talen toegevoegd aan de mix - Frans, Portugees, Duits en Koreaans. Als je een moedertaalspreker bent, waardeer ik je feedback over de nauwkeurigheid van de vertalingen. Bijvoorbeeld, boomgerelateerde termen zoals takken en twijgen kunnen sterk variëren tussen talen, en directe vertalingen zijn niet altijd mogelijk.

Kleine verbeteringen
  • Om de zaken te vereenvoudigen, heb ik de parameter "Shade > Samples" verwijderd. Ik heb gewoon een goede waarde gekozen, waardoor er nu één parameter minder is om over na te denken. De opties "Add > Bud Life" en "Add > Up Random" zijn verwijderd omdat ze te ingewikkeld bleken te zijn. De voorkeursinstelling voor het comprimeren van simulatiebestanden is verwijderd en nu standaard.
  • Een grote verandering voor sommigen - deze versie laat de ondersteuning voor het oude deeltjessysteem van Blender vallen. Geometry nodes en attributen zijn de toekomst. Deze keuze heeft geleid tot veel schonere code, inclusief het verwijderen van verouderde vertexgroepen en vertexkleurlagen.
  • Toekomstbestendig. In Blender is overgestapt van de bgl-module naar de gpu-module, zodat The Grove kan werken op moderne GPU-achterkanten zoals Metal en Vulkan.
  • Verbeteringen aan The Grove in de viewport-gebruikersinterface van Blender - de resolutie van de widget schaalt nu automatisch met de dpi (pixeldichtheid) van je scherm.
  • Verbeterde standaard herhalende UV-map - fixeer het verschuiven bij knooppunten waar de resolutie een stap terug doet. UV's zijn nu perfect recht uitgelijnd.
  • In versie 11 werd het aantal gezichten en takken weergegeven in het paneel "Build > Mesh" slechts voor één boom geteld. Nu worden de veelhoeken en takken van alle bomen in het huidige bos correct opgeteld.
  • Filter specifieke bestanden voor het besturingssysteem uit in het twigs-menu.
  • Door middel van doorgegeven muisbeweging houdt de "Grow"-knop de focus en kun je blijven klikken zonder haperingen! Ik had eerder een onooglijke hack geïmplementeerd die min of meer werkte, maar zijn eigen problemen had. Nu is dit vervelende probleem eindelijk opgelost.
  • Soepelere overgangen vanaf de basis van de boom naar de wortels.
  • Het toevoegen van wortels creëert nu een wortelstelsel voor elke boom in het bos, niet alleen voor de geselecteerde boom. "Grow" en "Regrow" wissen nu ook eventuele bestaande wortels, net zoals "Restart" al deed - wortels zijn de laatste stap in het proces van boomgroei.
  • Wortels worden nu ook bijgewerkt door een verandering in schaalfactor van de simulatie, en wortels delen nu ook hetzelfde draaipunt als de boom.


https://www.thegrove3d.com/releases/the-grove-2-0/
2376 Views
Blijf op de hoogte! Ontvang insprirende artikelen, tutorials, tips, nieuws, vacatures en ontwikkelingen in je mailbox.
 Abonneren

Over de auteur

Edwin van het Bolscher

Edwin van het Bolscher is founder, developer en hoofdredacteur van 3dhype.

Populaire onderwerpen

Zomerstages Disney

Nieuwe Mac mini ook interessant voor 3D Artist

Word Animator met Edwin Schaap’s Masterclasses: Krijg 10% Korting

Corridor Crew: vergeten Disney's Magic Prisma met Paul Debevec

Interview met Ed Hooks

Vrienden van 3dhype:
  Populaire projecten