gelöst: Draw3D: DrawImage4D - xyz-Koordinaten

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Hakkai

Betreff: gelöst: Draw3D: DrawImage4D - xyz-Koordinaten

BeitragSo, Nov 13, 2011 23:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich bin neuerdings dabei mich mit Draw3D herumzuschlagen.
Wollte ein Bild an ein Objekt im 3D Raum hängen, da bin ich mit DrawImage3D nicht weit gekommen da das nur x und y koordinaten annimmt. Allerdings gab es da noch das tolle DrawImage4D das alle 3 Koordinaten annimmt, hab ich auch gleich genommen und das Bild(LoadedImage) so an mein Objekt(shot\VisibleHandle) gehängt:

DrawImage4D(LoadedImage,EntityX(shot\VisibleHandle,1),EntityY(shot\VisibleHandle,1),EntityZ(shot\VisibleHandle,1),0,EntityYaw(shot\VisibleHandle),0.5)

nun frage ich mich warum das Bild nicht an diese Stelle gesetzt wird, sonder statdessen irgendwo in der Mitte der Bildfläche rumdümpelt. Ich nehme mal an das noch irgendwas an den Positionen umgerechnet wird, doch leider finde ich nicht heraus was das sein könnte.

Das Beispiel zu DrawImage4D ist leider viel zu sehr variabilisiert um das noch verstehen zu können, da bleibt mir nur hier nachzufragen ob schonmal jemand Erfahrung mit dem Befehl hat.

Die Richtung in der sich das Bild bewegt ist identisch mit dem des Objekts was schon mal ein wenig erfreulich ist, nur wird das Bild wie schon gesagt nicht an die richtige Stelle gesetzt.

Bitte um Hilfe.


----------------------------------
Lösung:
Dem geladenen Bild muss die Cam mit übergeben werden:
LoadedImage=LoadImage3D("shot001.png",4,2,Cam,0)

Bei DrawImage3D würde statt Cam eine 0 stehen, so weit ich das bis jetzt verstehe.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Nov 24, 2011 1:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Damit DrawImage4D das Bild entsprechend der Kameraausrichtung einzeichnen kann, muss die Position als auch der Drehwinkel der Kamera berücksichtigt werden. Dazu lädt man ein Bild über den Parameter vom Parent als Handle der Kamera.

Local Camera=CreateCamera()
Local Sprite=LoadImage3D("..\Data\Sprite.png",4,2,Camera,0)


Danach kann man das Bild dann beliebig mit X/Y/Z -Koordinaten positionieren.

DrawImage4D(Sprite,TF\XP,TF\YP,TF\ZP,0,TF\AP,0.1)

Siehe dazu Beispiel: Draw3D2 #08, DrawImage4D.bb

Hängt man das Bild an einen Objekt, wird natürlich dessen Position und Drehung berücksichtigt, was meisten quatsch ist. Außer man zeichnet mit DrawImage3D.

Edit 1: Sorry, bin ein Blindfisch. Problem ist bereits gelöst Embarassed

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group