General > German corner

Fog of War, mit oder ohne Shader

<< < (2/2)

cocojack:
JPCT-AE und ich entwickle für mein Nexus 7

cocojack:
Also mit Uniform kann ich dem Shader Werte übergeben.

Was ich dann bräuchte wäre die "uniform mat4 textureMatrix;"

In der Theorie müsste ich es ja dann so Berechnen:
Wenn das Terrain-Pixel in einer Linie bis zum Spieler-Objekt verbindbar ist, ohne dass es durch ein anderes Objekt unterbrochen wird hat es die Original-Farbe, sonst wird es Grau.
Das anzeigen der anderen Objekte auf den Ausgegrauten Feldern müssten auf Unsichtbar gesetzt werden.

Die Sachen die ich noch nicht ganz verstehe sind folgende:
-Wie bekomme ich die Aussenkoordinaten meiner Objekt3D
-Wie finde ich heraus, dass etwas auf dieser Sichtlinie Liegt

EgonOlsen:
Ja, du kannst Werte als uniforms übergeben. Ob etwas auf der Sichtlinie liegt, kannst du z.B. erkennen, indem du eine Kollisionsabfrage zwischen dem Sichtvektor und dem zu betrachtenden Objekt machst. Das ist u.U. aber etwas aufwendig, wenn du viele Objekte auf diese Art betrachten willst, vor allem auf Android.
Alternativ musst du dir irgendwas anderes ausdenken. Z.B. könntest du dir ein Gitter mit einer bestimmten Auflösung erstellen. Quasi eine vereinfachte, in der Auflösung reduzierte Bitmap in der, wenn man die Szene von oben betrachtet, die Positionen von Sichtblockern als bestimmte Werte gespeichert sind. Ich mache sowas in der Art eigentlich immer, weil es viele Dinge (unter anderem auch die Wegfindung) sehr erleichtert.

cocojack:
Gibt es ne Möglichkeit das während der Laufzeit zu generieren? Sprich ne Möglichkeit das Terrain Objekt nach anderen Objekten Scannen?

Die einzige Möglichkeit die mir einfallen würde ist, mit nem kleinen Objekt durch die Karte zu fahren und die Collision-Events abzufangen...

Navigation

[0] Message Index

[*] Previous page

Go to full version