Ένα mandelbulb είναι ένα τρισδιάστατο φράκταλ που γίνεται όλο και πιο δημοφιλές στο Τρισδιάστατη τέχνη και VFX. Σε αυτό το άρθρο, θα περπατήσω μέσα από το πώς να φτιάξω γρήγορα ένα mandelbulb στο Ινδίνη , χρησιμοποιώντας ένα SDF (υπογεγραμμένο όγκο πεδίου απόστασης).
Σε κάθε Voxel, ένα SDF αποθηκεύει την απόσταση από το πλησιέστερο σημείο στην επιφάνεια. Ο Houdini μπορεί να ερμηνεύσει αυτές τις αποστάσεις και να απεικονίσει την προερχόμενη επιφάνεια ως 3D γεωμετρία. Αυτό είναι πολύ βολικό, δεδομένου ότι οι περισσότεροι φράκταλ τύποι λαμβάνουν τη μορφή μιας λειτουργίας «εξ αποστάσεως εκτίμησης» - δεδομένου ενός σημείου στο διάστημα, η λειτουργία επιστρέφει την απόσταση από το πλησιέστερο σημείο της φρατάλης σιωπηρής επιφάνειας. Αυτό σημαίνει ότι μπορείτε να βάλετε τα αποτελέσματα της λειτουργίας Fractal απευθείας σε κάθε Voxel και θα λειτουργήσει απλά!
Πρώτον, δημιουργήστε έναν κενό όγκο (SOP όγκου) για να γεμίσετε με τις τιμές απόστασης - δώστε το όνομα 'Surface'. Ένα καλό φράκταλ για να δοκιμάσετε είναι ο Mandelbulb και από προεπιλογή είναι περίπου 2,5 μονάδες πλάτος, έτσι ορίστε το μέγεθος του όγκου σε 2,5, 2,5, 2,5. Μπορείτε να αλλάξετε την ανάλυση του όγκου στην ταχύτητα από την ποιότητα. Ένα καλό σημείο εκκίνησης θα μπορούσε να ρυθμίσει την ομοιόμορφη δειγματοληψία με μέγεθος, με μέγεθος διαίρεσης 0,01. Ο προεπιλεγμένος τρόπος απελευθέρωσης ενός όγκου στο Houdini είναι ένας όγκος ομίχλης, αλλά μπορείτε να αλλάξετε ότι για να εμφανιστεί ως επιφάνεια σκληρού ορίου, αλλάζοντας τη λειτουργία οθόνης στο ISOSurface (στην καρτέλα Ιδιότητες).
Τότε είναι θέμα γεμίζοντας τα voxels με τις εξ αποστάσεως αξίες. Χρησιμοποιήστε αυτόν τον κώδικα Vex σε ένα BRANGLE SOP για να εκτελέσετε τον τύπο Mandelbulb Per-Voxel:
Vector p = v @ p;
float dr = 1;
float r = 0,0;
Float Power = CHF ("POWER").
για (int i = 0, i & lt; chi ("iterations"); i ++) {
r = μήκος (p);
Εάν (R & GT, 1.5) σπάσιμο.
// Μετατροπή σε πολικές συντεταγμένες
float theta = acos (p.z / r);
float phi = atan (p.y, p.x).
dr = pow (r, power-1.0) * power * dr + 1.0;
// κλίμακα και περιστρέψτε το σημείο
float zr = pow (r, δύναμη);
theta * = δύναμη;
PHI * = Ισχύς;
// μετατρέψτε τις καρτεσιανές συντεταγμένες
P = ZR * SET (SIN (THEA) * COS (PHI), SIN (PHI) * SIN (THETA), COS (THETA)).
p + = v @ p;
}
F @ επιφάνεια = 0,5 * log (r) * r / dr;
Το Houdini σας επιτρέπει να προσθέσετε τις δικές σας προσαρμοσμένες ανταλλακτικές παράμετροι σε μια διεπαφή χρήστη ενός μεμονωμένου κόμβου. Ο κώδικας Vex περιέχει παραμέτρους αναφοράς (το chf () Λειτουργίες), για να μας επιτρέψει να ελέγξουμε τις πτυχές του τύπου με παραμέτρους στο UI. Αυτές οι παράμετροι δεν θα υπάρχουν από προεπιλογή, αλλά μπορείτε να τα δημιουργήσετε πατώντας το κουμπί Δημιουργία εφεδρικών παραμέτρων στα δεξιά του παραθύρου κώδικα.
Σε αυτή την περίπτωση, η παράμετρος ITERATIONS θα ελέγξει το επίπεδο λεπτομερειών για το Mandelbulb - ξεκινήστε με 5 ή 6. Η ισχύς θα ελέγξει το σχήμα του Mandelbulb - το τυπικό σχήμα εμφανίζεται γύρω από την ισχύ 8.0.
Για να μετατρέψετε την επιφάνεια σε πολύγωνα, ακολουθήστε τον τύπο όγκου με ένα SOP VOLUME CONVERT. Χρησιμοποιήστε τη λειτουργία Invert, επειδή ερμηνεύεται ως ένα υπογεγραμμένο πεδίο απόστασης και θα έχετε το λεπτομερές σχήμα fractal σε μορφή πολυγώνου. Αποτελεσματικά, η λειτουργία αντιστάθμισης αντιστρέφει τους κανονικούς της επιφάνειας και την κατεύθυνση εκκαθάρισης των πολύγωνων.
Στη συνέχεια, μπορείτε να το καταστήσετε το ίδιο όπως θα το κάνετε οποιοδήποτε άλλο πλέγμα, αλλά επειδή είναι τόσο λεπτομερές ότι δεν θα είστε σε θέση να το ξετυλίξετε εύκολα - σκεφτείτε να χρησιμοποιήσετε διαδικαστικές τεχνικές για να την επιφύλαξη, για παράδειγμα, σκίαση με βάση την καμπυλότητα του.
Αυτό το άρθρο δημοσιεύθηκε αρχικά στο 3d κόσμο , το περιοδικό Best-Selling στον κόσμο για τους καλλιτέχνες CG.Αγορά Τεύχος 237 ή Εγγραφείτε .
Διαβάστε περισσότερα:
(Credit Credit: Olly Curtis) Ξέρατε ότι είναι δυνατό να κάνετε τη δική σας γρ�..
Σε αυτό το σεμινάριο, θα σας οδηγήσω μέσω της διαδικασίας μου για τη δη�..
Η απαλότητα και η φωτεινότητα των παστέλ μπαστούνια τους καθιστούν τη�..
Για αυτό PhotoShop Tutorial , Θα δημιουργήσω ένα ανθρώπινο, θηλυκό �..
Ένας πολύ καλός τρόπος για να τραβήξετε την προσοχή - και να κρατήσετε το κράτος - ..
Είτε πρόκειται για μια ροή εγγραφής είτε ένα βήμα πολλαπλών προβολών, �..
ο Vecteezy συντάκτης είναι μια δωρεάν σουίτα επεξεργασίας φορέα π�..
Η μετακίνηση μεταξύ προγραμμάτων μπορεί να προκαλέσει σύγχυση. Τείνω �..