Objekt an alle "Polygon Normalen" eines anderen Objekts ausrichten


FernandoSantos

Mitglied
Hallo alle miteinander,

ich habe mir diesen Artikel http://www.tutorials.de/forum/cinema-4d/307432-objekt-normalen-eins-anderen-objektes-ausrichten.html hier im Forum durchgelesen und habe dazu ein paar Fragen.

Also ich möchte 24 Objekte an den 24 Polygonen und Normalen einer Kugel ausrichten, gibt es eine Möglichkeit es zu automatisieren oder muss ich wirklich für alle 24 Objekte eine XPresso Schaltung haben?!
Kann man da evtl. was mit der "LinkListe" machen, so das der "Polygon-Index" automatisch einen Schritt nach vorne macht und so dann ein Objekt nach dem anderen an die nächste "Normale" ausrichtet?!
Bei 24 Polygonen ist es nicht die Welt alle einzeln zu schalten, aber was ist wenn es mal mehr werden?!

Ich hoffe ich konnte es verständlich genug erklären und freue mich auf eure Tips und Tricks.

Vielen dank im voraus.


Fernando
 

FernandoSantos

Mitglied
Vielen lieben Dank!
Genau das habe ich gesucht.
Davon hatte ich schonmal was gelesen, nur ich glaub damals war es noch nicht mit "Cinema R11" kompatibel.

Nochmal Danke!


Gruss,
Fernando
 

FernandoSantos

Mitglied
@Mark:: Hi, ich denke mit dem Screenshot möchtest Du mir die XPresso Variante zeigen, was mir auch sehr viel lieber ist.
Aber bei mir tut sich nichts! Ich habe eine Beispielszene erstellt mit 4 Zylinder die an den "Normalen" einer Kugel ausgerichtet werden sollen.
Schau Dir bitte die Screenshots an.

Was mache ich falsch?!
Kein Objekt reagiert auf die Schaltung!
Wenn ich allerdings den "Objekt-Index" von dem "Polygon" abklemme, funktioniert die Schaltung richtig und Zylinder Nr.1 wird an einer "Normale" der Kugel ausgerichtet.
Bitte um Hilfe.
Hier die Datei.


Gruss,
Fernando
 

Anhänge

  • Objekte.JPG
    Objekte.JPG
    11,9 KB · Aufrufe: 550
  • XPresso Schaltung.JPG
    XPresso Schaltung.JPG
    37,5 KB · Aufrufe: 63
  • Attribute.JPG
    Attribute.JPG
    28,6 KB · Aufrufe: 57

grotten

Schusselkopf
Bei mir funktioniert die Xpresso-Schaltung zwar richtig, aber eine Frage taucht dann doch bei mir auf: wenn ich die Kugel, nach der sich die Zylinder ausrichten sollen, verschiebe, dann richten sich die Polygone zum Nullpunkt des Koordinatensystems aus.

Markiere ich aber alle Punkte oder Polygone der Kugel und verschiebe die, dann werden die Zylinder weiterhin korrekt auf die Polygone ausgerichtet. Woran liegt das bzw. was muss ich tun, damit ich die Kugel mitsamt ihrer Achse verschieben kann, und die Zylinder trotzdem richtig ausgerichtet werden?
 

Mark

Cinema4D
Hi!

@FernandoSantos: die Zylinder müssen Unterobjekte der Kugel sein - bzw. Unterobjekte des Objekts, das beim Hierarchie-Node als Referenz angegeben ist.

@grotten: wenn das Polygon-Node auf Matrix-Modus = Global gesetzt ist, funktioniert es auch mit verschobener Kugel.

Liebe Grüße,
Mark.

//edit: @FernandoSantos: hm, Unterobjekte der Kugel ist nicht wirklich sinnig: lege die Zylinder hierarchisch in Dein XPresso-Null-Objekt und gib dies beim Hierarchie-Node als Referenz an :)
 

grotten

Schusselkopf
@grotten: wenn das Polygon-Node auf Matrix-Modus = Global gesetzt ist, funktioniert es auch mit verschobener Kugel.


Schön wäre es... keine Ahnung, woran es liegt, aber bei mir verschieben sich die Zylinder nicht korrekt mit der Kugel. Weder wenn das Hierarchie-Objekt mit den Zylindern ein Unterobjekt der Kugel ist noch wenn es eigenständig ist. Die Bilder im Anhang zeigen was ich meine: Das erste Bild ist der Ausgangspunkt... schön und gut. In Bild 2 sieht man was passiert, wenn ich die Kugel verschiebe (Matrix-Modus = global, musste ich gar nicht einstellen weil Standardeinstellung). Nun sieht es aus, als wären die Zylinder parallel vom Mittelpunkt des Objekts auf den Koordinatenursprung ausgerichtet. Bild 3 ist mit Matrix-Modus = lokal entstanden... die Zylinder behalten die Ausrichtung bei, unabhängig von der Position (und damit der Polygonmittelpunkte) der Kugel. Bild 4 ist aber das, was ich natürlich eigentlich möchte: ich verschiebe die Kugel und damit auch die Zylinder. Das gelingt aber nur, wenn ich die Punkte oder Polygone der Kugel verschiebe und ihren Mittelpunkt im Koordinatenursprung lasse. Drehungen machen die Zylinder aber korrekt mit...
 

Anhänge

  • ursprung.jpg
    ursprung.jpg
    96,9 KB · Aufrufe: 20
  • global.jpg
    global.jpg
    91,4 KB · Aufrufe: 20
  • lokal.jpg
    lokal.jpg
    105,2 KB · Aufrufe: 17
  • richtig.jpg
    richtig.jpg
    94,7 KB · Aufrufe: 18

Mark

Cinema4D
Hi grotten,

hmpf, ich schaffe es nicht, das von Dir geschilderte Verhalten zu erzeugen :(
Daß sich die Polygon-Normale ändert, wenn Du das Objekt verschiebst, kann ich einfach nicht rekonstruieren (die Positionen scheinen ja zu sitmmen, oder? Deine Zylinder sind so lang, daß das schwer zu erkennen ist).

Magst Du Deine Datei mal uploaden, so daß ich einen Blick hinein werfen kann? Würde mich echt interessieren :)

Liebe Grüße,
Mark.
 

grotten

Schusselkopf
Na klar, kann ich machen... vergaß zu erwähnen, dass es sich um C4D R10 handelt, aber die Xpresso-Schaltung müsste da ja trotzdem funktionieren...?

//EDIT: By the way, wenn ich im Matrix-Modus = Lokal die aktuellen Positionen X, Y, Z der Kugel zu dem in X, Y, Z aufgeteilten Polygon-Mittelpunkt hinzuaddiere und dann an den Eingang Globale Position des Zylinders übergebe funktioniert es. Allerdings bedeutet das ja, dass ich die lokalen Werte der Polygone manuell in globale umrechne... und das sollte ja eigentlich nicht notwendig sein.
 

Anhänge

  • Polygone ausrichten.zip
    16,1 KB · Aufrufe: 36
Zuletzt bearbeitet:

Mark

Cinema4D
Hi grotten,

hmpf, Deine Datei geöffnet, Kugel selektiert, umhergeschoben ... klappt wunderbar ... inklusive Skalieren und Rotieren ...?

Scheint, als hätte da wirklich das Polygon-Node der R10 (ich arbeite mit 10.5) einen Bug :(
Hast Du mal z.B. einen Würfel genommen (ist leichter nachzurechnen ;) ) und Dir die Polygon-Mittelpunkte und -Normalen dort angesehen?
Die globalen Polygon-Mittelpunkte scheinen ja zu stimmen, aber die -Normalen dürften sich bei Bewegungen des Würfels nicht ändern...

Liebe Grüße,
Mark.
 

grotten

Schusselkopf
Ich hatte es vorher zum Spaß schonmal mit einer Pyramide getestet... Kugel, Pyramide, Würfel: alle das gleiche Ergebnis.

Der Witz ist ja, wenn ich ein Polygon selektiere, wird die Ausrichtung der Normale (also diese kleine gelbe Linie) ganz korrekt angezeigt. Nur der Zylinder an dem entsprechenden Mittelpunkt zeigt ganz woanders hin, eben zum Nullpunkt...
 

grotten

Schusselkopf
Nur für alle, die es interessiert: ich habe doch tatsächlich eine Lösung für das Problem der nicht korrekten globalen Informationen des Polygon-Nodes gefunden...

Und zwar bei Maxon selbst, bei einem Tutorial für Version 8.2 und höher, wo es darum geht Objekte an einem Polygon auszurichten. Folgender Link:

http://www.maxoncomputer.com/tutorial_detail.asp?tutorialID=253

Wenn man die dortige Projektdatei öffnet, findet sich in der Xpresso-Schaltung ein Node (bzw. eine XGroup) namens "Position/Alignment 2 Matrix"...

Mithilfe derer kann man die lokalen Daten des Polygons in eine Matrix umwandeln, welche multipliziert mit der globalen Matrix des Objekts die globale Matrix des auszurichtenden Objekts ergibt. Ist im Tutorial nur ein einzelnes, funktioniert aber genausogut mit mehreren Objekten...
 

Forum-Statistiken

Themen
272.356
Beiträge
1.558.615
Mitglieder
187.830
Neuestes Mitglied
hansmeiser