Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TViewport3D Hintergrund (https://www.delphipraxis.net/179474-tviewport3d-hintergrund.html)

LexLing 10. Mär 2014 13:34

TViewport3D Hintergrund
 
Hallo, ich brauche wohl noch ein wenig Hilfe bei dem TViewport3D :?

Ich wollte in meinem Viewport3D ein Hintergrund reinladen, was ähnlich wie Color funktioniert, aber im Endeffekt ein Image ist.

Hm, sehr kurze Problemstellung :roll:
Wenn dies funktioniert, soll es ein Skydome werden.
Da sich mein Skydome eh nie bewegen soll, wenn ich durch mein "3D-Level" laufe, scheint mir ein statisches Bild (was automatisch hinter allen Objekten im Viewport angezeigt wird) angebrachter, als ein enormes TImage3D, was ich irgendwo weit im Abseits anbringen und auf die Bewegung/Position achten muss.

Hoffe, ihr könnte mir weiterhelfen.
Liebe Grüße

Der schöne Günther 10. Mär 2014 17:56

AW: TViewport3D Hintergrund
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich habe mit FireMonkey bis grade noch nie etwas in 3D gemacht, deshalb könnte das völliger Mumpitz sein. Aber ich habe ein TImage3D ins Geschehen geworfen, Projection auf pjScreen gesetzt und ZWrite auf False. Und ich war schon zufrieden.

Das wäre ein vollkommen statischer 2D-Hintergrund (siehe Anhang).

Ansonsten fänd ich eine richtige Skybox trotzdem toll- Damit könntest du immerhin noch "Effekte" wie eine kurzzeitig flacher blickende Kamera einfach umsetzen- Das sähe bestimmt toll aus.

LexLing 10. Mär 2014 21:07

AW: TViewport3D Hintergrund
 
Das klingt so simpel und ich habe es nicht gefunden :|

Coole Effekte kriegt man auch sicher durch ein statischen Hintergrundbild hin, aber ich lasse mir das gerne nochmal durch den Kopf gehen :)

Mal kurz hinterfragt:
Delphi-Quellcode:
img := TImage3D.Create(vp);
img.Bitmap.LoadFromFile('C:\cooleOrdnerstruktur\coolesBild.bmp');
img.Projection := pjScreen; // Mein Programm kennt nicht pjScreen
viewport3D.AddObject(img);
Dieses FMX irritiert mich etwas, da es pjScreen hier nicht kennt.
Ich habe selbst parallel auf meine Form ein TViewport3D und ein TImage3D gezogen und mir das zusammengeklickert, was auf jeden Fall funktioniert.
Habe angenommen, dass Delphi automatisch die uses füllt, sobald auf der grafischen Oberfläche neue Objekte hinzugefügt werden.
Ich hoffe, dass ich mich hier nun nicht blamiere, da mir die Frage ziemlich einfach erscheint :|
Brauche offensichtlich noch viel Erfahrung hier 8-)

LexLing 10. Mär 2014 21:10

AW: TViewport3D Hintergrund
 
Achja, ich hatte die Lösung durch TViewport3D.Color den Hintergrund transparent zu machen und ein TImage hinter den Viewport zu legen :-D
Da erscheint mir deine Lösung viel besser

Der schöne Günther 10. Mär 2014 21:22

AW: TViewport3D Hintergrund
 
Ich glaube, ich hatte das schonmal gefragt. Aber gerade wenn es um FireMonkey geht wäre es gut, wenn du deine verwendete Delphi/C++-Builder-Version in dein Profil einträgst. Dann könnte man direkt wissen, ob du eine ältere FireMonkey-Version hast bei der dann evtl. noch Eigenschaften fehlen oder anders hießen.

LexLing 10. Mär 2014 21:29

AW: TViewport3D Hintergrund
 
Macht natürlich sinn.
Hab ich nun auch geändert.

LexLing 11. Mär 2014 11:04

AW: TViewport3D Hintergrund
 
Hab's gefunden.
Delphi-Quellcode:
FMX.Types3D.TProjection.pjScreen
Hat sich in Types3D versteckt :D
Ich wusste, dass es was offensichtliches war.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz