Übung5 - transform.localEulerAngles

cereal_man
Neuling
Neuling
Beiträge: 7
Registriert: 4. Jan 2012 20:40

Übung5 - transform.localEulerAngles

Beitrag von cereal_man »

Ich habe ein kleines Problem beim bearbeiten der aktuellen Unity-Aufgabe. Sobald ich einen Cube zum Child eines anderen mache (über transform.parent), lässt er sich nicht mehr vernünftig drehen, wenn ich ihn also zum Beispiel mit transform.localEulerAngles um 25° in x-Rictung drehen will verwandelt sich der Würfel in ein schiefes Prisma, dreht sich aber nicht in X-Richtung. Mit den anderen Methoden (transform.Rotate, rotation, localrotation, etc.) verhält es sich nicht anders. Drehe ich den Cube zuerst um die X-Achse und weise ihn dann dem Parent zu, passiert auch das Gleiche.
Wegen diesem Problem lässt sich die Aufgabe unmöglich wie auf dem Aufgabenblatt vorgeschlagen lösen oder habe ich etwas übersehen?
Ich habe auch in diversen Foren nachgeforscht, dort wird als einzige Lösung vorgeschlagen, sowohl parent als auch child einem leeren GameObject unterzuordnen, das wäre ja dann aber nicht mehr im Sinne der Aufgabenstellung.

Gruß,
Stefan

evgheni
Neuling
Neuling
Beiträge: 4
Registriert: 24. Okt 2012 17:47

Re: Übung5 - transform.localEulerAngles

Beitrag von evgheni »

Das Problem habe ich auch =(
Werde mich freuen zu erfahren wie man das Problem lösen kann.

Evgheni

mister_tt
Kernelcompilierer
Kernelcompilierer
Beiträge: 502
Registriert: 29. Sep 2008 15:54

Re: Übung5 - transform.localEulerAngles

Beitrag von mister_tt »

Dito!

Benutzeravatar
mba
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 260
Registriert: 13. Jul 2007 19:16

Re: Übung5 - transform.localEulerAngles

Beitrag von mba »

Hallo Zusammen,

achtet bitte darauf, dass bei dem Root-Objekt, an welches ihr das neue Objekt parentet, der Scale auf (1,1,1) gesetzt ist... _> hatte ich in der Übung erwähnt.

VG,

Maxim
»Es ist noch kein Meister vom Himmel gefallen«
Wenn doch, wär er jetzt tot.
Bild

mister_tt
Kernelcompilierer
Kernelcompilierer
Beiträge: 502
Registriert: 29. Sep 2008 15:54

Re: Übung5 - transform.localEulerAngles

Beitrag von mister_tt »

Hallo Maxim,

danke für die Antwort. Wenn man den Scale auf (1, 1, 1) setzt, wird der Baum aber doch viel zu groß?

Viele Grüße
Simon

Zwähn
Erstie
Erstie
Beiträge: 18
Registriert: 14. Jun 2010 15:33

Re: Übung5 - transform.localEulerAngles

Beitrag von Zwähn »

Wenn die Skalierung (1,1,1) beträgt sind die Würfel allerdings alle gleichgroß oder sogar quadratisch
wenn die Wurzel (der erste Würfel) auch (1,1,1) als Skalierung besitzt.
Das Problem mit der Rotation hab ich auch noch nicht lösen können, zwar rotiert ein Würfel korrekt,
wenn man seinen Parent dementsprechend rotiert, das will man aber doch garnicht mehr, da der Parent
auch schon rotiert wurde. Rotiert man den Würfel selbst, so wird einfach eine Scherung auf ihn ausgeführt.
Die Variante von Stefan mit einem leeren GameObject zwischen zwei WÜrfeln habe ich auch ausprobiert,
bin bisher aber noch zu keinem vernünftigen Ergebnis damit gekommen.
Wie ist es denn möglich eine Rotation auf dem Parent auszuführen, so dass nur das Kind rotiert wird?
Nach meinem bisherigen Kenntnisstand ist das nicht möglich.

Gruß,
Sven

cereal_man
Neuling
Neuling
Beiträge: 7
Registriert: 4. Jan 2012 20:40

Re: Übung5 - transform.localEulerAngles

Beitrag von cereal_man »

Ich habe jetzt eine Lösung gefunden: Man erstellt ein leeres GameObject und einen Cube. Den Cube skaliert man wie benötigt und hängt diesen dann als child an das leere GameObject an. Dieses Konstrukt verwendet man nun als Prefab für die weitere Baum-Generierung, sodass der Baum am Ende aus lauter leeren GameObjects mit angehängten Cubes besteht. Winkel, Skalierung und Position der Äste stellt man dann beim leeren Gameobject ein.

Gruß,
Stefan

sebastian@TU
Nichts ist wie es scheint
Beiträge: 23
Registriert: 2. Nov 2012 10:09

Re: Übung5 - transform.localEulerAngles

Beitrag von sebastian@TU »

Das funktioniert! Super, vielen Dank!

himbaer
Mausschubser
Mausschubser
Beiträge: 98
Registriert: 28. Apr 2010 19:29
Kontaktdaten:

Re: Übung5 - transform.localEulerAngles

Beitrag von himbaer »

Kann ich eventuell noch einen Tipp dazu bekommen, wie man die Äste, die aus der Wurzel wachsen sollen, genau oben an die Wurzel anrgenzen lässt?
meine Testsignatur :!:

sebastian@TU
Nichts ist wie es scheint
Beiträge: 23
Registriert: 2. Nov 2012 10:09

Re: Übung5 - transform.localEulerAngles

Beitrag von sebastian@TU »

Du setzt für dein Ast Prefab als Parent die Wurzel. Anschließend verschiebst Du mit localPosition Deinen Ast. Danach kannst Du ihn dann drehen.
Welchen Wert Du für die Verschiebung mit localPosition brauchst hängt von deinem Prefab ab.

himbaer
Mausschubser
Mausschubser
Beiträge: 98
Registriert: 28. Apr 2010 19:29
Kontaktdaten:

Re: Übung5 - transform.localEulerAngles

Beitrag von himbaer »

Hö? Dann rotiere ich den Ast doch wieder aus der Wurzel heraus.
Ich habe dich so verstanden, wie ich es auf dem folgenden Bild gezeichnet habe:
Verstaendniss.png
Verstaendniss.png (3.49 KiB) 1906 mal betrachtet
Kannst du das vielleicht nochmal genauer erklären?
meine Testsignatur :!:

sebastian@TU
Nichts ist wie es scheint
Beiträge: 23
Registriert: 2. Nov 2012 10:09

Re: Übung5 - transform.localEulerAngles

Beitrag von sebastian@TU »

Wenn du den parent deines Astes richtig gesetzt hast und eine local Rotation (z.B. eulerangle wie im Titel des Topics) verwendest (auf den Ast), rotiert es automatisch richtig... Einfach mal ausprobieren ;)

bausa
Neuling
Neuling
Beiträge: 7
Registriert: 28. Okt 2010 15:47

Re: Übung5 - transform.localEulerAngles

Beitrag von bausa »

sebastian@TU hat geschrieben:Wenn du den parent deines Astes richtig gesetzt hast und eine local Rotation (z.B. eulerangle wie im Titel des Topics) verwendest (auf den Ast), rotiert es automatisch richtig... Einfach mal ausprobieren ;)
Ich verwende auch ein empty GameObject der Größe 1x1x1 mit angehängtem (zentrierten) Cube-Object. Die neuen empty GameObjects werden zu Kindern der Vorgänger. Jedoch Verhält sich der Ast bei der Drehung immer wie von himbaer beschrieben und passt sich nicht automatisch dem Parent an, egal welche Art von Rotation ich verwende (localRotation, Rotation, localEulerAngles, eulerAngles, rotate, ...) :(. Hast du noch einen Tip?

Meine Hiearchie:

EmptyGameObject
  • Cube
    EmptyGameObject
    • Cube
So siehts aus wenn ich das obere EmptyGameObject (also das Child) drehe:
Bild

sebastian@TU
Nichts ist wie es scheint
Beiträge: 23
Registriert: 2. Nov 2012 10:09

Re: Übung5 - transform.localEulerAngles

Beitrag von sebastian@TU »

Kannst Du nochmal überprüfen ob Du wirlich das makierte Objekt drehst? (z.B im Inspector)
EmptyGameObject
  • Cube
    EmptyGameObject <-
    • Cube
Den Effekt, den Du auf Deinem Bild hast, erhalte ich nur, wenn ich anstelle des EmptyGameObject den letzten Cube in der Hierarchie rotieren lasse.

bausa
Neuling
Neuling
Beiträge: 7
Registriert: 28. Okt 2010 15:47

Re: Übung5 - transform.localEulerAngles

Beitrag von bausa »

Ja ich rotiere das EmptyGameObject. Egal ob ich das EmptyGameObject oder den letzten Cube rotiere, das Ergebnis ist immer das selbe...

Antworten

Zurück zu „Archiv“