Antworten auf deine Fragen:
Neues Thema erstellen

[R10] - XPresso Rendern/Editor

MrIous

Aktives Mitglied

Ich habe hier gerade eine Szene, in der ich 5 Instanzen eines relativ aufwendigen Objekts habe. Die Instanzen sind im Editor deaktiviert, zwecks PC-Entlastung. Beim Rendern sollten sie jedoch aktiviert werden, damit ich die Anordnung überprüfen kann.
Weis jemand wie ich das automatisch machen kann? Vielleicht per XPresso?
 

hanco

ex

AW: XPresso Rendern/Editor

Öhem - hinter jedem Objekt sind zwei kleine graue Punkte - der erste ist für die Darstellung im Editor, der zweite fürs Rendern - den ersten auf rot und den zweiten belassen oder auf grün schalten und schon funktioniert das ganz automatisch - ohne Xpresso.
 

MrIous

Aktives Mitglied

AW: XPresso Rendern/Editor

Ja die Ampel kenn ich, die funkt nur leider in dem Fall nicht :p
Also ausgeblendet wirds schon, aber ich merk keinen Performance gewinn, der stellt sich ausschliesslich dann ein, wenn ich die Instanzen deaktivier
 

fuxxx

Mod | 3D

AW: XPresso Rendern/Editor

die funktionen der ampel und des kreuzes sind unter allgemein beim objekt zu finden :D
ergo erstellst du ein feld für benutzerdaten mit dem typ boolean.
dann ziehst du alle auszuschaltenden elemente in den expressoeditor und verbindest die aktivieren eigenaschaft mit dem erstellten benutzerdatenfeld.

nu kann man das alles bequem mit einem knopf machen :)

ab R10 gibts zudem noch ne nette kleine funktion:
einfach aus das kreuz klicken, gedrückt halten und die maus die liste entlangziehen...
ist häufig ganz nützlich (und geht natürlich auch mit der ampel :))

nachtrag: falls jmnd weiß wie mans automatisch zum rendern umschalten lässt ruhig in den thread schreien...
würd mich auch mal interessieren, weil ichs mal selbst gesucht hab. (und bei coffee nicht weiterkam...)
 
Zuletzt bearbeitet:

MrIous

Aktives Mitglied

AW: XPresso Rendern/Editor

falls jmnd weiß wie mans automatisch zum rendern umschalten lässt ruhig in den thread schreien...
Ja das mein ich. Ein allgemeiner Node, an dem beim rendern "1" und im Editor "0" anliegt zum Beispiel würde genügen...

Da es nur 5 Instanzen sind, die alle in einem Null-Objekt liegen bringen mich Benutzerdaten leider nit weiter, trotzdem thx :)
 

siousu

Hat es drauf

AW: XPresso Rendern/Editor

habe hier einmal ein Skrip erstellt:

var i;
for (i=0; object(i); i++)
{
doc->AddUndo(UNDO_CHANGE_SMALL,object(i));
object(i)#ID_BASEOBJECT_GENERATOR_FLAG=TRUE;
object(i)->Message(MSG_UPDATE);
}
CallCommand(12099);
for (i=0; object(i); i++)
{
doc->AddUndo(UNDO_CHANGE_SMALL,object(i));
object(i)#ID_BASEOBJECT_GENERATOR_FLAG=FALSE;
object(i)->Message(MSG_UPDATE);
}
das fügst du im Skript-Manager ein... dann wählst du alle Instanzobjekte aus und klickst auf ausführen.
Somit werden die Instanzobjekte kurz eingeschalten, das Bild im Bildmanager gerendert, und wieder ausgeschalten.
Für das kannst du natürlich ein Icon erstellen, indem du im Skriptmanager das Icon neben "Skrip" irgendwo in eine Palette ziehst. (Dann hast du keinen Umweg über den Skriptmanager mehr.)

Vielleicht hilft es ja :p

Gruss siousu
 
Zuletzt bearbeitet:

fuxxx

Mod | 3D

AW: XPresso Rendern/Editor

wow super :)
funktioniert ohne mucken :)

könntest du den code kurz erklären bzw sagen was die einzelne zeile macht?
was tut zb das object(i) in der zählschleife?
seh ich das richtig, dass du quasi die "rückgängig" funktion benutzt?
 

siousu

Hat es drauf

AW: XPresso Rendern/Editor

ich habe keine Ahnung was der Code bedeutet :D
Wenn du (zumindest mit Verison R11) Ein Objekt anklickst im Objektmanager und dann zum Beispiel wie beim Instanzobjekt unter Basis auf Aktivieren mit der rechten Maustaste klickst, dann siehst du "Skript erstellen".
Dieser Befehl erstellt automatisch ein Skript :p
Dann hab ich den Befehlsmanager geöffnet... und den "Im Bild Manager" Befehl in den Skriptmanager gezogen.
Dies erstellt auch automatisch die Zeile "CallCommand(12099);".....
Dann den oberen Teil kopieren, unten einfügen und True auf False umstellen.. fertig :D

Gruss
 

MrIous

Aktives Mitglied

AW: XPresso Rendern/Editor

Ja, Funktioniert Danke !!!

Jetz nur mal so aus bequemlichkeit: Wärs ein Großer Aufwand das ganze in ein neues Objekt zu bauen?
Also ich meine zum Beispiel sowas eggtion.net - Das Ei Objekt, nur halt ohne Ei :D
Wenn man da draufdrückt werden alle unterobjekte aktiviert + gerendert?

Aber die jetzige Lösung ist auch ok, nochmal thx :)
 

siousu

Hat es drauf

AW: XPresso Rendern/Editor

joa kann man machen :p

bau zuoberst einfach noch diesen Befehl ein:
Code:
CallCommand(16388);
dann musst du nur noch das oberste objekt (in deinem Falle Nullobjekt.. mit den Instanzen darin) auswählen. Und das Skript mit dem Button ausführen.
Dann wählt es automatisch alle Unterobjekte aus und das Skript läuft normal ab.

Gruss
 

fuxxx

Mod | 3D

AW: XPresso Rendern/Editor

cool danke für die tips :)
den befehlsmananger kannte ich gar nicht...
hab ihn auch eben erst gar nicht gefunden (komischerweise steht in der hilfe nicht wie man ihn aufruft...)
das mit dem automatischen skript erstellen scheints in R10 anscheinend leider nicht zu geben.

auf jeden fall danke für den guten tip, ich glaube so fällt mir ein möglicher einstieg in coffee auf jeden fall leichter :)
 
M

mp5gosu

Guest

AW: XPresso Rendern/Editor

Ich bin mal so frei, den Code zu erklären:

var i; // Zählervariable definieren
for (i=0; object(i); i++) // Zählerschleife für alle selektierten Objekte
{
doc->AddUndo(UNDO_CHANGE_SMALL,object(i)); // Für jedes Objekt wird ein UnDo-Schritt für lokale Daten erzeugt
object(i)#ID_BASEOBJECT_GENERATOR_FLAG=TRUE; // "Aktivieren"-Häkchen für Objekte setzen
object(i)->Message(MSG_UPDATE); // Editor-Update
}
CallCommand(12099); // Befehl "Im Bildmanager rendern" aufrufen
for (i=0; object(i); i++) // Erneute Zählerschleife
{
doc->AddUndo(UNDO_CHANGE_SMALL,object(i)); // Für jedes Objekt wird ein UnDo-Schritt für lokale Daten erzeugt
object(i)#ID_BASEOBJECT_GENERATOR_FLAG=FALSE; // "Aktivieren"-Häkchen für Objekte entfernen
object(i)->Message(MSG_UPDATE); // Editor-Update
}
@MrIous: Ja, wäre ein großer Aufwand, weil man dazu Visual Studio 2005 bräuchte und den Quelltext konvertieren müsste.
Allerdings gibt es Py4D, was einem erlaubt, solche Skripte als Plugin einzubinden.
 
Zuletzt bearbeitet von einem Moderator:

fuxxx

Mod | 3D

AW: XPresso Rendern/Editor

ah okay, jetzt ist nochmal was klar geworden :)

seh ich das richtig das objekt() alle markierten objekte enthält?
und wie ist die syntax für eine eigenschaft eines objekts?
das mit dem #ID_BASEOBJECT... verwirrt mich immer noch
ich kenn nur objekt.eigenschaft = xy
(visual basic und delphi geschädigt :))
 
M

mp5gosu

Guest

AW: XPresso Rendern/Editor

ah okay, jetzt ist nochmal was klar geworden :)

seh ich das richtig das objekt() alle markierten objekte enthält?
und wie ist die syntax für eine eigenschaft eines objekts?
das mit dem #ID_BASEOBJECT... verwirrt mich immer noch
ich kenn nur objekt.eigenschaft = xy
(visual basic und delphi geschädigt :))


ID_BASEOBJECT... sind eben diese Objekteigenschaften. Drueck in C4D mal Shift und F10, das oeffnet die Konsole. Dann kannst Du mal einen beliebeigen Parameter eines beliebigen Objektes ind das Textfeld unten in der Konsole ziehen. In Delphi kann man theoretisch auch Prototypen erstellen, die solche Objektbeschreibungen verwenden.

Die Syntax sieht wie folgt aus (Pseudocode): Objekt#EIGENSCHAFT_IM_EDITOR_RENDERN = TRUE;

Das wichtigste findet man allerdings in der SDK-Doku bei Maxon.
 

fuxxx

Mod | 3D

AW: XPresso Rendern/Editor

vielen dank :)
jetzt weiß ich endlich mal wie man in coffee einfach eigenschaften setzt.
vlct versteh ich jetzt ja auch was mir die sdk doku sagen will :)
 

MrIous

Aktives Mitglied

AW: XPresso Rendern/Editor

nochmals thx für die Mühe :)
Vielleicht macht ja mal jemand mit zuviel Zeit so ein Objekt :D
 

Halcon

Nicht mehr ganz neu hier

AW: XPresso Rendern/Editor

Hallo,
hat schon jemand ausprobiert wie sich das ganze bei wirklich vielen Objekten verhält? Ich könnte mir vorstellen dass es in dem Fall schneller wäre den Editor-Update erst nach dem Durchlaufen der Schleife vorzunehmen. Oder muss das sofort sein?
Schöne Grüße
Halcon
 
M

mp5gosu

Guest

AW: XPresso Rendern/Editor

Hallo,
hat schon jemand ausprobiert wie sich das ganze bei wirklich vielen Objekten verhält? Ich könnte mir vorstellen dass es in dem Fall schneller wäre den Editor-Update erst nach dem Durchlaufen der Schleife vorzunehmen. Oder muss das sofort sein?
Schöne Grüße
Halcon

Recht hast Du. Man koennte das sowieso ein wenig optimieren, aber faellt kaum ins Gewicht...
 

MrIous

Aktives Mitglied

AW: XPresso Rendern/Editor

So ich muss mal diesen Thread wieder ausgraben...

Das Skript:
Code:
var i;
for (i=0; object(i); i++)
{
doc->AddUndo(UNDO_CHANGE_SMALL,object(i));
object(i)#ID_BASEOBJECT_GENERATOR_FLAG=TRUE;
object(i)->Message(MSG_UPDATE);
}
CallCommand(12099);
for (i=0; object(i); i++)
{
doc->AddUndo(UNDO_CHANGE_SMALL,object(i));
object(i)#ID_BASEOBJECT_GENERATOR_FLAG=FALSE;
object(i)->Message(MSG_UPDATE);
}
funktioniert einwandfrei.
Nun möchte ich aber das C.O.F.F.E.E. Tag an ein Klon-Objekt hängen und auf Knopfdruck auch nur dieses aktivieren/deaktivieren.
Folgendes Programm funktioniert jedoch nicht:

main(doc, op)
{
doc->AddUndo(UNDO_CHANGE_SMALL,op);
op#ID_BASEOBJECT_GENERATOR_FLAG=TRUE;
op->Message(MSG_UPDATE);
CallCommand(12099);
doc->AddUndo(UNDO_CHANGE_SMALL,op);
op#ID_BASEOBJECT_GENERATOR_FLAG=FALSE;
op->Message(MSG_UPDATE);
}
(Rendert zwar, aber das Klon-Objekt ist schon während des Renderns deaktiviert.)

Wenn ich die "op" durch "object(0)" ersetze, funktioniert alles einwandfrei, jedoch möchte ich ja das Objekt haben, an dem C.O.F.F.E.E.-Tag hängt, nicht das selektierte...

Für mich ist "op" und "object(0)" bis jetzt das gleiche, offensichtlich irre ich mich da aber..

kann mir jemand helfen?
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben