Hi,
ich habe ein kleines Problemchen. Ich mochte per Script eine Translation bzw Rotation setzen.
Mein Objekt,welches ich setzen will, ist als Kind verbaut.
Die eigentliche Translation bzw Rotation bekomme ich vom Parent. Das Problem hierbei ist nun, das mir der Parent immer nur die World Translation bzw World Rotation zurückgibt, dies kann ich auch nicht ändern, da es an der Engine liegt.
Wenn ich mein Objekt nun mit setTranslation() bzw setRotation() neu setze, springt es mir quer über die Map, weil setTranslation und setRotation ja nur mein Object setzt, aber halt mit den vorher erhaltenen World Translations bzw World Rotations.
Lösung wäre nun das Objekt einfach auf 0 0 0 zu setzen, was aber beim Einbau nicht immer geht, oder beachtet wird, gerade wenn es etwas verschachtelt aufgebaut ist. Zum Beispiel auch als kaufbares Object, dort kann man den Trigger nicht auf 0 0 0 setzen. Hier könnte man höchstens den Trigger auf die Position setzen wo er sein soll und dann diese Werte umkehren und in einer TG neu setzen, somit wäre man wieder bei 0 0 0, was aber wiederum den Nachteil hat, wenn man den Trigger etwas versetzt, dann muss man wieder neu anpassen.
Jetzt meine eigentliche Frage, kann ich aus der World Translation bzw Rotation meine locale Translation rausrechnen? Oder besser gefragt wie mache ich das am besten?
Ich habe dazu schon einige Versuche gestartet mit localToWorld(), worldToLocal(). Auch habe ich mir die WorldTranslation von meinem Objekt ausgeben lassen und hier versucht die andere WorldTranslation abzuziehen, aber leider klappte das irgendwie nicht.
Hat da jemand einen Tip oder sogar einen passenden Code???