Chamäleon + Farbenwechsel

Hi axn,

:eek: ..booo..wie geil! Ich glaub ich muß mich doch noch mal an x-presso setzen ....besteht denn wohl irgendeine Chance mir verständlich zu machen wie du das hinbekommen hast? :rolleyes:
Aber wahrscheinlich müsstest du dafür bei mir einziehen und nen 3 Wochen- Xpresso-Workshop für mich veranstalten :-)

Bin beeindruckt!

Liebe Grüße
Nina

edit: ...*hust*...okay..ich korrigiere: 10 Wochen :-)
 
Guten Tag!

Ich versuchs mal schnell, aber danke für das Angebot!

1,1a: hier wird für jeden Untergrund verglichen, ob er sich innerhalb von 400 Metern auf der X-Achse unter dem Tier befindet. Dazu werden die X-Positionen subtrahiert (im Bild ist das Ergebnis bei 1 gerade 542,391m), und mit 2 Vergleichen überprüft, ob das Ergebniss größer ist als -200 und kleiner als +200. Nur wenn beide Vergleiche ein "wahr" (also eine 1) ausgeben befindet sich das Tier über dem Untergrund. Deshalb gibt es dieses Boole (das mit dem Kreuz), das nur "wahr" ausgibt, wenn an beiden Eingängen auch je ein "wahr" liegt.
Die doppelt unterstrichenen Ergebnisse zeigen also gerade an das sich das Tier weder in der Nähe von dem einem noch dem anderen Untergrund befinden.

2: daraus ergibt sich hier ein "wahres" Ergebniss -> das heist, das Tier darf grün sein, weil es sich nicht über einer anderen Farbe befindet.
(dieser Schritt ist an sich überflüssig, weil man diese Abfrage später unterbringen könnte, es ist aber beim basteln ganz hilfreich erstmal alles deutlich darzustellen)

3: die Verteiler funktionieren wie ein Schalter. An allen dreien liegen die Ergebnisse (in Form einer 0 oder einer 1) der Abfragen untergrund1?, untergrund2? oder keins von beiden?, und immer nur eine kann wahr sein. Bekommt der "Schalter" eine 0, gibt er das aus, was an seinem ersten Eingang anliegt, bekommt er eine 1, das was an seinem zweiten Eingang anliegt.
An jedem Schalter liegt am Eingang2 eine Konstante (für das Tier eine 0, für untergr1 eine 1 und für untergr2 eine 2). Diese wird also nur für die jeweilige Situation ausgegeben.

4: hier werden die Ausgaben der 3 Schalter addiert. Im Beispiel ist das Ergebnis gerade null, weil das Tier über keinem Untergrund ist, und die Konstante am Schalter 0 war. Wäre das Tier über untergr2 gewesen wäre das erbebnis hier 2.

5: Hier wird das Ergebnis der Addition an einen Schalter gelegt, der für jede der 3 möglichen Ergebnisse (0,1,2) ein anderes Material auf das TexturTag des Tieses schmeißt....

ufff
 

Anhänge

  • xpresso600erklärt.gif
    xpresso600erklärt.gif
    44,4 KB · Aufrufe: 426
Zuletzt bearbeitet:
Hallo nochmal,

vielen vielen Dank axn!

Jetzt hast du dir ja voll die Arbeit gemacht :-( .... aber die Erklärung ist wirklich super, ich frag mich sonst immer: " Was sind denn das bloß für lustige Kästchen?" *g* Das hilft mir auf jeden Fall schon etwas weiter.

Falls mal ein Usertreff oder sowas sein sollte, geb ich einen aus ;)


Liebe Grüße
Nina
 
Hi!

Wow, axn, mörder Hackn! Schöne Lösung!
Kleine Idee hätte ich noch bzgl. der "Relativen Xpressos": anbei eine Möglichkeit, bei der man die Xpresso-Expression "nur" auf die "Farbobjekte" legen muß...
(ich ging den Weg über die "Kollision" mit einem "Fühler-Objekt", dabei müssen die Farbobjekte allerdings Polygonobjekte sein)

@neotokyo: wir bekehren Dich noch... ;)

//edit: Schaltungs-Bild entfernt, da fehlerhaft!
 
Zuletzt bearbeitet:
Ich glaub ich sollte langsam auch mal damit anfangen, XPresso zu lernen...wie lang hast du dazu gebraucht das so gut zu können, axn?!

Aber sieht echt gut aus!

Gruß,
Shadow
 
Hi nochmal!

Sorry, obige Schaltung ist Fehlerhaft!
Die relative Referenzierung der Textur-Tags war natürlich ein Blödsinn (bzw. habe ich es einfach nicht hinbekommen: Weiß jemand, wie man Textur-Tags relativ referenziert? ;) ).
Also folgende Version mit jeweils "absolutem" Textur-Tag.
... so natürlich leider nicht nur ein Mausklick... :(

Grüße,
Pinky.
 

Anhänge

  • cham_xpresso2.gif
    cham_xpresso2.gif
    35,9 KB · Aufrufe: 304
Zuletzt bearbeitet:
@Pinky:

Dir auch vielen lieben Dank für die Mühe! (Ich geb dir dann also auch einen aus ;))

Und sogar die Schaltungen sehen bei dir total aufgeräumt aus .. öhm..aber ne blöde Frage hab ich noch, was meinst du mit "relatives Xpresso" ? Das ich es wie in dem Fall nicht jedes Mal differenziert zuweisen muss, sondern das es global für das jeweilige Referenzobjekt gilt?

edit: okay ich seh grad das hat sich dann ja eh erledigt ?

Und bezüglich dem Bekehren: ...ja..ich gebe nicht auf :) Aber ich seh schon eure entsetzten Gesichter wenn ich mal ne Schaltung poste :-)

Liebe Grüße
Nina
 
Hi neotokyo!

Ja, Du hast recht. Das Xpresso-Tag kann ja auf alles, was C4D so zur Verfügung stellt (Objekte, Texturen, Materialien, Deformer etc.) zugreifen. Und das unabhängig davon, an welchem Objekte es "hängt". Also eine Xpresso an Objekt_1 kann "nur" Objekt_2 in der Schaltung manipulieren...
In dem moment, wo Du ein Objekt in eine Xpresso-Schaltung schiebst, ist diese Referenzierung "absolut". D.h. verschiebst Du die Expression, werden dennoch die "selben" Objekte benützt.
Andere Möglichkeit: verschiebst Du das Objekt, das die Expression hat, ins Xpresso und gibst dort "relative Referenz" an, kannst Du die Expression auf andere Objekte kopieren und Xpresso wirkt jeweils auf das "neue" Trägerobjekt.

Bzgl. oben: die relative Referenz funktioniert im Falle der Farbobjekte. D.h. beim Kopieren des Xpresso wird die Kollisionsabfrage automatisch auf den neuen Besitzer angewandt.
Nur eben mit dem Textur-Tag funktioniert es leider nicht. D.h. jeder Xpresso muß händisch das jeweilige Textur-Tag zugewiesen werden...

@Gesicht: nönö, das wird ein "freudiges" sein! :)

Grüße,
Pinky.
 
Hi (schon wieder :rolleyes: )!

Mich hat's nicht losgelassen und ich mußte nochmal ran:
folgende Schaltung ist 100% relativ, d.h. auch die Textur wird übernommen.
-> Neues Polygon-Objekt mit eigener Textur, Xpresso draufkopieren, fertig ;)

Puh, jetzt geht's mir besser... :)
 

Anhänge

  • cham_xpresso3.gif
    cham_xpresso3.gif
    32,4 KB · Aufrufe: 281
Zurück