3D ² 2D Tutorial
Übersicht

![]() |
DCSieger des B2D Retro Wettbewerb / Aug 04Betreff: 3D ² 2D Tutorial |
![]() Antworten mit Zitat ![]() |
---|---|---|
Damit jeder der's vielleicht mal braucht schnell findet, poste ich es mal hier:
![]() Das Tutorial erklärt wie man Sprites (3D) passend zum 2D Koordinatensystem positioniert und skaliert um ihre Vorteile (Stufenloses Drehen und Skalieren, Alpha- und Farbeffekte) in 2D Games nutzen zu können. Edit: Der Link funktionierte nicht mehr. Ich habe ihn aktualisiert. |
||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
- Zuletzt bearbeitet von DC am Do, Jun 14, 2007 17:56, insgesamt einmal bearbeitet
![]() |
Vulture |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ihr macht es in der 3D zu 2D Sprite lösung ganz schöne umwege obwoll es sehr einfach geht
Code: [AUSKLAPPEN] PositionEntity sprite,((0)*2)-640+64,-((0)*2)+480-64,640
Brauchst eingelich garnicht die ganzen Rechnungen da reicht es bei richtiger anwendung schon Code: [AUSKLAPPEN] PositionEntity sprite,320,-240,640
Hin und das geht dann einfelich ganz gut und man kann dann sogar mehere Kamaras Benutzen aber natürlich nur wenn man das Hud in Sprite machen will oder mehere Tile Ebenden hat. |
||
User posted image
Projekte : TerraSE Terranigma - Break Up - Final Round - Survivor Elite - Sequence Basic |
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
aber bei DC's lösung, kann man den 2D x und y wert angeben!
Code: [AUSKLAPPEN] PositionEntity sprite,((X)*2)-640+64,-((Y)*2)+480-64,640
|
||
Blog. |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn man sich einen pivotparent setzt, kann man sogar direkt die richtigen koordinaten angeben ![]() |
||
MrKeks.net |
![]() |
Vulture |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja bei mir sind das schon die X und Y werte
Code: [AUSKLAPPEN] PositionEntity sprite,X,-Y,640
Man muss halt nur das Minus bei Y beachten ![]() |
||
User posted image
Projekte : TerraSE Terranigma - Break Up - Final Round - Survivor Elite - Sequence Basic |
![]() |
DCSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm bei mir erscheint es bei positionentity sprite,0,0,640 dann aber in der Mitte - es sollte aber wie in 2D oben Links sein.
Oder mache ich was falsch? Zeig mal lauffähigen kleinen Beispielcode ![]() |
||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
![]() |
Vulture |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics3D 640,480
SetBuffer BackBuffer() Cam=CreateCamera() CameraClsMode Cam,0,1 CameraRange Cam,1,320 PositionEntity Cam,320,-240,320 Sprite=CreateSprite() ScaleSprite Sprite,64,64 EntityColor Sprite,255,0,0 PosX=320 PosY=240 While Not KeyDown(1) PositionEntity Sprite,PosX,-PosY,640 Cls RenderWorld() Plot PosX,PosY Text 0,0,"Position : "+PosX+"x"+PosY If KeyDown(200) Then PosY=PosY-1 If KeyDown(208) Then PosY=PosY+1 If KeyDown(203) Then PosX=PosX-1 If KeyDown(205) Then PosX=PosX+1 Flip Wend Schnell und Einfach gemacht ![]() |
||
User posted image
Projekte : TerraSE Terranigma - Break Up - Final Round - Survivor Elite - Sequence Basic |
![]() |
DCSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achso. Naja du hast ja auch die Kamera verschoben. Bei mir ist dann das Positionieren der Kamera einfacher während bei dir das Positionieren der Objekte einfacher ist.
Hmmm.... Okay, dein Code ist sinnvoller ![]() (meine Reaktion kommt etwas spät - hab das irgendwie übersehen hier) |
||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
![]() |
Vulture |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja das mit der Kamera verschiebung ist auch nicht schlecht hab ich festgestellt da man die Kamera in RealTime auch verschieben kann ohne das man die Sprite eine neue Position angabe geben muss ![]() |
||
User posted image
Projekte : TerraSE Terranigma - Break Up - Final Round - Survivor Elite - Sequence Basic |
Schneeflocke |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi DC,
wenn das Tutorial Sprites passend zum 2D Koordinatensystem positioniert, ist das ganz interessant für mich. Nur leider funktioniert der Link nicht. wäre schon wenn du den noch einmal online stellen würdest !! (recht auch unverbessert) ![]() |
||
Ich hoffen ich habe keine dumme Antwort oder Frage gestellt ![]() |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
http://www.unrealsoftware.de/s..._bb_3dto2d
MfG |
||
Schneeflocke |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke
genau das war es was ich gesucht habe !!! |
||
Ich hoffen ich habe keine dumme Antwort oder Frage gestellt ![]() |
![]() |
Bob |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ganze ist zwar schön und gut aber meiner meinung nach leider dennoch ziemlich nutzlos.
Versucht z.B. mal mit dieser 3d 2 2d Demo ein kleines Ballerspiel mit gelichzeitig 100 Objekten auf dem Screen zu machen. Die Sprites wurden, sagen wir mal, mit ScaleSprite auf 64x64 gescalt. Da dieser Wert zwar dem Sprite auf dem Screen eine 64 x64 PIXEL großes Aussehen gibt, es sich aber nach wie vor um ein 3D Object von der größe 64*64 handelt, dürfte der Game Speed total im Keller sein. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wenn du mit sprites arbeitest wirds in den keller gehen jo. Wenn du dir nen eigenes single surface system machst sollte es hingegen beträchtlich schneller laufen.
problem in beiden Fällen ist die mangelnde Kollision die du dann selbst programmieren musst ( oder im DBP board den code holen und konventierten nach Blitz3D ) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
lol, 100 objekte, die 64*64 pixel einnehmen, füllen den screen auf moderaten 800*600 schon fast vollständig! =)
mein spaceshooter dgx und dcs cs2d packen den screen voll mit sprites, auch mit mehr, und haben keine geschwindigkeitsprobleme... |
||
MrKeks.net |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nur so als tipp: statt jedes sprite mit createsprite() zu erstellen, jedes neue sprite mit copyentity() von einem mastersprite kopieren...bringt je nach system einiges an performance... | ||
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Link funzt net......warum müsst ihr denn immer externe Links verwenden?? die sind doch nach 2 wochen oder so eh tot ![]() |
||
Zitat:
Wie poste ich falsch? Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann. |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Guck mal auf die Daten der Beiträge... |
||
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey...
http://www.unrealsoftware.de/o...to_2d.html |
||
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 |
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dankeschön ![]() |
||
Zitat:
Wie poste ich falsch? Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group