Hi. Also ... --- Warnung: lang und breit ---
Zahlen?! Zahlen! Funktionen, Matrizen, Vektoren, Logarithmen, das alles in Formeln zusammen-
gebacken und in Diagrammen gruppiert - irgendwie konnte ich nicht widerstehen, wenigstens einen
Versuch zu wagen ;o) Aber um es gleich zu sagen: ich habe von C4D ansonsten keinerlei Ahnung ...
und mache kleine Schritte, damit ich nötigenfalls später selber noch verstehe, wovon ich hier rede
Die IdeeWir rufen in jedem Frame jeden Würfel einzeln auf und merken uns dessen Index, das ist dann bei
z.B. 60 Klonen eine Zahl zwischen 0 und 59. Nun werten wir bei jedem Würfel den Sound-Effektor aus
und setzen dabei dessen Filter-Frequenz und Bandbreite abhängig vom Würfel-Index:
Würfel 0 => niedrigste Frequenz,
Würfel 30 => mittlere Frequenz,
Würfel 59 => höchste Frequenz.
Wir erhalten dann vom Sound-Effektor für jeden Würfel die "Stärke" des entsprechenden (schmalen)
Frequenzbandes. Die Zuordnung Index => Frequenz wählen wir hierbei nicht linear, sondern mit Hilfe
einer Formel logarithmisch.
Die Details Die Szene sieht zunächst etwa so aus wie im Tutorial: einen Würfel setzen, verkleinern, zurechtrücken,
konvertieren (c). Den Würfel mit einem Klon-Objekt klonen (z.B. linear, 60) und ebenfalls konvertieren.
Dann kommt noch ein Sound-Effektor dazu, der aber nicht direkt auf das Klon-Objekt wirken soll; wer
den Sound-Effektor schon vor dem Konvertieren des Klon-Objekts hinzugefügt hat, muss also den Eintrag
im Effektor-Tab des Kloners ggf. abschalten. Der Sound-Effektor steht für sich, wir verbinden ihn später
per Xpresso mit den Klon-Würfeln.
Wichtig: Beim Sound-Effektor im Effektor-Tab den Schritt-Modus
wählen und 'Filter benutzen' einschalten. - Jetzt hängen wir an das Kloner-Objekt noch ein Xpresso-Tag.
Das sieht bei mir dann so aus: siehe Anhang "Einstellungen".
Im Xpresso-Editor legen wir nun die Schaltung an, die uns den Zusammenhang zwischen Sound-Effektor
und Klon-Würfeln schafft: siehe Anhang "Xpresso".
And now for the tricky part ... die Formel (hier für 200 .. 10000 Hz):
- Code: Alles auswählen
200 * exp( log(50) * (idx+1)/count )
Abstrakt:
- Code: Alles auswählen
fu * exp( log(fo/fu) * (idx+1)/count )
wobei
* fu bzw. fo die untere bzw. obere "Grenzfrequenz" sind, also z.B. 200 bzw. 10000
* count ist die Zahl der Klone, z.B. 60
* idx ist der Objekt-Index des jeweiligen Klon-Würfels, läuft z.B. von 0..59
idx und
count sind die Namen der beiden Formel-Eingänge; um diese in der Formel nutzen zu
können, muss man im Formel-Node 'Portnamen benutzen' einschalten.
Der Teiler (Math:Divide) teilt den oberen input durch 16; das scheint einen halbwegs passablen Wert
für die Bandbreite zu liefern. Der Range-Mapper (Bereichsumwandler) bildet 0..1 auf 1..10 ab.
Was hinten 'rauskommt...Zum Testen habe ich nun eine Datei mit Sinustönen in den Sound-Effektor geladen: 440, 880, 1760,
3520, 7040 Hz. Diese Töne markieren den Ton a und seine Oktaven. Wie auf dem folgenden Bild zu
sehen, hinterlassen diese Töne Marken in je gleichem Abstand. Wir haben nun also keine lineare Skala
mehr, sondern eine logarithmische: siehe Anhang "Peaks".
Soweit ich sehen kann, verarbeitet der Sound-Effektor hier nur Frequenzen bis 10000 Hz, jedenfalls ist
das bei mir so. - Die Formel kann natürlich angepasst werden; außerdem könnte man ja außer der Geometrie
auch die Farbe o.ä. steuern, Stichwort Lichtorgel? Ein weites Feld!
Ich hoffe, das hilft ein bisschen weiter - ansonsten hab' ich immerhin einiges über C4D gelernt
Grüße, Ingo
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]