En mandelbulb är en tredimensionell fraktal som blir alltmer populär i 3d konst och vfx. I den här artikeln går jag igenom hur man snabbt gör en mandelbulb i Houdini , med hjälp av en SDF (signerad distansfältvolym).
I varje voxel lagrar en SDF avståndet till närmaste punkt på ytan. Houdini kan tolka dessa avstånd och visualisera den härledda ytan som 3D-geometri. Detta är väldigt bekvämt eftersom de flesta fraktalformler har formen av en "distansberäkningsfunktion" - med tanke på en plats i rymden, returnerar funktionen avståndet till närmaste punkt på den fraktala implicita ytan. Det betyder att du kan sätta resultatet av fraktalfunktionen direkt i varje voxel och det kommer bara att fungera!
Först, skapa en tom volym (volym SOP) för att fylla med avståndsvärden - ge det namnet "yta". En bra fraktal att testa med är mandelbulb, och som standard är det cirka 2,5 enheter breda, så sätt volymen storlek till 2,5, 2,5, 2,5. Du kan ändra upplösningen av volymen för att handla av hastighet mot kvalitet. En bra utgångspunkt kan ställa in enhetlig provtagning med storlek, med en divisionsstorlek på 0,01. Standardläge för visualisering av en volym i Houdini är en dimension, men du kan ändra det som en hårdgränsyta, genom att ändra visningsläge till Isosurface (i fliken Egenskaper).
Då är det en fråga om att fylla voxels med avståndsvärden. Använd den här VEX-koden i en volymskrik SOP för att köra mandelbulbformeln per-voxel:
Vector p = V @ p;
float dr = 1;
float r = 0,0;
Float Power = CHF ("Power");
för (int i = 0; i & lt; chi ("iterations"); jag ++) {
r = längd (p);
Om (R & GT, 1,5) bryts;
// konvertera till polära koordinater
float theta = ACOS (P.Z / R);
float phi = atan (p.y, p.x);
DR = POW (R, Power-1.0) * Power * Dr + 1.0;
// skala och rotera punkten
float zr = pow (r, makt);
theta * = makt;
phi * = effekt;
// konvertera tillbaka till kartesiska koordinater
p = zr * set (synd (theta) * cos (phi), synd (phi) * synd (theta), cos (theta));
p + = v @ p;
}
F @ yta = 0,5 * log (R) * R / Dr;
Houdini låter dig lägga till egna anpassade reservparametrar till en enskild nods användargränssnitt. Vår VEX-kod innehåller parameterreferenser (the CHF () funktioner), för att låta oss styra aspekter av formeln med parametrar i UI. Dessa parametrar kommer inte att existera som standard, men du kan skapa dem genom att trycka på knappen Skapa reservparametrar till höger om kodfönstret.
I det här fallet kommer iterationsparametern att styra detaljnivån för mandelbulb - börja med 5 eller 6. Strömmen kommer att styra formen på mandelbulb - den typiska formen framträder vid Around Power 8.0.
För att konvertera ytan till polygoner, följ volymen vridning med en konvertvolym SOP. Använd Invert-läge, eftersom det tolkas som ett undertecknat avståndsfält, och du får den detaljerade fractalformen som är kärnformad i polygonform. Effektivt reverserar det inverterade läget i ytan och polygonsens lindningsriktning.
Du kan då göra det samma som du skulle göra något annat mesh, men eftersom det är så detaljerat kommer du inte att kunna UV packas upp det enkelt - överväga att använda procedurtekniker för att yta det, till exempel skuggning baserat på dess krökning.
Denna artikel publicerades ursprungligen i 3d värld , världens bästsäljande tidning för CG-artister.köpa Utgåva 237 eller prenumerera .
Läs mer:
Att veta hur man ritar musklerna i rörelse kommer att lägga fluiditet och rörelse i en stillbild. Denna handledning kommer att..
Som det största levande landet däggdjur på jorden har elefanter ganska otrevlig närvaro. Vid födseln väger elefanter redan upp till 200 pund (ungefä..
Det finns många sätt att närma sig varelse och karaktär design , och allt beror på vad du vill att ditt slutr..
Oavsett om vi tycker om att erkänna det eller inte, bidrar Messaging Interaction-plattformar till vår dagliga mobila skärmtid...
I en värld där användarna har höga förväntningar på deras erfarenhet på webben och mobil, prototypning och användarutvärdering är nyckeln. Det är nu vanligt att gradvis iterera p�..
Sida 1 av 2: Olika typer av frontendest (och när du ska använda dem) Ol..
När du har kommit med en idé för en fantasi-varelse är nästa steg att ta det till livet genom att måla det med trovärdiga ..
Sida 1 av 2: Design och textur 3d golvplattor Design och textur 3d golvpl..