schönere Bewegung wie mp_potential_step

  • GM 7

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

  • schönere Bewegung wie mp_potential_step

    Hi, ich wollte mal fragen, ob man irgendwie die Bewegung schöner machen kann mit mp_potential_step, also so dass das Objekt nirgends stecken bleibt und dass es nicht so an den Wänden entlang läuft, weil das sieht etwas komisch aus.
    Hat jemand ne Ahnung wie man das verbessern könnte, mir fällt leider nichts ein?
    Gruß Gamer
  • Versuchs mal mit mp_potential_settings(maxrot,rotstep,ahead,onspot)
    Spoiler anzeigen
    Die vorherige Funktion verrichtet ihre Arbeit, indem sie eine Anzahl von Parametern verwendet, welche mit dieser Funktion verändert werden können. Prinzipiell funktioniert diese Methode wie folgt. Zuerst wird versucht, das Ziel auf direktem Weg zu erreichen. Es wird eine Anzahl von Schritten vorausgeschaut, was mit dem Parameter "ahead" (voreingestellt auf 3) festgelegt werden kann. Vermindern dieses Wertes führt dazu, dass die Instanz die Richtungsänderung später beginnt. Erhöhen bedeutet eine frühere Richtungsänderung. Falls diese Prüfung zu einer Kollision führt, schaut sie nach anderen Richtungen, die mehr links oder rechts, von der bestmöglichen Richtung liegen. Dies macht sie in Schritten der Größe "rotstep" (voreingestellt 10). Vermindern dieses Wertes ermöglicht der Instanz mehr Bewegungsmöglichkeit, ist aber langsamer. Der Parameter "maxrot" ist ein wenig schwierig zu erklären. Die Instanz besitzt eine aktuelle Bewegungsrichtung ("direction"). maxrot (voreingestellt 30) gibt die Abweichung zur aktuellen Bewegungsrichtung an, die maximal in einem Schritt geändert werden darf. Auch wenn sie sich beispielsweise direkt zum Ziel bewegen könnte, macht sie es nur so, dass die maximale Abweichung der Bewegungsrichtung nicht überschritten wird. Falls Du "maxrot" hoch ansetzt, kann die Instanz die Bewegungsrichtung mehr ändern in einem Schritt. Dies macht es einfacher einen kurzen Weg zu finden aber der Weg wird hässlicher sein. Falls Du aber den Wert kleiner machst, wird der Weg geschmeidiger aber möglicherweise mit längeren Umwegen (manchmal wird das Ziel auch garnicht erreicht). Falls kein Schritt gemacht werden kann, hängt das Verhalten vom Wert des Parameters "onspot" ab. Wenn "onspot" wahr (true) ist (der voreingestellte Wert), wird die Instanz auf dem Fleck um den Betrag, der durch "maxrot" vorgegeben ist, rotieren. Falls der Wert unwahr (false) ist, findet keine Bewegung statt. Den Wert auf "false zu setzen ist beispielsweise nützlich für Autos, setzt aber die Wegfindungschancen herab.
  • So ne Bewegung ist extrem kompliziert.
    Ich bin bis jetzt auch noch nicht drauf gekommen wies zu 100% klappt.
    Müsstest du dich mal bei der GMC erkunden, da sind deutlich mehr User, dadurch hast du höhere chancen eine Antwort zu bekommen.
    Irgendwo da gibt es auch ein Tutorial für sowas.
    Bei Mp_grid ist das ja glaub ich so, dass der auch an der Wand entlang läuft.
  • Du könntest das auch mit nem Grid und nem Path machen. Ich kenn jetzt die genauen Funktionsnamen nicht, aber die sind in der Hilfe glaub ich auf der gleichen Seite erklärt wie die normalen mp_ Funktionen, musste mal nach mp_grid suchen.
    Da kannste auch einiges an Einstellungen machen, z.B. Diagonale Züge erlauben, weiche oder kantige Bewegungen über den Path etc.

    In der Regel vermeidest du dadurch auch automatisch, dass die Objekte an der Wand lang rutschen, da die mp_grid Funktionen den tatsächlich kürzesten Weg finden und nicht wie bei mp_potential eben nur den 'potentiell' Kürzesten. (Vorrausgesetzt du erlaubst diagonale Bewegungen)