Jump to content
Unity Insider Forum

Schusssimulation in Unity erstellen


Timbo3

Recommended Posts

Weiß jemand vllt. wie man eine Schusssimulation in Unity erstellt. Es geht zwar mit Raycasts aber da fliegt ja nicht wirklich etwas durch die Luft. Ich versuche es gerade mit einem Asset wo auch die Kugel dabei ist aber wirklich gut finde ich es nicht:http://prntscr.com/ncvfgj

Die Kugeln fliegen nicht wirklich gerade und sehr langsam. Wenn sie an etwas abprallen fliegen sie wie in Zeitlupe durch die Luft. Und weiß jemand wie man Einschusslöcher simuliert?

lg Timbo3

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Stunden schrieb Timbo3:

Es geht zwar mit Raycasts aber da fliegt ja nicht wirklich etwas durch die Luft.

Tipp: Computerspiele sind komplett virtuell - da fliegt auch nicht wirklich etwas durch die Luft wenn du irgendetwas anderes machst als Raycasts ;)

Wenn es dir darum geht, dass man da etwas sieht - Kugeln sieht man nicht. Zu klein, zu schnell. Darum werden in der Regel, wenn's nicht realistisch sein soll (oder Tracer Rounds im Spiel sind) Schweife gezeichnet. Geht super mit einem LineRenderer.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aber es wäre doch schön wenn eine Kugel auch auf dem Boden liegt wenn sie abprallt/zersplittert und man könnte simulieren, dass bestimmte Materialien durchschlage werden und die Kugel davon langsamer wird. Wie macht man eigentlich Einschusslöcher und Ungenauigkeit auf zunehmende Entfernung? Die Kugel wird ja auch durch Wind beeinflusst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Diese Sachen kannst du alle machen mit Raycasts als Basis. Ob nun ein Rigidbody mit der Wand kollidiert oder du einen Raycast auf die Wand schießt, das ist für das Einschussloch, das du da spawnst egal. Ein Einschussloch, oder auch eine auf dem Boden liegende Patronenhülse sind nämlich ziemlich unabhängig von deinem Schuss. Das einzige, was wichtig ist, wenn du dich zwischen Raycast oder einer anderen Lösung entscheiden willst, ist ob dein Projektil eher groß und langsam ist oder klein und schnell. Ein kleines und schnelles Projektil solltest du eher mit Raycasts machen. So oder so musst du danach lauter verschiedene Techniken obendrauf tun, damit's hübsch aussieht. Ein Partikelsystem bietet sich für Patronenhülsen und das Mündungsfeuer an, ein Linerenderer für die Spur des Projektils, Decals für Einschusslöcher, usw. Wenn deine Flugbahn nicht Quake-ähnlich einfach nur geradeaus bis zu ersten Hindernis geht, musst du halt mehrere Raycasts hintereinander packen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hab mich vor paar Jahren mal etwas mit dem Thema beschäftigt. Das kam dabei raus, falls es dich interessiert (Achtung Werbung ^^) https://assetstore.unity.com/packages/tools/physics/bullet-ballistics-72755

Jede Kugel hat alle wichtigen Daten: Position, Flugrichtung, Geschwindigkeit, Durchmesser, Luftwiderstand etc.

Und dann jeden Update unter Einfluss von Gravitation, Luftwiderstand, usw. die neue Position berechnen und mit einem Raycast testen, ob es zu einer Kollision kommt.

Je nachdem mit welchen Material kollidiert wird, wird die Kugel gestoppt, prallt ab, oder fliegt auf der anderen Seite gebremst weiter.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Timbo3:

Und wie macht man eigentlich die Ungenauigkeit bei der Kugel?

Zum Beispiel durch zufällige Änderung des Winkels bei jedem Schuss.

vor einer Stunde schrieb Timbo3:

Und so eine Kugel kann ja nicht ewig weit fliegen irgendwann macht die Flugbahn doch eine Kurve nach unten.

 

vor 5 Stunden schrieb Sascha:

musst du halt mehrere Raycasts hintereinander packen.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...