Jump to content
Unity Insider Forum

Bge nur faces anzeigen welche der character auch sieht


Samas85

Recommended Posts

Hi leute ich hoffe hier die antwort auf meine frage zu finden.

Ich habe in blender 2.79 noch die game engine vorhanden und einen typische new yorker stadtteil erstellt in dem es gebäude gibt welche man betreten kann. Demzufolge habe ich aussenwände und auch die jeweiligen innenwände der begehbaren gebäude. Wenn ich im freien stehe und den character so drehe dass die kamera im gebäude ist also der character von der aussenwand weg sieht kann ich die aussenwand dank dem backface culling nichtsehen was genau so gedacht war jedoch sehe ich nun die innewand. Wie kann ich die unsichtbar machen solange auch der character nicht eine direkte sicht darauf hat? Ich hoffe ich habe mich verständlich ausgedrückt und danke schonmal im voraus für eure hilfe. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich kenne da 2 Methoden:
a) der Kamera-Controller bewegt die Kamera nicht in das Gebäude, sondern achtet immer darauf, dass sich zwischen Spieler und Kamera keine Objekte befinden die die Sicht verdecken können (in deinem Beispiel würde die Kamera den Spieler dann beispielsweise von vorn oder von der Seite zeigen)
b) der Kamera-Controller erkennt ein verdeckendes Objekt in der Sichtlinie zum Spieler und blendet dieses Objekt entweder komplett aus (Renderer deaktivieren) oder macht es semi-transparent (über Shader)

Der Nachteil von Methode b) ist, dass du hier für ein Haus Zugriff auf die Einzelobjekte wie Wände, Decken, Böden usw. haben musst. Ein Mesh für das komplette Haus funktioniert mit dieser Methode dann nicht.
Der Nachteil an Methode a) ist eine wesentlich komplexere Kameraführung und ab und zu kann diese auch durch den Spieler als störend empfunden werden, da die Kamera "Positionswechsel" vornimmt die den Spieler im Spiel irritieren können (vor allem bei Ego-Shootern wo über die Kamera auch gezielt wird)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es gäbe noch die Möglichkeit das du deine Kamera vor die Wand springen lässt wenn eine Wand zwischen der Camera und dem Spieler ist.

Ich glaube man nennt das Cameracollision und die Unity Cinemashine Camera hat die funktion schon eingebaut.

So in der art :)

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...