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

Spy

Frischling

  • »Spy« ist der Autor dieses Themas
  • Private Nachricht senden

1

24.12.2007, 14:08

Wie realsiere ich einen Sprung

Hallo Leute,
wie realisiere ich in einem 3D-Ego-Shooter Spiel einen Sprung. Ich würde mich über Code freuen aber Theorie reicht auch schon. :)

Danke
--------
MfG Spy

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

24.12.2007, 14:31

http://www.google.de/search?q=wurfparabel
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Spy

Frischling

  • »Spy« ist der Autor dieses Themas
  • Private Nachricht senden

3

24.12.2007, 15:35

Senkrechter Wurf beschreibt wohl einen Sprung oder und wie schaut das ganze Code technisch aus. Kann mir jemand einfach mal die Transformierung der CameraMatrix schicken. (benütze TriBase)
_________
MfG Spy

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

24.12.2007, 16:38

Einfach die Position der Kamera anhand deines Kalkulationsergebnises ändern.
@D13_Dreinig

Spy

Frischling

  • »Spy« ist der Autor dieses Themas
  • Private Nachricht senden

5

25.12.2007, 23:29

Zitat von »"David_pb"«

Einfach die Position der Kamera anhand deines Kalkulationsergebnises ändern.


Ja danke 8) Nette Antwort und wie kommt die Kamera dann wieder runter nehmen wir an jemand schaut gerade eben nach oben...dann springen ... wäre vielleicht nicht so gut man würde "nach hinten" springen.

EDIT:Ja,man muss den Vektor verändern. David hatte doch Recht. Ich habe mich da blöderweise vertan.

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

6

25.12.2007, 23:58

Zitat von »"Spy"«


nehmen wir an jemand schaut gerade eben nach oben...dann springen ... wäre vielleicht nicht so gut man würde "nach hinten" springen.


Verstehe dein Problem nicht ganz. Der LookAt Verktor hat doch mit der Position wenig am Hut. Wenn du den Kamera-Positions-Vektor bewegst dürfte er springt er doch unabhängig von deiner Blickrichtung, oder wie meinst du das?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

7

26.12.2007, 09:12

Eben, ist doch egal wohin die Kamera gerade schaut!
@D13_Dreinig

Spy

Frischling

  • »Spy« ist der Autor dieses Themas
  • Private Nachricht senden

8

27.12.2007, 09:40

Ja das schon. Aber ich will das alles in einem ich will berechnen können wie sich der Sprung verhält wenn ich schneller laufe,seitwärts laufe und alle diese Sachen. Ausserdem will ich da gleich eine Fall-Pyshik-Engine mitintegieren sodass die Spielfigur nach oben gesetzt wird und nicht nur die Kamera und sodass das Herunterfallen richtig berechnet wird wenn man z.B. von einem Hausdach runterspringt. Dazu muss man eine Kollionsabfrage am Boden machen aber wie das funktioniert ist mir ein Rätsel.
So nach dem Motto:

C-/C++-Quelltext

1
2
3
4
5
if(!BodenNichtMitSpielfigurVerbunden && !GetPlayerState(OnJumpUp)) //Bei OnJumpUp wird überprüft ob der Spieler gerade noch kinetische Energie nach oben hat.

{
SetCamera(-1);
SetPlayerState(OnAir); //Mann kann während dem Fall nicht springen

}

Sprich die Kamera wird solange heruntergesetzt bis man am Boden ist.
Ich weis allerdings nicht wie man "BodenNichtMitSpielfigurVerbunden" berechnet.

Daraus folgt:

C-/C++-Quelltext

1
2
3
4
5
if(KeyPressed(VK_SPACE && !GetPlayerState(OnAir)) 
{
SetCamera = BerechneKameraSprung();
SetPlayerState(OnJumpUp);
}


Mit diesem System soll meine Engine noch sehr verbesserbar sein. z.B. kann ich leicht wenn ich das mit der Kollisions herausbekommen habe berechnen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
if(!BodenNichtMitSpielfigurVerbunden && !GetPlayerState(OnJumpUp)) //Bei OnJumpUp wird überprüft ob der Spieler gerade noch kinetische Energie nach oben hat.

{
SetCamera(-1);
SetPlayerState(OnAir); //Mann kann während dem Fall nicht springen

if(EntfernugZuBoden > 5)
{
SetPlayerState(FallDmg1); //Fallschaden

SetPlayerState(FallVelo2); //Fallgeschwindigkeit wird erhöht...

}



P.S.: In meiner Engine soll sich die Spielfigur nach der Kamera richten:
Die Spielfigur wird herunterfallen wenn die Kamera heruntergeht. Dieses System stellt ein verbessertes Ausweichen von Kugeln,Geschossen dar.
MfG Spy
Mein GE-Projekt

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

9

27.12.2007, 09:47

Zitat von »"Spy"«

Ja das schon. Aber ich will das alles in einem ich will berechnen können wie sich der Sprung verhält wenn ich schneller laufe,seitwärts laufe und alle diese Sachen.
Dann realisierst du den Sprung in Richtung des Bewegungsvektors. Ansonsten veränderst du nur die Komponenten des Positionsvektors, wie bereits gesagt...

Zitat von »"Spy"«

Ausserdem will ich da gleich eine Fall-Pyshik-Engine mitintegieren sodass die Spielfigur nach oben gesetzt wird und nicht nur die Kamera und sodass das Herunterfallen richtig berechnet wird wenn man z.B. von einem Hausdach runterspringt.
Das hat aber nichts mehr mit deiner ursprünglichen Frage zu tun. Wie auch immer. Auch hier veränderst du nur den Positionsvektor der Kamera, die Berechnung unterscheidet sich aber ein wenig.

Zitat von »"Spy"«

Dazu muss man eine Kollionsabfrage am Boden machen aber wie das funktioniert ist mir ein Rätsel.
So nach dem Motto:
if(!BodenNichtMitSpielfigurVerbunden) SetCamera(-1);

Das war mit Sicherheit nicht Teil deiner Ausgangsfrage. Hierfür müssten wir viel mehr über die von dir eingesetzten Techniken wissen (verwendest du z.B. einen BSP-Tree -> dann suche mal nach BSP Collision o.ä.).

Zitat von »"Spy"«


Sprich die Kamera wird solange heruntergesetzt bis man am Boden ist.
Ich weis allerdings nicht wie man "BodenNichtMitSpielfigurVerbunden" berechnet.

P.S.: In meiner Engine soll sich die Spielfigur nach der Kamera richten:
Die Spielfigur wird herunterfallen wenn die Kamera heruntergeht. Dieses System stellt ein verbessertes Ausweichen von Kugeln,Geschossen dar.

Ich mutmaße jetzt einfach mal ganz unverschämt und behaupte das du nicht genug Ahnung hast um eine "Engine" zu schreiben!
@D13_Dreinig

Spy

Frischling

  • »Spy« ist der Autor dieses Themas
  • Private Nachricht senden

10

27.12.2007, 13:16

Ja danke David ich wollte dich nicht angreifen. Der Vollquote war nicht nötig. Danke für den Hinweis das ich auch hier den Postionsvektor verändern muss.
zu den "von mir eingesetzten Techniken":
Es gibt keine. Das hier ist alles nur theoretisch. Ich habe ein paar kleine Probleme die mich von meinen Projekten abhalten.

Ausserdem revidiere(oder s.a.) ich meine Wiederrede:
Ja,man muss den Vektor verändern.
MfG Spy
Mein GE-Projekt

Werbeanzeige