Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - DrSeus

#1
Vielen dank!

Hier ein Auszug für jemanden der mal was ähnliches sucht:

Object3D referenzObj;
SimpleVector origin = referenzObj.getTransformedCenter();
Matrix tranformationMatrix = referenzObj.getWorldTransformation();

Object3D addedObj;
//Set the position to the current position of refernzObj
addedObj.translate(origin);

// Remove the rotational part from the transformation matrix
Matrix newRot = tranformationMatrix.cloneMatrix();
newRot.set(3, 0, 0);
newRot.set(3, 1, 0);
newRot.set(3, 2, 0);
b.setRotationMatrix(newRot);

//Offset to the referenzObj
SimpleVector dir = b.getZAxis();
dir.scalarMul(18);
b.translate(dir);

#2
Solltest eine PM bekommen haben.
lg DrSeus
#3
Nein das klappt leider auch nicht, setze ich vor der RotationMatrix den RotationPivot auf den RotationPivot vom Referenzobjekt(das objekt von dem auch die RotationMatrix stammt) so verschiebt sich der Punkt nochweiter.
lg DrSeus
#4
Natürlich:

Nach der Rotation bzw Höhenverstellung der Kanone:


Die roten Striche markieren den Startpunkt des Objekts (das verschiebt sich sehbar nach vorne) außerdem verlässt so das Objekt die Kanone nicht mehr zentriert in der Mitte
Bisschen besser verständlich?  :)
lg DrSeus
#5
Hey,
Ich hab jetzt versucht mit getWorldTransformation() die RotationMatrix auf das Objekt zu übertragen, leider rotiert das Objekt jetzt iwie nicht um den Mittelpunkt des Objekts sondern verändert auch die Lage. Hab jetzt schon wieder einiges probiert nur die Kugel gleich auszurichten wie das Rohr steht, bekomm es aber immer noch nicht hin, langsam am verweifeln :$ Hättest du noch eine Idee oder könntest genauer beschreiben wie du das gemeint hast?
lg DrSeus
#6
Hi erstmal,

erstmal möcht ich erwähnen das ich mich erst seit Weihnachten mit jpct beschäftige und es meine ersten 3D Erfahrungen sind. Derzeit arbeite ich an einem Tank Game und stehe hier vor einem Problem.
Mein Tank ist aus mehreren Child Objects zusammengebaut die sich ja mitbewegen um meinen Referenzpunkt. Es gibt auch einen schwenkbare Kanone, 1 objekt welches um die y achse dreht und 1 objekt das child vom ersten ist und sich um die x achse dreht. Somit ist es möglich die waffe zu drehen und zu heben/senken wenn sie child vom 2. objekt ist. Wenn ich nun eine Kugel abfeuern will muss ich ja die derzeitigen winkelstellungen von dem rohr(das 3. objekt) auf das projektil übertragen. Da ich das noch immer nicht ganz verstanden habe wie diese Rotation gehandhabt wird (relativ oder absolut) komm ich auf keinen grünen zweig wie ich die y achse des einen objekts und die x achse des anderen auf ein Objekt übertragen kann so das es dann genau gleich steht. (oder wie ich überhaupt die derzeitige achsenstellung von einem objekt ermitteln kann)
Bin mir sicher es gibt eine einfach möglichkeit aber ich such schon seit einiger zeit und hoff das mir wer weiterhelfen kann mit ein paar stichworten. Ich bedank mich schonmal für hilfe :)

lg DrSeus