Jump to content
Unity Insider Forum

Ground-Detector ohne Funktion bei Fbx Dateien


Shebeeyan

Recommended Posts

Hallo, ich bin der neue 😅

 

Ich habe eine Map in Blender erstellt, die ich als

Fbx Datei in Unity 5 importiert habe.

Meinem Player, den ich ebenfalls in Blender erstellte und mit einer Armature und diversen Animationen bestückt einfügte, verfügt über den Animator, einem Rigidbody und einem Script zum Steuern. Im erwähnten Script befindet sich die Funktion der Ground detection.

 

Erstelle ich ein Terrain und platziere den Player darüber, schaltet der Detektor, sobald ich auf dem Boden stehe und die Animationen, sowie der Sprung kann/können ausgeführt werden.

 

Füge ich meinem Level(Boden besteht aus einer dicken Plane) einen Box-Collider hinzu, bleibt der Player zwar darauf stehen, doch bleibt hier gänzlich der Detektor aus.

 

Kennt jemand dasselbe oder ein ähnliches Problem, welches einfach behoben werden konnte und kann berichten?

 

Ich bedanke mich im voraus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hängt von dem erwähnten Skript ab, wenn dieses beispielsweise mit dem Unityterrain:

https://docs.unity3d...ce/Terrain.html

arbeitet, so müsste es auf einen normalen Mesh umgeschrieben werden. Du kannst ja das Skript einmal hier posten, wenn es nicht zu komplex oder lang ist, findet sich bestimmt jemand der hilft ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe leider momentan keinen Zugriff auf meinen Rechner. Das Skript allerdings ist kurz gehalten und alles andere als komplex, denn es soll nur zur Demonstration dienen, um die Map anzutesten. Ich gehe eher davon aus, der Fehler liegt hier beim Export.

 

Spiele ich die Szene ab, verrät mir der Animator, der Player hat keinen Kontakt mit dem Map Objekt und springt von der Idle,- zur Jump Animation.

Ergänzend kann ich noch anmerken, der Character hat tatsächlich keinen Bodenkontakt und schwebt gefühlte 3cm über der Oberfläche.

 

Erstelle ich allerdings ein Terrain, wie im Startpost beschrieben oder einen einfachen Qube, mit Collider-Einstellungen, treten diese Probleme nicht auf.

 

Ich weiß natürlich, Ferndiagnose fällt schwer.

 

Zer0cool, danke für deine Antwort.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nur als Idee, wenn ein einfacher Cube funktioniert, dann verwende doch diesen einfach als Boxcollider (den hat der nämlich sowieso dabei), du musst hier dann nur einfach den Meshrenderer ausschalten. Sollte dieser dann aber wieder nicht funktionieren, sobald du dein Terrain dazuholst, dann liegt das Problem vermutlich woanders.

Es könnte beispielsweise sein, daß ein Collider den anderen Collider verdeckt (Terraincollider vs Cubecollider). Das Skript sollte dann eine Möglichkeit anbieten, den Terraincollider zu identifizieren oder sollte einen Layer verwenden (Terrain wird mit Layer "Ground" markiert). Wenn das Skript mit einem Ray Richtung Boden arbeitet und sich nur den 1. gefundenen Collider zurückgeben lässt und es ohne Layer arbeitet, muss es umgeschrieben werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Meine Idee war zuerst auch, einfach die Map mit einigen Collidern auszulegen. Zum Schluss besteht die Szene aber aus mehr Collider, als die Szene groß ist (Datenmenge) : P

 

Zer0cool, der letzte Satz wird wohl das Problem sein, denn im Script scannt er tatsächlich, ohne Layer nur in Richtung Up.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Macht nix, 1000nde Collider sind eigentlich kein Problem (und werden von Unity zumeist auch noch verbunden), denn die verbrauchen bei weiterem nicht so viel Platz wie Meshes. Dann entweder einen RaycastAll() einbauen (und den Terraincollider heraussuchen) oder ein Raycast mit Layer (und dem Terrain einen Layer verpassen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...