Pivot an Child-Position erstellen
Übersicht

![]() |
theotheoderichBetreff: Pivot an Child-Position erstellen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo zusammen,
ich habe folgendes Problem: Ich habe in Anim8or ein Auto erstellt (mit 4 Rädern), diese kann ich auch über Findchild brav ansprechen, um sie z. B. zu bewegen. Nun möchte ich aber gerne je einen Pivot an die Position der Räder setzen. -radvl- ist ein child (ein Rad) von -auto-. Über EntityX(radvl,1),EntityY(radvl,1),EntityZ(radvl,1) bekomme ich zwar Koordinaten raus, aber für alle Child die gleichen. Setze ich nun einen Pivot an diese Stelle und mache ihn mit einer Sphere sichtbar, so sitzt er für alle Räder an der selben Stelle unter dem Auto. Wie bekomme ich nun die genaue Position der Childs, wenn diese alle am gleichen Objekt hängen (halt nur an unterschiedlichen Positionen) ![]() Vielen Dank für Eure Antworten |
||
Gruß
TheoTheoderich -- The box label said, "Requires Windows XP or better.", so I bought an Amiga Computer. |
![]() |
Smokie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es kann sein, dass dein Fehler im Context des Codes ist und es "richtig" ist, dass die Räder an der selben Position sind. Zeig da ma bitte den Ausschnitt davon. Und statt Parent-Child System, kannst du auch die Räder auch positioniere, indem du die X,Y und Z Koordinate des Autos abfrags und dann noch ein bissel zu x + z addierst, und dann sollte das auch gehen.
Grüße [/code] |
||
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer. Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du könntest auch einfach CreateSphere(16, radvl) benutzen, um eine Kugel direkt als Child eines Rades zu erzeugen. Damit wird die Position automatisch gleichgesetzt.
Ich vermute aber mal stark, dass Dein Modell nicht korrekt ist, also dass zwar die Vertexpositionen der einzelnen Räder an Ihren vorgegebenen Stellen sind, die Objektachse aller Räder aber auf der gleichen Stelle liegt. Wenn Du die Räder rotierst, siehst Du das ziemlich schnell. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
theotheoderich |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank für Eure Hilfe ![]() @BIG BUG Zitat: CreateSphere(16, radvl) funktioniert leider nicht, die Sphere wird am Mittelpunkt der Objektachse des gesamten Modells erstellt und nicht an der Stelle des Childs.
Das mit dem Räder rotieren ist genau das Problem. Im Editor Anim8or setze ich das Fahrzeug aus mehreren Objekten zusammen. Die Objektachsen der Räder liegen auch völlig korrekt in der Mitte, aber sobald die Objekte dem Fahrzeug hinzugefügt werden und das ganze als 3DS exportiert wird, berücksichtigt B3D nur noch die Objektachse des gesamten Modells. Daher verwende ich Code: [AUSKLAPPEN] FitMesh radvornelinks, -(MeshWidth (radvornelinks) / 2), -(MeshHeight (radvornelinks) / 2), -(MeshDepth (radvornelinks) / 2), MeshWidth (radvornelinks), MeshHeight (radvornelinks), MeshDepth (radvornelinks) , um den Mittelpunkt des Objektes neu zu bestimmen.
Danach dreht sich das Rad auch problemlos, leider an der falschen Stelle, da es nach FitMesh an der Position 0 der Fahrzeugobjektachse liegt. Daher versuchte ich mit EntityX(...,True) vor dem FitMesh die Koordinaten des Rades abzufragen, danach FitMesh anzuwenden und dann das Rad wieder an die richtige Position zu setzen. Leider lässt sich die Position der einzelnen Räder nicht ermitteln, ich bekomme immer nur die Position des Parentobjektes zurück. Am Besten ich lade morgen mal ein Beispiel hoch, in dem ersichtlich wird, wo mein Problem liegt. Eigentlich geht es dabei ja um mein Panzerspiel. Bisher importiere ich für meine Panzer jedes 3D Objekt als 3DS einzeln und setze sie danach in BB mit zusammen. Ist aber bei 40-60 Objekten ein echter Krampf, die in BB millimeterweise zu positionieren. Daher versuche ich das Objekt in Anim8or zusammen zu bauen und die Objekte hinterher über FindChild anzusprechen. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group