Hoe een Mandelbulb te maken

Sep 11, 2025
Procedures

Een Mandelbulb is een driedimensionale fractal die steeds populairder wordt 3d kunst en VFX. In dit artikel loop ik door hoe je snel een mandelbulb hebt gemaakt Houdini , met behulp van een SDF (ondertekend deelvolume op afstand).

In elke voxel slaat een SDF de afstand op naar het dichtstbijzijnde punt op het oppervlak. Houdini kan deze afstanden interpreteren en het afgeleide oppervlak als 3D-geometrie visualiseren. Dit is erg handig omdat de meeste fractale formules de vorm aannemen van een 'afstandsschattingsfunctie' - gezien een punt in de ruimte, de functie retourneert de afstand tot het dichtstbijzijnde punt op het fractale impliciete oppervlak. Dit betekent dat u de resultaten van de fractal-functie direct in elke voxel kunt plaatsen en het werkt gewoon!

01. Maak een leeg volume

Create an empty volume toolbar

Klik op het pictogram in de rechterbovenhoek om het beeld te vergroten

Maak eerst een leeg volume (volume SOP) om te vullen met afstandswaarden - geef het de naam 'oppervlak'. Een goede fractal om met te testen is de Mandelbulb, en standaard is het ongeveer 2,5 eenheden breed, dus stel het formaat van het volume in op 2,5, 2.5, 2.5. U kunt de resolutie van het volume wijzigen om snelheid tegen kwaliteit af te wisselen; Een goed uitgangspunt kan de uniforme bemonstering op maat instellen, met een divisiegrootte van 0,01. De standaardmodus van het visualiseren van een volume in Houdini is een mistvolume, maar u kunt dat wijzigen om weer te geven als een hardgrensoppervlak, door de weergavemodus naar Isosurface (op het tabblad Eigenschappen) te wijzigen.

02. Voeg een code toe

Add some code toolbar

Klik op het pictogram in de rechterbovenhoek om het beeld te vergroten

Dan is het een kwestie van het vullen van de voxels met afstandswaarden. Gebruik deze VEX-code in een volume wrangle sop om de Mandelbulb-formule per-voxel uit te voeren:

 Vector p = v @ p;
drijf DR = 1;
zweven r = 0,0;
Float Power = CHF ("POWER");
voor (int i = 0; i & lt; chi ("iterations"); i ++) {
    r = lengte (p);
    if (r & gt; 1.5) pauze;

    // Converteren naar Polar-coördinaten
    zwevend theta = acos (p.z / r);
    float PHI = ATAN (P.Y, P.X);
    DR = POW (R, POWER-1.0) * POWER * DR + 1.0;

    // schaal en draai het punt
    drijf ZR = POW (R, POWER);
    theta * = vermogen;
    PHI * = POWER;

    // Converteer terug naar Cartesiaanse coördinaten
    P = ZR * SET (SIN (Theta) * COS (PHI), SIN (PHI) * SIN (Theta), COS (Theta));
    p + = v @ p;
    ​
f @ oppervlak = 0,5 * log (r) * r / dr;

03. Introduceer parameterreferenties

3D fractal

Klik op het pictogram in de rechterbovenhoek om het beeld te vergroten

Houdini Hiermee kunt u uw eigen aangepaste reserveparameters toevoegen aan de gebruikersinterface van een individuele knooppunt. Onze VEX-code bevat parameterreferenties (de CHF () Functies), om ons aspecten van de formule met parameters in de UI te laten beheersen. Die parameters zullen niet standaard bestaan, maar u kunt ze maken door op de knop Reserve-parameters in de rechterkant van het codevenster te drukken.

In dit geval bestuurt de parameter ITERATIES het detailniveau voor de Mandelbulb - Begin met 5 of 6. De stroom zal de vorm van de Mandelbulb regelen - de typische vorm komt op rond de macht 8.0.

04. Converteren naar polygonen

convert to polygons

Klik op het pictogram in de rechterbovenhoek om het beeld te vergroten

Om het oppervlak naar polygonen te converteren, volgt u het volume Warrangle met een SEPE-SOP om te converteren. Gebruik Invert-modus, omdat het wordt geïnterpreteerd als een ondertekend afstandsveld, en u krijgt de gedetailleerde fractal-vorm in polygoonvorm. Effectief keert de omkerenmodus de normooien van het oppervlak en de kronkelingsrichting van de polygonen om.

05. Render je Mandelbulb

mandelbulb render

Klik op het pictogram in de rechterbovenhoek om het beeld te vergroten

Je kunt het dan hetzelfde maken als je een ander netwerk, maar omdat het zo gedetailleerd is, kun je het niet in staat zijn om het gemakkelijk uit te schakelen - overweeg het gebruik van procedurele technieken om het te oppervlakken, bijvoorbeeld in de schaduwing van de kromming.

Dit artikel is oorspronkelijk gepubliceerd in 3d wereld , 's werelds best verkochte magazine voor CG-artiesten.Kopen uitgave 237 of inschrijven

Lees verder:

  • Grow Plants in Houdini
  • 8 Eye-Popping Voorbeelden van Fractal Art
  • 15 TOP HOUDINI TIPS

Procedures - Meest populaire artikelen

8 Verbazingwekkende nieuwe grafisch ontwerp tutorials

Procedures Sep 11, 2025

Of je nu net begint in grafisch ontwerp of een doorgewinterde pro, er is altijd iets nieuws om te leren of je voor het spel wilt blijven. Grafisch ontwerp is zo'n uitgestrekte discipline die ..


Bouw adaptieve lay-outs zonder media-query's

Procedures Sep 11, 2025

Ik probeerde al heel lang een perfecte visuele compositie op webpagina's te bereiken. Ik heb veel pijn gehad met CSS-breekpunten in mijn dagelijkse werk en was nooit helemaal tevreden met gem..


Hoe een kleurrijke zombie te schilderen

Procedures Sep 11, 2025

Ik heb altijd de ondoden gehouden en zal vaak rooten voor de haveloze underdog die zo vaak wordt gereduceerd tot een bewegend doe..


SVG-polygonen maken en animeren

Procedures Sep 11, 2025

In deze tutorial zullen we een reeks afbeeldingen maken uit SVG-driehoeken en het opzetten van een geanimeerde overgang van de en..


Hoe te bewegen tussen Daz Studio en Zbrush

Procedures Sep 11, 2025

Voor nieuwkomers om Zott , de interface lijkt heel anders dan andere 3D-modelleringsprogramma's, dus kan intimider..


Textuur een authentiek versleten K-2So droid

Procedures Sep 11, 2025

Pagina 1 van 2: Pagina 1 Pagina 1 Pagina..


Maak een zelfportret met slechts 4 kleuren

Procedures Sep 11, 2025

Zelfportret is een van de meest lonende uitdagingen die een kunstenaar kan proberen. Omdat we weten dat de landschappen van onze ..


Bouw complexe lay-outs met de PostCSS-FLEXBOX

Procedures Sep 11, 2025

FlexBox is een geweldige tool voor het verminderen van CSS Bloat, en heeft wat suiker ingebouwd om dingen als bronorder en uitlij..


Categorieën