phy_speed_* collisiert nicht perfekt

  • Allgemein

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • phy_speed_* collisiert nicht perfekt

    Hallo Ihr,

    schon seit Tagelang versuche ich gerade, das der Spieler sich flüssiger mit anderen Gegenstände collisieren soll. Was aber nicht gerade klappt. Die ganzer Welt/Objekte sind natürlich in Physik, so das ich dann phy_speed_x/phy_speed_y benutzen soll.

    So sieht der ganzer aus, wenn der Player sich mit andere Gegenstände collisiert:

    [video]http://www.youtube.com/watch?v=Ox1EgheDRKQ&feature=youtu.be[/video]
    Problem mit collision - der Spieler ruckelt sehr stark, wenn man mit Gegenstände collisiert.



    Ich habe schon dieser Code versucht, was sowieso nicht klappen wird:

    GML-Quellcode

    1. repeat(abs(hspd)){
    2. phy_speed_x += sign(hspd)
    3. }
    4. repeat(abs(vspd)){
    5. phy_speed_y += sign(vspd)
    6. }


    Physik Einstellungen von Spieler und andere Gegenstände:


    Links: Einstellung von Spieler --- Rechts: Einstellung von Glastisch



    Auf Hilfe wäre ich sehr dankbar!

    Yan
    Ihr stinkt.
  • Huh, wieso manipulierst du phy_speed_x/y überhaupt manuell?
    Lass doch alles von der Physik engine berechnen und benutze nur forces oder Impulse...

    Ansonsten könnte es optisch auch etwas helfen wenn du den View vom Spieler abkoppen würdest. Also den View nur mit etwas verzögerung um den Spieler zentrieren lassen. Dann wackelt er nicht so.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • DragonGamer schrieb:

    Huh, wieso manipiliserst du phy_speed_x/y überhaupt manuell? o.o
    Lass doch alles von der Physik engine berechnen und benutze nur forces oder Impulse...


    Ich habe jetzt mit "physics_apply_force(x,y,hspd*run,vspd*run)" gemacht. Aber das Problem besteht immer noch weiterhin.

    DragonGamer schrieb:


    Ansonsten könnte es optisch auch etwas helfen wenn du den View vom Spieler abkoppen würdest. Also den View nur mit etwas verzögerung um den Spieler zentrieren lassen. Dann wackelt er nicht so.


    Das stimmt, dann würde der Views nicht mehr wackeln, aber dann sieht der Player komisch aus, wenn er die ganze Zeit so komisch wackelt.
    Ihr stinkt.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Chinafreak ()

  • Chinafreak schrieb:

    Ich habe jetzt mit "physics_apply_force(x,y,hspd*run,vspd*run)" gemacht. Aber das Problem besteht immer noch weiterhin.


    Wirkst du das etwa auf die gegenstände aus? Oder wo steht dieser Code?

    Du musst ja nur den Spieler (welcher auch ein Phyisik-Objekt ist) eine Kraft geben mit der er sich bewegt Alles weitere erledigt die Engine. Du brauchst eigentlich nicht mal Kolisionsevents...

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • DragonGamer schrieb:

    Chinafreak schrieb:

    Ich habe jetzt mit "physics_apply_force(x,y,hspd*run,vspd*run)" gemacht. Aber das Problem besteht immer noch weiterhin.


    Wirkst du das etwa auf die gegenstände aus? Oder wo steht dieser Code?

    Du musst ja nur den Spieler (welcher auch ein Phyisik-Objekt ist) eine Kraft geben mit der er sich bewegt Alles weitere erledigt die Engine. Du brauchst eigentlich nicht mal Kolisionsevents...


    Dieser Code befindet sich in obj_player (in Step-Event). Die Gegenstände haben überhaupt gar kein Event/Code und haben nur ein Parent, wo der ganzer Collision arbeitet.

    Eine Users meinte, das der Physic-Engine noch nicht reif genug ist. Und das der Ruckel nur durch room_speed Erhöhung verbessern kann. (Was dann in HTML5 laggen würde, wenn man FPS erhöht)
    Ihr stinkt.
  • Das könnte auch sein... 30 FPS und 60 Physik-FPS (die stellt man ja separat ein!) laufen aber im Studio...
    Ich kenne allerdings ein paar Beispiele der Physik-Engine und dein Phenomän habe ich noch nicht gesehen.

    EDIT: Moment.. wieso ist dein Linear Damping so extrem hoch?
    Setz den doch mal für beide Objekte auf ~1-5 und versuchs dann!

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • DragonGamer schrieb:

    Das könnte auch sein... 30 FPS und 60 Physik-FPS (die stellt man ja separat ein!) laufen aber im Studio...
    Ich kenne allerdings ein paar Beispiele der Physik-Engine und dein Phenomän habe ich noch nicht gesehen.


    Ein Wunder ist geschehen! Ich habe einfach physics_world_update_speed(90) in Step Event (unter Create Event geht das nicht) reingepackt und nun läuft es wunderbar, obwohl der room_speed immer noch auf 30 ist o: Keine Ahnung, ob das eine gute idee ist, physics_world_update_speed(90) in Step Event zu packen... Aber ich lasse aus Notfall erstmal so.

    und auf HTML5 läuft es sogar ohne Probleme, es sieht also gut aus.


    DragonGamer schrieb:


    EDIT: Moment.. wieso ist dein Linear Damping so extrem hoch?
    Setz den doch mal für beide Objekte auf ~1-5 und versuchs dann!


    Wenn ich das auf 1-5 machen würde, dann würde der Spieler sich wie in der Weltraum verhalten -> der läuft immer weiter und wird dabei langsamer. Das ist der Grund, warum ich dann so hoch gesetzt habe.
    Ihr stinkt.
  • physics_world_update_speed(90)
    Reichen 60 denn nicht? Irgendwo stand mal man solle es nicht noch höher als das doppelte des Roomspeeds setzen.
    Und außerdem gehört das nur ins Create event. Müsste eigentlich reichen.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)