Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

01.06.2016, 12:34

Unity3D Springen von einem Punkt zu einem anderen Punkt

Hallöchen,
Undzwar würde ich gerne eine Figur von dem jetzigen Punkt an dem er gerade steht zu einem anderen festgelegten Punkt "Springen" lassen. Dabei sind lerp und slerp aber nicht das wonach ich suche, weil er dirt einfach nur in einer geraden linie zu dem Punkt hingeht. Was ich gern hätte wäre das der Spieler wirklich abspringt und eine gewisse höhe(die variabel ist) erreicht und dann auf dem anderen festgelegten Punkt landet. Ich habe dafür schon eine menge gesucht und hätte ich früher im Matheunterricht besser aufgepasst müsste ich vmtl nicht fragen wie ich das realisieren kann.

MfG Orange

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

3

01.06.2016, 13:00

Ich denke genau so meint er das. Und der einfachste Weg, das zu erreichen, ist die unity-interne Physikengine zu nutzen. Also gibt deinen Objekten einen Rigidbody(Rigidbody2D für 2D) und dann eine Geschwindigkeit. Wie genau das funktioniert kannst du mit Hilfe der Dokumentation herausfinden!
https://docs.unity3d.com/ScriptReference/Rigidbody.html
WIP Website: kevinheese.de

4

01.06.2016, 13:02

Das kommt schon in die Richtung, allerdings ist das nicht das wonach ich suche :/ ich hab anbei ein Schema gezeichnet (Paint ftw). Vllt hilft das es etwas besser zu verstehen. Die Karo's sind die Variablen die ich habe. Die rote Linie ist die "Flugbahn" die er eingehen soll.
»TightOrange« hat folgendes Bild angehängt:
  • SchemaSprung.png

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

5

01.06.2016, 13:07

Wenn ich dich richtig verstehe, hast du einen Start/Landepunkt und eine variable Sprunghöhe, und du möchtest, dass sich die Bewegung einfach den gewählten Parametern anpasst.

Ich würde das immernoch mit der Physikengine lösen. Du musst nur berechnen, wie groß deine Y/X-Velocity Werte sein müssen, um deine gewünschte Bewegung(bzw. Sprunghöhe) zu haben. Das ist auch mit wenig mathematischem Geschick eigentlich drin. Würd dir das ungern vorkauen, also probiers einfach mal selbst.

Zur Not fang erstmal bei einem normalen Sprung an ohne Sonderregeln an. Dann dürfte es dir leichter fallen.
WIP Website: kevinheese.de

6

01.06.2016, 13:38

Das normale Springen in Unity sind überhaupt kein Problem. Mein derzeitiges Problem ist das ich das theoretische dahinter nicht habe. Ich habe den Anfangsstartpunkt, ich habe die maximale Flughöhe und ich habe den Landepunkt. Und da dazwischen soll eine schöne "Kurve" sein. Wie ich etwas normal Springen lasse, ist keine große Sache. Aber ihn über eine bestimme Höhe auf einem festgelegten Punkt landen zu lassen bekomm ich so nicht ganz hin :/ Dieser schräge Wurf ging schon etwas in die Richtung, da ich damit auch mit der UnityPhysics arbeiten kann. Allerdings kann ich beim schrägen Wurf nicht die Flughöhe bestimmen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

01.06.2016, 15:45

Allerdings kann ich beim schrägen Wurf nicht die Flughöhe bestimmen.
Doch, kannst du. Indem du einen steileren Winkel und eine höhere Geschwindigkeit ansetzt.
Vom Prinzip her ist das ein Gleichungssystem mit einer bekannten Formel (d = d0 + v0*t - 0.5g*t², v=[vx, vy]), 3 Unbekannten (Richtung + Geschwindigkeit + Dauer [bzw. vx, vy und t]) und 3 festen Punkten. Somit also eindeutig lösbar.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »BlueCobold« (02.06.2016, 14:38)


8

02.06.2016, 13:52

Ohman ja klar :) wofür steht das "d" in der Formel?

Vielen Dank für die Antwort

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

02.06.2016, 14:12

Ich würd mir einfach eine Parabel durch die drei gegebenen Punkte ausrechnen... ;)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

10

02.06.2016, 14:38

Nichts anderes ist das, dot. pq-Formel lässt grüßen.

@TightOrange: Das steht für "Distance". Deine Position, wenn Du so willst.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige