Folgendes, ich habe hier dieses kleine Script, dass mir eine C4D-Datei aus den Content Browser in meine Szene einfügt
''' Load Object from Content Browser '''
import c4d
from c4d import documents
def main():
load = documents.MergeDocument(doc,'Mein Pfad/Meine Datei',c4d.SCENEFILTER_OBJECTS | c4d.SCENEFILTER_MATERIALS)
if load is False:
print 'Not Found'
return True
c4d.EventAdd()
if __name__=='__main__':
main()
Das funktioniert auch alles wunderbar.
Nun meine Frage.
Gibt es auch eine Möglichkeit die Render Presets, die mit einer Datei gespeichert wurde, zu laden?
Ich habe eine Datei, da bräuchte ich eben nur die Render Presets.
c4d.SCENEFILTER_ONLY_RENDERDATA funktioniert da leider nicht. Zumindest nicht bei mir, aber ich totaler Neuling in Sachen Scripts.
Danke schon mal fürs Lesen und noch einen schönen Abend, Niko.
Du kannst aber mit LoadFile Dein Rendersetting in ein neues Dokument laden und in Dein gewünschtes kopieren. Also quasi ein temporäres Dokument benutzen
Danke für Deine Antwort.
Diese Lösung hatte ich am Anfang auch schon im Kopf, aber ich habe diese dann verworfen, da ich nicht will, dass sich ein neues Dokument öffnet.
Da ich ja auch die einzelnen Renderpresets in den Content Browser schieben kann, müsste es doch auch möglich sein nur diese Presets über ein Script hinzuzufügen, ohne überhaupt eine Datei zu öffnen.
Naja, ob ich mir, nur meiner Bequemlichkeit zuliebe, jetzt auch noch C++ ansehe, muss ich mir noch überlegen.
Jedenfalls herzlichen Dank noch mal und noch ein schönes Wochenende.
Dann benutze statt c4d.documents.LoadFile() die Methode c4d.documents.LoadDocument().
Diese Methode öffnet kein neues Dokument, welches in der Dokumentliste von C4D erscheint, sondern lädt das File in eine Variable. In diesem Fall vom Typ c4d.BaseDocument.
Aus dieser virtuellen Szene kannst du dann die gewünschten Rendersettings kopieren und in die aktive Szene einfügen.
Also das ist schon mal eine hervorragende Lösung.
Eine Frage hätte ich dann doch noch.
Meine Datei mit den Rendersettings beinhaltet sechs Settings. Gibt es da auch die Möglichkeit alles sechs zu laden?
Mir ist aber auch schon mit dieser “GetFirstRenderData” Variante sehr geholfen. Vielen Dank noch mal!
EDIT: Hat sich erledigt. Ich habe einfach alle Rendersttings in eine Gruppe geschmissen und das passt nun wunderbar.
Herzlichen Dank noch mal für Eure Hilfe und insbesondere für Deine Lösung @Peter