Nur selektierte Poly´s rendern (eingefrorene)

Hallo Mark, vielen dank. Ich habe mit coffee keine Erfahrung. Habe das so eingesetzt wie wie ich vermutet habe dass es richtig sein könnte. Aber es wir trotzdem alles gerendert. Habe "ausführen" angeklickt. Grüsse..
 

Anhänge

  • Bild-1.jpg
    Bild-1.jpg
    24,8 KB · Aufrufe: 23
Brüggz, für eine transparente Selektion, brauche ich kein skript! Das löse ich mit einem transparenten Material. Hast du die Überschrift für dieses Thema gelesen? Grüsse...
 
Natürlich -_-
Wenn du Polygone nicht rendern willst, musst du ein transparentes Material drauflegen. In dem Fall dieses Skriptes musst du natürlich die Polygone selektieren, die ausgeblendet werden sollen.

Aber das Skript lässt sich sicher insofern ändern, dass alle nicht selektierten Polygone in eine Selektion gespeichert werden.
 
Hi!

Mal etwas ausführlicher: obiges Script macht nix anderes, als die aktuelle Auswahl als "Eingefrorene Selektion" zu speichern (on-the-fly).
Diese "eingefrorene Selektion" läßt sich nun nutzen, wie sonst auch: ein Material kann diese Selektion als "Selektion" in einem Texture-Tag nutzen, so daß immer nur die aktuelle Auswahl dieses Material erhält.
Ob Du nun z.B. dem gesamten Objekt ein Material mit schwarz im Alpha (Objekt komplett unsichtbar) zuweist und hinzu ein "sichtbares" Material mit der "eingefrorenen Selektion" angibst, oder das Alpha-Material der "eingefrorenen Selektion" verpasst (das wäre die invertierte Variante) bleibt Dir - bzw. dem Gewünschten - überlassen :)
... genauso könnte man so alle selektierten Polygone grün einfärben (was zu Testzwecken sicher nützlich wäre) ... ;)

Liebe Grüße,
Mark.
 
P.S.:
Klingt, als wäre das ein versteckter Hinweis auf die Qualität der Tutorials?! :eek: ;)

Nein, ich meinte ja nur, dass er meint, es ist möglich, aber es nicht gezeigt wird.
Zu deinem Skript, wozu brauchst du "pstag" in der While-Schleife? pstag->GetType() würde doch schon komplett ausreichen?! (Jedenfalls funktioniert es scheinbar auch ohne :p )
 
Hi!
Zu deinem Skript, wozu brauchst du "pstag" in der While-Schleife? pstag->GetType() würde doch schon komplett ausreichen?! (Jedenfalls funktioniert es scheinbar auch ohne :p )
Unabhängig davon, daß "pstag->GetType()" nicht komplett ausreichen kann, da es ja "pstag" enthält (?!), sucht die Schleife nach dem ersten Polygon-Selektions-Tag. D.h. wenn das erste Tag ein Polygon-Selektions-Tag ist, reicht eine reine Abfrage, wenn nicht, muß man sich doch von Tag zu Tag hangeln und das mit dem gewünschten Typ finden -> pstag ist jeweils der Tag, der geprüft wird und der nächste wird mit pstag =pstag->GetNext() geholt...
...?! ...!? ;)

Grüße,
Mark.
 
Hi!Unabhängig davon, daß "pstag->GetType()" nicht komplett ausreichen kann, da es ja "pstag" enthält (?!)

Den Satz versteh ich nicht. Mag sein, dass du damit was Coffee spezifisches meinst, oder auch nicht :p

warum würde es nicht so gehen?:
Code:
while(pstag->GetType() != Tpolygonselection) {
pstag = pstag->GetNext();

solange der Typ des pstag keine Polygonselektion ist, setze pstag auf das nächste Tag.

?!
Wie gesagt, ich hab es bei mir auch rausgenommen und es funktioniert auch.
 
Hi!

Ah, sorry, jetzt verstehe ich Dich :)

Ja, funktionieren tut es, aber es kann eine Fehlermeldung geben (siehe Konsole), wenn kein Polygon-Selektions-Tag gefunden werden kann. Denn dann kommt die Schleife ans Ende der Tag-Liste, pstag->GetNext() wird "Null" und Null->GetType() gibt es nicht.
-> pstag abfragen vermeidet a) eine Fehlermeldung in der Konsole und b) unterstützt es die Logik der Schleife, da pstag durchaus Null sein kann :)

Liebe Grüße,
Mark.
 
Zurück