Sprite kaum sichtbar... [Erledigt]

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Lastsamurai

Betreff: Sprite kaum sichtbar... [Erledigt]

BeitragDi, März 27, 2007 15:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich weiß jetzt nicht genau ob diese Frage in den Beginners Corner gehört oder hier hin, falls doch in den Beginner dann bitte verschieben.

Ich hab zur zeit das Problem das mein Sprite erst sichtbar wird wenn ich sehr nah dran bin ( c.a. 5m entfernung ) kann man diese Sichtbarkeit höher stellen oder wie kann man das beheben? Ich hab zur verdetlichung 2 screens gemacht ( das Sprite das ich meine ist dieser kreis unten beim mob)

1 Screen: Sprite gut zu sehen:
http://img53.imageshack.us/img...barnu7.jpg

2 Screen: Ein paar Schritte weg und schon fast nix mehr da...:
http://img393.imageshack.us/im...barsm2.jpg


Laden tu ich es so:

Code: [AUSKLAPPEN]

Marker = LoadSprite("Gfx\Marker.png",4)
EntityFX Marker,1


Falls es noch wichtig ist, das Sprite hängt als Child an dem Mesh und CameraRange ist auch auf 20000 hab schon rumprobiert ^^

Danke schonmal im Vorraus.
MfG LastSamurai
  • Zuletzt bearbeitet von Lastsamurai am Di, Apr 03, 2007 12:41, insgesamt einmal bearbeitet

NightPhoenix

BeitragDi, März 27, 2007 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
das liegt an deinem bild, also der textur die quasi auf dem viereck draufliegt. Die Linien sind einfach zu dünn. Blitz3D verwendet auch dieses Texture LOD... frag mich jetzt nicht wie es richtig heißt, aber es lässt weiter entfernte Texturen niedrig auflösender darstellen (-> verschwimmen) um Grafikspeicher zu sparen... ist bei jedem spiel so und da deine textur dann verschimmt überdecken sich bei größeren entfernungen wohl allmählich deine nicht transparenten mit den transpaenten flächen.

Der Gund wieso das bei dir schon so früh passiert ist, dass deine Weltskalierung viel zu groß ist!
Eine Moveentity Einheit sollten in deinem Spiel ca 2-4 meter betragen, dann hast du noch tolle texturdarstellungen... nicht nur dass deine texturen vermurkst werden, sondern es kann auch zu überblendungsfehlern (grafikfehlern) zwischen Objekten kommen, wenn die Welt zu groß scaliert ist.
MfG.
 

Lastsamurai

BeitragDi, März 27, 2007 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Also soll ich die Welt, u. alles andere dann natürlich auch kleiner skalieren...
danke für den Tipp Very Happy versuche es mal später.

MfG. LastSamurai

StepTiger

BeitragDi, März 27, 2007 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, das bringt eigentlich nichts.
Den Maßstab kann man fast vollkommen selbstständig wählen. Idee wäre, die CameraRange anders einzustellen. Dennoch sollte es eine Skalierung von etwa 1:1000 sein (min:max), da es sonst langsamer wird.
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Lastsamurai

BeitragDi, März 27, 2007 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm... CameraRange ist doch schon auf 20000 und wenn ich mir meine Landschaft so angucke dann sehe ich schon extrem viel davon. Wie sollte ich sie denn deiner Meinung nach einstellen?

Fuchsi

BeitragDi, März 27, 2007 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Du solltest deine Welt immer so skalieren, dass du bei Camerarange 1000 noch eine gute Sichtweite hast.

MfG
Füchse sind toll !

StepTiger

BeitragDi, März 27, 2007 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
AUTSCH!
CameraRange sollte immer so .1 bis 1 und 1000 sein!
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Lastsamurai

BeitragDi, März 27, 2007 23:47
Antworten mit Zitat
Benutzer-Profile anzeigen
So... nach sinnlosem rumprobieren mit der CameraRange und den Scale Funktionen hab ich immernoch keine Lösung gefunden. hab das Terrain jetzt so skaliert das man bei CameraRange 1000 gute Sichtweite hat etc. aber das Sprite verschwindet sowieso nach ein paar metern ( habs natürlich auch skaliert )... Ich weiß jetzt mal echt garnicht mehr was ich noch machen kann ^^

Kennt jemand WoW? Da wird auch sowas in der Art gezeichnet wenn man ein Monster "anvisiert" und da sieht man es auch noch wenn man sehr weit davon weg steht...
 

Dreamora

BeitragMi, März 28, 2007 0:02
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Solche Decals / Projectors macht man nicht wirklich in der Art wie du das da grad versuchst.
2. Wenn du weiter weg gehst musst du den Sprite auch grösser skalieren bis zu einem gewissen Punkt, denn der Sprite soll eine gewisse "sichtbare Grösse" haben nicht eine gewisse Weltgrösse.

Was du jedoch auch machen kannst ist types zu nutzen die die sprites drin haben. dann renderst du alles normal (alle sprites hidden), versteckst alles, stellst kamera projectionsmodus auf ortho und unhidest die sprites, renderst sie und versteckst sie wieder um die welt wieder anzuzeigen.

dann werden sie von der perspektive nicht verzerrt.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, März 28, 2007 1:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm Dreamora, sieht es nicht ein bischen komisch aus, wenn sich das Sprite nicht mit skalliert wie alles andere auch?

Ich würde den Kreis im Sprite wesentlich dicker einzeichnen und damit es dann nicht zu sehr 'aufgetragen' aussieht, dem Sprite mehr Transparenz geben.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Lastsamurai

BeitragMi, März 28, 2007 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:


Was du jedoch auch machen kannst ist types zu nutzen die die sprites drin haben. dann renderst du alles normal (alle sprites hidden), versteckst alles, stellst kamera projectionsmodus auf ortho und unhidest die sprites, renderst sie und versteckst sie wieder um die welt wieder anzuzeigen.

dann werden sie von der perspektive nicht verzerrt.



Hmm... habe versucht das so zu regeln wie du es beschrieben hast, hat aber leider nicht funktioniert ^^ es werden entweder nur die sprites angezeigt oder nur die welt... deswegen mache ich glaube ich etwas falsch... gehe dabei so vor:

Code: [AUSKLAPPEN]


While ...

...

CameraProjMode Kamera,1
Alle Sprites mit HideEntity verstecken.
Welt mit ShowEntity unhidden.
RenderWorld()

Alle Sprites mit ShowEntity anzeigen.
Welt mit HideEntity verstecken.
CameraProjMode Kamera,2
RenderWorld()

Alle Sprites mit HideEntity verstecken.
Welt mit ShowEntity unhidden.
CameraProjMode Kamera,2
RenderWorld()

...

Flip
Wend




So habe ich das von Dreamora zumindest verstanden Rolling Eyes
könntest du das vielleicht noch genauer beschrieben? Oder am besten noch einen Beispielcode machen?

EDIT:

Den Kreis habe ich schon dicker gemacht hat zwar geholfen aber ist nicht das Ergebnis das ich mir gewünscht hatte, aber danke trotzdem Smile


MfG. LastSamurai

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group