Jump to content
Unity Insider Forum
Sign in to follow this  
Gadakar86

Rotierende Gondel

Recommended Posts

Hallöchen, 

ich arbeite grade an nem 2D Jump n Run und mich würde interessieren, wie ich es schaffe, 4 Cubes um einen Point rotieren zu lassen, ohne dass sich die einzelnen Cubes selbst um die Z-Achse drehen. Halt damit die Spielfigur über die Cubes drüber hüpfen kann.

In Csharp oder Java. Lieber ersteres, da ich bisher auch alles in CSharp gescript habe.

Mfg

Share this post


Link to post
Share on other sites
vor 5 Stunden schrieb Gadakar86:

In Csharp oder Java.

Ich bin mir ziemlich sicher, dass Java dir sowieso nichts nützt - und JavaScript übrigens auch nicht ;)

Aber zur eigentlichen Frage: Du könntest entweder die Rotation der Gondeln nach jeder Drehung des Gesamtdings auf 0 zurücksetzen, oder du ordnest die Gondeln gar nicht erst dem drehenden Ding unter, sondern lässt sie den Ankerpunkten durch Setzen der Position folgen, ohne sie dabei zu drehen.

Share this post


Link to post
Share on other sites

Was meinst du mit es nützt mir nix?

Mir mangelts an knowhow das ist alles. Ist ja kein wunder bei unity muss man ja nicht nur lvl designen, sondern sich auch in Programming auskennen.

Hast du wenigstens ein Beispiel für mich an Scripting?

Mfg

Share this post


Link to post
Share on other sites

Java nützt Dir nichts, weil Unity Java nicht als Programmiersprache unterstützt.

Unity Script, welches Javascript ähnelt, wird wohl auch nicht mehr unterstützt, sondern nur noch C#.

Als Beispiel könntest Du Dein drehendes Objekt nehmen und diesem unsichtbare GameObjects unterordnen, welche deine "Ankerpunkte" sind. Nun kannst Du deiner Plattform, welche sich nicht um die Z-Achse rotieren soll eine Komponente geben, welche ungefähr so aussieht

[SerializeField] //macht private Felder im Inspector sichtbar
private Transform ankerpunkt; //kannst Du dann im Inspector dem Objekt zuweisen

void Update()
{
 transform.position = ankerpunkt.position; //das Objekt bekommt die Position von dem zugewiesenen Ankerpunkt, wird aber nicht rotiert 
}

Oder Du lässt Deinen Aufbau wie gehabt mit den Cubes unterhalb des drehendes Objekts und setzt die Rotation auf den Cubes jeden Frame zurück

void Update()
{
  transform.rotation = Quaternion.Identity;
}

 

  • Like 1

Share this post


Link to post
Share on other sites

Danke für die Antworten.

 

Ich probiere das später mal aus, auch wenn ich das nicht ganz verstehe. Zum besseren Verständnis meinerseits kann ich noch dazu sagen, dass dieser Punkt von dem ich sprach, eher bildlich funktionell dienen sollte, weil man den Punkt ja eh nicht nicht. Also es ist egal, ob die 4 Cubes sich um diesen Punkt in 360 Grad drehen oder von selbst um 360 Grad in einem Bereich drehen.

Aber wie gesagt ich teste es mal, auch wenn ich nicht weiß, unter welcher Klasse ich das private Transform setzen soll :(

Share this post


Link to post
Share on other sites

danke für die antwort, das hier funktioniert. Allerdings muss das I in Identiy klein geschrieben werden. Sehr sencecasitiv das Ganze ^^

void Update()
{
  transform.rotation = Quaternion.Identity;
}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×