Flackernde Schatten
Übersicht

![]() |
x-pressiveBetreff: Flackernde Schatten |
![]() Antworten mit Zitat ![]() |
---|---|---|
Grübel... habe da ein kleines Problem: ich habe ein Spielfeld mit einigen Figuren darauf (ca. 20). Jede Figur sollte einen simplen Schatten haben (quasi nur einen runden, dunklen Kreis unter der Figur). Um nicht für jeden Schatten eine Surface zu benutzen, erzeuge ich ein einzelnes Mesh und generiere dort die Schatten -pro Figur ein simples Quad aus vier Vertices. Jeder Schatten ist also ein Quad, alle Schatten liegen in einer Surface.
Funktioniert im Grund auch -allerdings flackern die Schatten unregelmässig, sind mal sichtbar, dann mal wieder nicht. Ich vermute, das liegt daran, daß alle Schatten in einem Mesh liegen und Blitz bzw. der Renderer sich nicht entscheiden kann, ob das Schatten-Mesh nun im Vordergrund, also sichtbar ist, oder nicht. EntityOrder will ich nicht benutzen, da ich dann ja bei jedem einzelnen Objekt im Spiel(!) EntityOrder benutzen müsste, was die Sache wirklich verkomplizieren würde. Was gäbe es denn vielleicht sonst noch für Lösungen? |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Lord_Vader |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde sagen der schatten liegt einfach auf der oberfläche.
Benutze doch mal sprites und setze sie 0,00001 (ich weis ja nicht deine größen) über den boden. |
||
![]() |
Ebola33 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Entityorder wäre warscheinlich die beste Lösung. Oder du generierst die Schatten direkt auf dem Surface deiner Landschaft mit Vertexcolor. |
||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sprites möchte ich möglichst vermeiden (würde das Spiel je nach Anzahl der Figuren unnötig verlangsamen) -und Vertexcolor auf der Landschaft manipulieren würde ja sehr unregelmässige Schatten produzieren.
Grübel... Single-Surface Quads sind da zwar am Elegantesten -aber wie kann man dem Flackern abhelfen bzw. woran liegt das...? Das seltsame ist: wenn ich für jeden Schatten ein Sprite nehme, funktioniert das -wenn ich aber z.B. für jeden Schatten ein eigenes Mesh nehme, ist das Flackern wieder da. Am Single-Surface liegt's also nicht. ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und wenn Du einfach Deine Plane mit EntityOrder > 0 in den Hintergrund setzt? Da brauchst Du nur einmal EntityOrder.
Hast Du die Schatten etwas in die Höhe versetzt? |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da EntityOrder nicht rekursiv funktioniert, müsste ich dann jede Figur und jedes in der Szenerie enthaltene Unterobjekt manuell verwalten -und das nicht nur einmal, sondern jedesmal, wenn sich Kamerawinkel oder Positionen ändern. Das wäre ein Alptraum -diese Möglichkeit scheidet also komplett aus.
EntityOrder taugt wirklich nur für HUD-Elemente oder solche, die IMMER im Vordergrund sein sollen. Beides trifft nicht zu. ![]() ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Neee, Entityorder > 0 heisst in den Hintergrund. Wenn Du so Dein Spielfeld belegst, dann wird diese immer als erstes gezeichnet und kann die Schatten nicht mehr überdecken. Solange das Spielfeld nicht transparent ist oder von unten gesehen wird, ist das kein Problem.(Neben HUD kann man Entityorder nämlich noch prima für Skyboxes einsetzen ![]() Alle anderen Objekte können ganz normal eingezeichnet werden. *EDIT* (ups, war mir sicher gelesen zu haben, dass das Spielfeld flach ist. Falls es Berge gibt nützt Dir das natürlich wenig.) |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, hätte ich schreiben sollen -das Spielfeld ist nicht eben, sondern hat Hügel, auch Gebäude usw. -da ist das wirklich keine gute Lösung.
Ich habs jetzt temporär mit Sprites gelöst, das funktioniert zwar, ist aber nicht sehr flexibel -ich kann so nicht mal auf die Vertices zugreifen. Sobald ich aber etwas anders benutze, jeweils ein Mesh oder auch ein Mesh für alle Schatten zusammen, ist das Flackern wieder da. Grübel... ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
eizdealer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich kann dir versichern, dass deine Furcht Zitat: Ich vermute, das liegt daran, daß alle Schatten in einem Mesh liegen und Blitz bzw. der Renderer sich nicht entscheiden kann, ob das Schatten-Mesh nun im Vordergrund, also sichtbar ist, oder nicht. unbegründet ist. Blitz überlässt das vollständig DirectX. Das setzt in dem Fall, dass irgendein Teil der Surface innerhalb des View Frustums ist (was es ja sein muss), nur auf ZBuffer.
Ich glaube auch, dass sich die Quads direkt auf der Oberfläche des Terrains befinden. Probier mal die Quads einfach eine ganze Einheit ÜBER das Terrain zu setzen. Wenn es dann immer noch Probleme gibt, bleibt nur eine mögliche Schlussfolgerung: Du hast bei beiden Meshes Vertexblending aktiviert. So war das bei mir... PS: Schafft euch keine Laptop Tastatur an, sonst müsst ihr alles 3 mal schreiben. |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meinst du mit "VertexBlend" vielleicht VertexColor? Das benutze ich nur mit dem Bodenmesh, nicht mit den Schatten.
Schatten und Boden überlappen nicht -das kam mir ja als erstes in den Sinn. Was aber teilweise überlappt, sind die Figuren (MD2) und die Schatten. Und ich glaube, daß es daran liegt, denn die Schatten flackern, verschwinden und tauchen wieder auf abhängig von der jeweiligen Figur-Animation. Aber was soll ich machen? Ich kann doch die Figur nicht über ihrem Schatten "schweben" lassen. Irgendwie scheint das vielleicht ein Problem mit MD2-Dateien zu sein -wär das möglich? |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielleicht hast du das schon getan, aber rendere doch mal nur die Schatten, ohne Figuren. | ||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
So weit kam es leider gar nicht mehr, da ich dann frustriert doch auf Sprites umgestellt habe, damit mich das nicht ewig aufhält -vorerst.
Ich glaube aber fast, das eizdealer recht hat und das Phänomen auftritt, wenn bei zwei überlagernden Meshes VertexColor aktiviert ist. Wenn ich so drüber nachdenke, kann es nämlich sein, daß ich beim alten Code doch versehentlich Schatten und Boden auf VertexColor geschaltet hatte. Lässt sich jetzt nicht mehr beweisen, aber ich behalte es mal im Kopf, wenn ich das später noch mal überarbeite. |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group