Collision für Static Meshes in der Unreal Engine
Ich zeige an einem Beispiel wie man eine Collision für Static Meshes in der Unreal Engine erstellt. Nur mit einem korrekten Collision Modell kann man ein beliebiges Mesh auch sinnvoll mit der Engine nutzen.
Collision für Static Meshes in der Unreal Engine
Dieser Artikel ist eine Fortsetzung meines vorangegangenen Tutorials in dem ich ein Hexagon in Blender erstellt hatte. Dieses wurde in eine *.fbx Datei exportiert und in einem neuen Unreal Engine Projekt importiert.
Collision Mesh entfernen
Mit einem Doppelklick auf das importierte Mesh öffnet sich der Mesh Editor des Unreal Editors. Dort wird das Mesh mit der Textur angezeigt, über den Menüpunkt Collision kann man sich das aktuelle Collision Mesh anzeigen lassen und dieses auch neu erstellen. Für das Hexagon hat die Engine kein passendes gefunden, weshalb ich dieses nun mit „Remove Collision“ entferne. Ein möglichst genaues Modell ist erforderlich, damit man die einzelnen Hexagon Tiles einer großen Karte später auch gut anklicken kann.
Collision Mesh definieren
Damit die Kollisionsprüfung möglichst effizient läuft, sollte das Mesh einfach sein. Ich baue mir nun mit 3 Boxen mein eigenes Modell, dazu füge ich mit „Add Box Simplified Collision“ eine neue Box ein. Wie im Bild zu sehen versucht die Engine das komplette Hexagon mit einer einzigen Box einzufangen. Frei schwebend wäre das ok, da aber die Hexagon Tiles nebeneinander liegen würde sich die Kollisionsbereich überschneiden. Deshalb nutze ich nun den Editor um diese Box zu verkleinern, damit sie exakt eine Ausrichtung (in diesem Fall in Y Dimension) abdeckt.
Im nächsten Schritt füge ich nun weitere Boxen ein. Bei selektierter Box einfach STRG+D auf der Tastatur. Die neue Box wird um 60 Grad gedreht und ausgerichtet, eine weitere Box und das Hexagon ist perfekt durch 3 Boxen als Collision Mesh repräsentiert.
Fazit
Ich habe gezeigt wie man mit der Unreal Engine für beliebige statische Objekte ein neues Collision Mesh erstellt und mit den Tools im Editor dieses korrekt ausrichtet.