
Ο στόχος είναι να πραγματοποιηθούν 10 δευτερόλεπτα υψηλής λεπτομέρειας προσομοίωσης ρευστού για κοντινή λήψη με ταχύτητα 60 καρέ ανά δευτερόλεπτο.
Αφού πέρασα περίπου μια μέρα πειραματιζόμενοι και συγκρίνοντας το MantaFlow με το Flip Fluis, επέλεξα το δεύτερο, καθώς το MantaFlow συμπεριφέρεται πολύ απρόβλεπτα, ανάλογα με την ανάλυση.
Σκέφτηκα ότι το νερό θα έφτανε στην επιφάνεια της πισίνας σε 50 καρέ + χρειάζεσαι 10 δευτερόλεπτα από το ίδιο το κινούμενο σχέδιο στα 60 καρέ ανά δευτερόλεπτο, το οποίο έχει ως αποτέλεσμα μια προσομοίωση 650 καρέ με ανάλυση 150 εκατομμυρίων voxels. Αυτή η προσομοίωση στο Ryzen 3700x διήρκεσε 5 ημέρες.
Περαιτέρω αποδείχθηκε ότι το μπλέντερ κολλάει στο render εάν η γεωμετρία στο FlipFluids είναι πολύ υψηλή πολυγωνική. Πραγματικά δεν ήθελα να κάνω ξανά την προσομοίωση σε χαμηλότερη ανάλυση και να περιμένω ξανά αρκετές ημέρες. Πέρασα μερικές μέρες αναζητώντας μια λύση στο πρόβλημα και άρχισα να σκέφτομαι να επιστρέψω στο MantaFlow.
Ρύθμισα ξανά τη σκηνή από το Cycles στο Octane Render, το πρόβλημα παρέμεινε, οπότε αποφάσισα να επιστρέψω στο Cycles.
Το Blender, γενικά, χειρίζεται πολύ καλά μεγάλο αριθμό πολυγώνων, το πρόβλημα είναι με τη γεωμετρία του FlipFluids. Οι προγραμματιστές του πρόσθετου παραδέχονται το πρόβλημα στο GitHub τους και γράφουν ότι είναι στην πλευρά του Blender καθώς δεν λειτουργεί καλά με τη γεωμετρία HighPoly κατασκευασμένη σε Python ή κάτι τέτοιο.
Αποφάσισα να δοκιμάσω να εξάγω τη γεωμετρία στο Alembic, ώστε να μπορέσω στη συνέχεια να την εισαγάγω πίσω, οπότε δεν θα πρέπει να υπάρχουν προβλήματα με αυτήν. Προσπάθησα να κάνω εξαγωγές με διάφορους τρόπους, αλλά πάντα τελείωνε με το μπλέντερ να κολλάει. Μία εξαγωγή μάλιστα χρειάστηκε περισσότερο από μία ημέρα.
Στη συνέχεια, σε ένα αμερικανικό φόρουμ βρήκα μια λύση όπου ειπώθηκε ότι στη γεωμετρία πριν από την εξαγωγή, απλώς πρέπει να αλλάξετε τους τροποποιητές και να βάλετε τον τροποποιητή Smooth κάτω, μετά την οποία η γεωμετρία του FlipFluids εξήχθη γρήγορα στο Alembic. Δούλεψε. Εξήγα τη γεωμετρία στο Alembic, έκρυψα την αρχική γεωμετρία του FlipFluids από το render και το viewport, αλλά άφησα τις φυσαλίδες και τον αφρό και εισήγαγα τη γεωμετρία Alembic.
Με εξέπληξε ευχάριστα το γεγονός ότι η Alembic γεωμετρία διατήρησε τις πληροφορίες ταχύτητας και το MotionBlur στο νερό λειτούργησε σωστά και η σκηνή δεν συνετρίβη πλέον. Πιο συγκεκριμένα, δεν απογειώθηκε αμέσως, αλλά λίγο αργότερα.
Ξεκίνησα το render, έπεσε μόνο την επόμενη μέρα, μετά από περίπου εκατό καρέ. Είναι φυσιολογικό, μπορείς να ζήσεις, μόλις επανεκκίνησα το render από εκεί που σταμάτησε.

Στο σημείο επαφής του πίδακα με την επιφάνεια του νερού, το υγρό φαίνεται σκούρο. Δεν είναι καθόλου «μπλε λιμνοθάλασσα». Το πρόβλημα είναι οι περιορισμοί της τεχνολογίας PathTracing. Σε αυτό το μέρος υπάρχει ένας τεράστιος αριθμός αντανακλάσεων και διαθλάσεων από την επιφάνεια του νερού και φυσαλίδων, και ο renderer μετράει το πολύ 12 αντανακλάσεις και στη συνέχεια τραβάει το μαύρο χρώμα. Μπορείτε, φυσικά, να ορίσετε όχι 12, αλλά 128, 1024 κ.λπ., αλλά μετά θα περιμένουμε μήνες για το αποτέλεσμα απόδοσης. Ως εκ τούτου, πρόσθεσα τιρκουάζ αυτο-λάμψη στις φυσαλίδες και 10 φορές λιγότερο από την ίδια αυτολάμψη στο ίδιο το νερό. Το τζάμπ έχει φύγει, ο χρόνος απόδοσης δεν έχει αλλάξει. αποδίδω από την αρχή. Ταυτόχρονα, αποφάσισα να ξεκινήσω όχι από το πλαίσιο 50, αλλά από το πλαίσιο 100, όπου οι κραδασμοί είναι ήδη ορατοί στην επιφάνεια του νερού. Πρόσθεσα επίσης φωτεινότητα στις πηγές φωτός και λίγη ομίχλη στο νερό.
Μετά από κάποιο χρονικό διάστημα δοκιμών, παρατήρησα ότι στο Blender 3.5, η σκηνή συμπεριφέρεται πολύ πιο σταθερά από την έκδοση 3.6, οπότε αποφάσισα να συνεχίσω να εργάζομαι σε αυτό. Τα υλικά με την κάρτα Mix έπρεπε να διαμορφωθούν εκ νέου, γιατί στην έκδοση 3.6 λειτουργεί διαφορετικά και τα πρώτα καρέ θα πρέπει να αποδοθούν ξανά, γιατί τώρα κάποια υλικά φαίνονται λίγο διαφορετικά.

Μια άλλη μέρα αργότερα, κοίταξα τα πρώτα δευτερόλεπτα του animation που προέκυψε και παρατήρησα ότι τα φυτά δεν ταλαντεύονταν στον άνεμο όπως είχα σχεδιάσει, δεν υπήρχε υφή στα κλαδιά και το γρασίδι είχε φύγει. Το πρόβλημα είναι ότι έκανα το έργο σε φορητό υπολογιστή, και την προσομοίωση και την απόδοση σε έναν υπολογιστή, και στον υπολογιστή στην έκδοση 3.5, υπήρχε μια παλιά έκδοση των πρόσθετων βλάστησης. Επανεγκατάσταση του πρόσθετου βλάστησης, επαναδιαμόρφωση της βλάστησης. Επανεγκατάσταση της προσθήκης για γρασίδι, επαναδιαμόρφωση του γρασιδιού. Ρύθμισα το κινούμενο σχέδιο να αποδοθεί ξανά.
Ανακάλυψα το πρόγραμμα Batch Render Creator, χάρη σε αυτό, ο αριθμός των σφαλμάτων κατά την απόδοση μειώθηκε ακόμη περισσότερο.

Η αυτολάμψη από αυτή τη γωνία, κοντά στη σκοτεινή ρωγμή όπου ρέει το νερό, δεν φαίνεται πολύ καλή. Δυστυχώς, το μπλέντερ δεν έχει χάρτη απόστασης, ο οποίος είναι διαθέσιμος σε 3ds Max και Corona, επομένως θα πρέπει να αποδώσετε ξανά την έκδοση χωρίς αυτολάμψη και να τα αναμίξετε στο AfterEffecs έτσι ώστε να μην υπάρχει αυτολάμψη στην περιοχή το κενό, αλλά υπάρχει σε άλλα μέρη.
Υπήρχαν επίσης άλλα προβλήματα, για παράδειγμα με τη θέση της κάμερας, επειδή άλλαξα την αρχή του κινούμενου σχεδίου από το καρέ 50 στο καρέ 100 και έπρεπε επίσης να επαναφέρω κάποια από αυτά. Και έπρεπε να τσιμπήσω με το Geometry Nodes για να κόψω τον πυθμένα κοντά στο νερό, αφού δεν έκανα την προσομοίωση για όλο το βάθος της πισίνας.
Απαντώντας σε πιθανούς κριτικούς που δεν έχουν κάνει ποτέ κάτι τέτοιο, αλλά πιστεύουν ότι στο Houdini ή στο PhoenixFD υπάρχουν λιγότερα προβλήματα και όλα μπορούν να γίνουν πιο γρήγορα, προτείνω να κάνετε πρώτα μια προσομοίωση 150+ εκατομμυρίων voxel και να την αποδώσετε στη GPU μαζί με κινούμενη βλάστηση και μετατόπιση και, στη συνέχεια, γράψτε πόσο χρόνο σας πήρε και ποιες αποχρώσεις και ασυμβατότητες συναντήσατε.