Mandelbulb jest trójwymiarowym fraktalem, który staje się coraz bardziej popularny 3d art. i vfx. W tym artykule przejdę przez to, jak szybko zrobić mandelbulb Houdini. , przy użyciu SDF (podpisana objętość pola odległości).
W każdym wokselu, SDF przechowuje odległość do najbliższego punktu na powierzchni. Houdini może interpretować te odległości i wizualizować powierzchnię pochodną jako geometrię 3D. Jest to bardzo wygodne, ponieważ większość fraktalnych formuł przyjmuje formę "funkcji estymacji odległości" - biorąc pod uwagę punkt w przestrzeni, funkcja zwraca odległość do najbliższego punktu na fraktalnej ukrytej powierzchni. Oznacza to, że można umieścić wyniki funkcji fraktali bezpośrednio w każdym wokselu, a to po prostu zadziała!
Najpierw utwórz pustą głośność (SOP Volume), aby wypełnić wartościami odległościami - daj mu nazwę "Powierzchnia". Dobry fraktal do testowania jest mandelbulb, a domyślnie jest o szerokości około 2,5 jednostek, więc ustaw rozmiar objętości do 2,5, 2,5, 2.5. Możesz zmienić rozdzielczość objętości do wymiany prędkości przed jakością; Dobrym punktem wyjścia może być ustawianie jednolitego próbkowania do rozmiaru, z wielkością podziału 0,01. Domyślny tryb wizualizacji objętości w Houdinie jest objętością mgły, ale można zmienić to, aby wyświetlić jako powierzchnię granicy twardej, zmieniając tryb wyświetlania na izosturface (na karcie Właściwości).
Wtedy jest to kwestia napełnienia wokseli wartościami odległości. Użyj tego kodu VEX w wolumenowym SOP Wrang, aby uruchomić formułę Mandelbulb Per-Voxel:
Wektor p = v @ p;
Float Dr = 1;
float r = 0,0;
pływak Power = CHF ("Power");
dla (int I = 0; I & LT; Chi ("iterations"); i ++) {
r = długość (p);
jeśli (R & GT; 1,5) przerwa;
// Konwertuj na współrzędne polarne
float theta = acos (p.z / r);
Float Phi = ATAN (P.Y, P.X);
Dr = pow (R, Power-1.0) * Power * Dr + 1.0;
// Skala i obróć punkt
float zr = pow (R, moc);
THETA * = moc;
Phi * = moc;
// Konwertuj powrót do współrzędnych kartezjańskich
P = ZRR * SET (SIN (THETA) * COS (PHI), SIN (PHI) * SIN (THETA), COS (THETA));
p + = v @ p;
}
F @ Powierzchnia = 0,5 * Log (R) * R / D;
Houdini umożliwia dodawanie własnych niestandardowych parametrów zapasowych do indywidualnego interfejsu użytkownika węzła. Nasz kod VEX zawiera odniesienia parametrów ( () Funkcje), aby pozwolić nam kontrolować aspekty formuły z parametrami w UI. Te parametry nie istniały domyślnie, ale można je utworzyć, naciskając przycisk Utwórz parametry w prawo od okna kodu.
W tym przypadku parametr ITERATACJI będzie kontrolować poziom szczegółowości dla mandelbulb - startuje z 5 lub 6. Moc kontroluje kształt mandelbulb - typowy kształt pojawia się wokół wokół mocy 8.0.
Aby przekonwertować powierzchnię do wielokątów, postępuj zgodnie ze składem głośności z konwersją woluminem SOP. Użyj trybu odwrócenia, ponieważ jest interpretowane jako podpisane pole odległości, a otrzymasz szczegółowy kształt fraktali w formularzu wielokąta. Skutecznie, tryb odwrócenia odwraca normalność powierzchni i kierunek uzwojenia wielokątów.
Następnie możesz to zrobić tak samo jak w jakimkolwiek innym siatce, ale dlatego, że jest tak szczegółowy, nie będziesz w stanie rozpakować go łatwo rozpakować - rozważ przy użyciu technik proceduralnych, na przykład, na przykład cieniowanie na podstawie jego krzywizny.
Ten artykuł został pierwotnie opublikowany Świat 3D. , Najlepiej sprzedający się na świecie magazyn dla artystów CG.Kup wydać 237. lub Subskrybuj .
Czytaj więcej:
(Kredyt obrazu: Getty Images) Przechowywanie w chmurze zapewnia mnóstwo korzyści dla kreacji wszystkich typów, zw�..
Specyfikacja CSS jest zawsze ewoluująca. Proces wdrażania nowych funkcji w CSS jest skomplikowany, ale wersja uproszczona jest ..
Aberracja chromatyczna (zniekształcenie), znane również jako "Color Fringing" jest wspólnym problemem optycznym. Występuje, ..
Strona 1 z 2: Używanie tabl.js: Steps 01-10 Używanie tabl.js: Steps 01-..
Tworzenie apokaliptycznej sceny miasta Sci-Fi 3d art. jest czymś, co artyści mogą odczuwać odbywa się ze wzgl..
Reagować Native. jest platformą, która umożliwia budowanie natywnych aplikacji mobilnych za pomocą JavaScript. J..
Dla przybronników do Zbrush. , Interfejs wydaje się bardzo różny od innych programów modelowania 3D, więc mo..
Kolor i tekstura oferują doskonały sposób, aby dać życzliwym martwym życiu. Ta demonstracja pokazuje, jak używam farby akr..