2016-08-05 41 views
0

Ich habe versucht, die Matrixbox zu deaktivieren und den Sphere Collider zu entfernen. Das Problem, das ich habe, ist, dass die Spielobjekte nicht aufhören, sich gegenseitig durchzugehen. Ich weiß nicht, was vor sich geht. Ich habe ein Bild von dem, was vor sich geht: enter image description hereWie verhindere ich, dass sich zwei Spielobjekte auf unity3d durchgehen lassen?

+0

Warum würden Sie Sphere Collider entfernen? Wie viele Collider gibt es? Wenn Sie den "Trigger" ankreuzen, wird er durchdrungen. Es gibt einen Penetrationsfaktor in Bezug auf die Geschwindigkeit. Hohe Geschwindigkeit ignoriert manchmal Kollision. Sie benötigen möglicherweise mehrere Collider mit Ihren NPCs. –

+0

Wie bewegst du dich Spielobjekt (e)? – TheDjentleman

Antwort

0

Zuallererst, entfernen Sie nicht die Collider und stellen Sie sicher, dass sie nicht auf ist Trigger gesetzt ist (das macht den Collider durchlässig). Außerdem verwenden Sie Sphere Collider für ein ziemlich komplexes Mesh, daher würde ich empfehlen, MeshCollider zu verwenden, das es entsprechend dem Mesh generieren würde.

Zweitens, überprüfen Sie erneut, wie Sie die Objekte verschieben. Wenn es zu viel Kraft gegeben wird, könnte es durch einen anderen Collider schlagen und nicht herauskommen (stell dir vor, dass du eine Barriere durchbrichst und drinnen kannst du nicht genug Geschwindigkeit bekommen, um wieder aus ihm auszubrechen). Das kann passieren, wenn Sie AddForce() verwenden und transform.velocity nicht erhöhen.

Drittens, was steuert diese GameObjects? Spieler oder NavMeshAgent? Ich denke, wenn sie von AI (NavMeshAgent) gesteuert werden, sollten sie sich gegenseitig auf ihren Pfaden meiden und nicht kollidieren. Allerdings könnte ich mich hier irren.

+0

Ich habe kein Nav-Mesh und alles ist zu überprüfen. Ich habe ein Skript. Ich werde Nav Mesh versuchen. –

+0

Ich benutze Nav-Mesh und es funktioniert dank. –

+0

Ich denke, einfachste Weg, dies zu vermeiden, ist Meshcollider verwenden, wenn Objektgeometrie ist uneben, sonst vermeiden Sie Meshcollider, für den Fall, dass Sie Meshcollider nur erinnern, einer von ihnen sollte Starrbody und konvexe Option auf Meshcollider Komponente sollte Tick sein –