2D Koordinaten eines Entity

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Eingeproggt

Betreff: 2D Koordinaten eines Entity

BeitragFr, Apr 20, 2007 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich spiel mich grad ein bisschen mit 3D und hab, wie jeder Anfänger gleich mal eine dumme Frage:

Wie kann ich ermitteln, auf welchen 2D-Koordinaten ein Objekt (Entity) grad ist, IN PIXELN?

Das brauch ich für meine "spezielle" Kollissionsabfrage. Und bevor das jemand sagt: Ich kenne EntityCollide, brauchs aber so.

Danke schonmal.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Apr 20, 2007 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Viele Leute die von 2D auf 3D umsteigen, wollen ihre alten Programmteile weiter benutzen, obwohl es in 3D dafür wesentlich elegantere Methoden gibt. Aber denoch. Wenn sich alles in einer 2D-Ebene abspielt, aber alles in 3D dargestellt wird, so kannst du die Kamera um halbe Bildschirmpixelbreite nach hinten ziehen. Dann hast du in der Ebene Z=0 eine 1:1 -Skallierung bei der Bewegug aller Objekte. Koordinatenursprung ist allerdings dann in der Mitte und die Y-Achse ist gespiegelt gegenüber 2D-befehlen. Dieses kann man kompensieren wenn man die kamera in der X-Achse um 180° dreht und entsprechend in der X- und Y-Achse verschiebt, was aber nicht zu empfehlen ist.^^ Ansosten gibt es keine 2D-Koordinaten im 3D-Raum, weil anhand dieser man nicht feststellen kann, wie tief ein Objekt ist und somit die X/Y-Skallierung nicht mit berücksichtigt werden kann. Dacher bittet sich an, es in einer 2D-0-Ebene zu programmieren mit entsprechender Kameraeinstellung.

Vielleicht hilft dir aber auch einfach nur ql:CameraPick
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Vertex

BeitragFr, Apr 20, 2007 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
CameraProject
lalalala
vertex.dreamfall.at | GitHub

Eingeproggt

BeitragFr, Apr 20, 2007 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke an beide, besonders Vertex, da mir die Funktion mehr geholfen hat.

EDIT:

Und weil sich schon wieder eine Frage aufgetan hat:

Kann man Sprites mit einer anderen Farbe als schwarz maksen?
(man kommt so schwer von den 2D-Angewohnheiten weg Very Happy )
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

the FR3AK

BeitragFr, Apr 20, 2007 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Sprite=LOADSPRITE (Datei [,Modus] [,Parent])

Hier kurze Beschreibung:
[1] Color Map = Die Textur wird so eingezeichnet wie man die sieht
[2] Alpha Map = Die Textur benutzt Alpha Map für Transparenz. Wenn Alpha Map nicht vorhanden ist, dann erscheinen dunkle Stellen transparenter.
[4] Masked = Schwarze Flächen werden nicht eingezeichnet.
[8] Mipmapped = für weite Entfernungen wird eine Textur mit weniger Details benutzt.
[16] Clamp U = Textur-Koordinate U wird fixiert.
[32] Clamp V = Textur-Koordinate V wird fixiert.
[64] Spherical Reflection Map = Reflektionseffekt
[128] Cubic Environment Mapping = Echtzeitreflektion
[256] Speichert Textur in VRAM = schneller
[512] Erstellt HighColor-Textur. So kann die Textur auch bei 16-Bit Farbtiefe weiterhin Alpha-Informationen enthalten.

Wenn du jetzt also LoadSprite "Blablub.jpg",1 machst dann wird Sprite so gezeichnet wie man ihn sieht^^
 

flashmaxel

BeitragFr, Apr 20, 2007 22:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist mir nicht bekannt. Aber du könntes das Sprite per CreateSprite() erstellen, eine Textur laden, die dann masken und auf das Sprite legen.
Textur masken: https://www.blitzforum.de/foru...asktexture
Real C programmers never die; they cast to void.

FireballFlame

BeitragSa, Apr 21, 2007 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht auch einfach so:
- Textur besitzen, mit Farbe die gemasked werden soll
- in GIMP (oder ein anderes gutes Grafikprogramm) öffnen
- Farbe, die unsichtbar werden soll, durch Transparenz ersetzen
- als png speichern
- Sprite=LOADSPRITE ("XYZ.png" ,2 [,Parent]) ^^
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group