Umrechnungsformel ect von 3d auf 2d

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Mathias-Kwiatkowski

Betreff: Umrechnungsformel ect von 3d auf 2d

BeitragFr, Aug 14, 2020 13:18
Antworten mit Zitat
Benutzer-Profile anzeigen
huhu nach extrem langer zeit beschäftige ich mich wieder mal mit 3d zeugs^^ und dazu habe ich gleich auch paar fragen.
was nutze ich? (minib3d) läuft auch also demnach alles top! es soll ähnlich wie b3d sein schätz ich^^...

naja gut nun zu meiner frage, ich würde gerne eine kugel anzeigen lassen (textur planet erde) das spiel ist eigentlich ein 2d game. aber ich könnte ja anstelle 100 bilder zu machen eine kugel darstellen und darauf eine textur "erde" und diese kugel rotieren lassen. (was ich auch schon kann juchu^^) mein problem ist die positionierung meine 2d map hat 5000x5000 wenn ich nun ein 3d objekt auf z.b. 4500x4500 setze ist es ganz woanders als eben kurz vorm ende der 2d map, könnte daran liegen das die kamera position auch eine rolle spielt. aber um zu erreichen was ich eigentlich möchte nämlich das die kugel an pixel 4,5kx4,5k (in 2d) ist gibts nur 2 möglichkeiten..
entweder ich kanns umrechnen also 3d auf 2d oder ich bastel mir ein editor wo ich dann die kugel hinklicke.

und bei beiden habe ich ein problem. camerapic begreif ich nicht da ich keine 2d koordinaten bekomme. (zum positionieren der kugel) und wie ich umrechne von 3d auf 2d ist mir ebenfalls ein rätsel.

wäre echt cool wenn mir wer helfen kann. es soll halt ein 2d spiel bleiben, nur ein rotierenden planeten z.b. geht mit hilfe 3d schon wesentlich entspannter.

ich hoffe ich konnte mein anliegen anähernd gut beschreiben. wenn ich mich auch durch diese frage ehr gequält habe da es mir schwer fällt das auszudrücken was ich eigentlich möchte Very Happy


hier noch mein test code der eigentlich nicht helfen wird (schätz ich)

Code: [AUSKLAPPEN]
SuperStrict
Import sidesign.minib3d

Graphics3D (DesktopWidth(), DesktopHeight(), 32, 0)
AntiAlias 16

Local cam:TCamera = CreateCamera()
PositionEntity cam, 0, 0, -15
Local light:TLight = CreateLight(1)

Local tex:TTexture = LoadTexture("Data\Textur\000.jpg")

Local sphere:TMesh = CreateSphere(24)
PositionEntity sphere, 0, 0, 0
ScaleEntity(sphere, 1, 1, 1)
EntityTexture sphere, tex

Local X:Float = 0, MoveX:Float
While Not KeyDown(KEY_ESCAPE)
   RotateEntity(sphere, 0, X, 0)
   X = X - 0.1
   If X < 0 Then X = 359
   
   PositionEntity sphere, MoveX, 0, 0
   MoveX = MoveX + 0.1
   If MoveX > 1980 / 2 Then MoveX = 0
   RenderWorld
      
   
   BeginMax2D() ' MiniB3D function
   DrawText MoveX, 0, 0
   EndMax2D() ' MiniB3D function
   
   Flip
   Cls
Wend
Skype: Anarchie1984
http://projektworks.de/maxbase/
Icq - Erneuert am 21.08.2017
Yahoo - Erneuert am 21.08.2017

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group