====== Blender Project Leandro Martins da Silva - Audio Visualizer ====== ===== Projektbeschreibung ===== === Ich werde eine Animation machen, welches ein komplexes Objekt mit Geomerty Nodes darstellt. === Blender Geometry Nodes sind eine Funktion in der 3D-Animationssoftware Blender, die es Benutzern ermöglicht, komplexe geometrische Operationen direkt im 3D-Ansichtsfenster durchzuführen. Diese Funktion wurde in Blender eingeführt, um die Erstellung und Manipulation von 3D-Geometrie zu vereinfachen. Mit Geometry Nodes können Benutzer eine visuelle Node-basierte Benutzeroberfläche verwenden, um verschiedene Operationen auf 3D-Objekten durchzuführen. Diese Operationen können Transformationen, Verformungen, Duplizierungen, und viele andere sein. Es ermöglicht eine nicht-destruktive und parametrische Herangehensweise an die Modellierung, was bedeutet, dass Sie Änderungen vornehmen können, ohne die ursprüngliche Geometrie zu verlieren. Die Node-basierte Benutzeroberfläche besteht aus verschiedenen Knoten, die miteinander verbunden werden, um komplexe Effekte zu erzeugen. Benutzer können so eine Vielzahl von Modifikationen und Effekten auf ihre 3D-Modelle anwenden, indem sie die Parameter der einzelnen Knoten anpassen und die Verbindungen zwischen ihnen steuern. Insgesamt bieten Blender Geometry Nodes eine flexible und leistungsstarke Möglichkeit, 3D-Geometrie zu erstellen und zu bearbeiten, insbesondere wenn es darum geht, komplexe Szenen oder Animationen zu gestalten. Man kann zum Beispiel mit einer einfachen Noise Texture Node schon ein interessantes "Displacement" machen, bei welchem man jegliche Formen anknüpfen kann um diese wie eine Welle bewegen zu lassen. Oder man instanziert ein komplexes Objekt wie beispielswesie ein Boot und legt diese auf eine einfache Oberfläche mit einer Wellenbewegung (vgl. folgender Screenshot). {{:ef:blender:projektseiten:blender_p2.png?600|}} ---- === Anfang des Projekts === Nach ein wenig ausprobieren mit Geometry-Nodes, habe ich mich dazu entschieden einen Audio-Visualizer zu kreieren. Ich mache in meiner Freizeit Musik, weswegen ich dachte es wäre eine gute Idee mein Hobby mit diesem kreativen Projekt zu verknüpfen. Ich habe mir mehrere Angehensweisen überlegt und hab mit 2 Ansätzen gestartet. Da mir der 2. Ansatz etwas interessanter erschien habe ich mich für diesen entschieden. ---- ===== Ansatz 1 ===== === Mir ist eine neue Idee in den Sinn gekommen als ich dieses Projekt etwas besser betrachtet habe. Ich könnte versuchen eine 3D Interpretation einer Waveform machen und somit einen Song visuell darstellen. === {{:ef:blender:projektseiten:3d-echo-audio-wavefrom-spectrum_1217-3369.jpg?600|}} Dafür brauche ich ein Spectogram Bild von meinem Lied, welches wie folgt aussieht: {{:ef:blender:projektseiten:ptt_spectrogram_image.png?600|}} === Diese Angehensweise habe ich aufgegeben, da sie weniger mit Geometry-Nodes zu tun hat und mehr mit einfachem Animieren, was nicht Ziel meines Projekts sein soll. === ---- ===== Ansatz 2 ===== Um das Projekt interessanter zu gestalten, habe ich mich für einen anderen Ansatz entschieden. Somit entstand das Projekt: V2 Visualizer. ==== Mid-Frequenzen ==== Dies ist der Visualizer für den Mid-Frequenzen Teil des Liedes: {{:ef:blender:projektseiten:ss1.png?800|}} Der Visualizer zeigt die Mid-Frequenzen durch expandierende und kontraktierende Kugeln an: {{:ef:blender:projektseiten:ss2.png?800|}} So sieht die Geometry-Node aufstellung aus: Das lilane ist eine sogenannte Simulation-Zone. Mit dieser kann ich kontinuierlich die expansion und kontraktion der Kugel Instanz simulieren ohne dies alles manuell machen zu müssen. {{:ef:blender:projektseiten:ss3.png}} Damit auch nur die Mid-Frequenzen angezeigt werden brauche ich einen Band-Pass Equalizer. Diese Node Konfiguration ermöglicht mir genau das. Ähnliche Node aufstellungen werden bei den Low- und High-Frequenzen auch verwendet. Nur werden es respektive Low-Pass Filter und High-Pass Filter sein. {{:ef:blender:projektseiten:band_pass_p1.png|}} ==== Low-Frequenzen: ==== === Um die Low-Frequänzen darzustellen habe ich mich dazu entschieden eine Kontinuierlich drehende Sphäre zu machen, welche bei jedem Bass-Hit etwas schneller dreht === Das Material (Textur) für die Low-Frequenzen bzw. Bass: {{:ef:blender:projektseiten:ss4.png?800|}} {{:ef:blender:projektseiten:ss5.png|}} Damit das Material sich danach auch drehen kann, muss ich als Texture Coordinate die UV Komponente auswählen: {{:ef:blender:projektseiten:gn_shader_uv_1.png|}} Damit habe ich nun die Grundlage um meine Sphäre bei jedem Bass-Hit reagieren zu lassen. Ich möchte aber auch dass sich die Sphäre kontinuierlich dreht. Dafür kann ich die Rotation mit Keyframes im Graph-Editor bestimmen: {{:ef:blender:projektseiten:globe_spin_p1.png?400|}} Die Geometry-Node konfiguration sieht wie Folgt aus. wie zu sehen ist, ist anfangs ein Lowpass-Filter, um nur die tiefen Frequänzen durch zu lassen. Die Vector Rotate Node kontroliert die Rotation in der Transform Geometry Node, damit die Sphäre sich bei jedem Bass-Hit bewegt. {{:ef:blender:projektseiten:geo_node_low_freq_p1.png|}} ==== High-Freqenzen: ==== === Um die High-Frequänzen habe ich mir überlegt, sie als Strahlen welche vom Mittelpunkt der Szene ausgestrahlt werden darzustellen. === {{:ef:blender:projektseiten:high_freq_p1.png?600|}} Die Node-Konfiguration ist wie folgt: Wieder ist eine Simulaton Zone zu sehen welche meine gespeicherte Velocity und Age Attibute benutzen. Damit Simuliere ich die Geschwindigkeit und halbwertszeit der ausgehenden Strahlen. Wie bei den anderen Node Konstrukten, ist Anfangs wieder ein EQ-Filter zu sehen, hier ein High-Pass Filter {{:ef:blender:projektseiten:high_freq_node_p1.png|}} ---- ===== Referenzen/ Quellen ===== * https://www.youtube.com/watch?app=desktop&v=GS2NBrhdXn8 * https://www.youtube.com/watch?v=0yA49cwE_V4 * https://www.youtube.com/watch?v=1LV2X6CSfFM * https://www.youtube.com/watch?v=1LV2X6CSfFM * https://www.youtube.com/watch?v=374dvtMXXG4&list=WL&index=6 * https://blender.stackexchange.com/questions/310311/transform-geometry-node-does-not-affect-the-texture * https://www.youtube.com/watch?v=XOsXZ1qDfSk&list=WL&index=5 * https://www.youtube.com/watch?v=zTVkyDvdrrI ---- ===== Final .blend File ===== [[https://e.pcloud.link/publink/show?code=XZfrOeZMn8RaH7eSypUnlOI0ufGV5HiD5l7]] ===== Final Render ===== Leider dauert der Render viel zu lange, weswegen dieser hier nicht abgebildet sein wird