Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/20/24 01:28
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (kzhao, AndrewAMD, bigsmack), 824 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Skalierung bei Auflösungsumschaltung #375024
06/23/11 10:38
06/23/11 10:38
Joined: Apr 2006
Posts: 273
Germany, NRW
Meerkat Offline OP
Member
Meerkat  Offline OP
Member

Joined: Apr 2006
Posts: 273
Germany, NRW
Hallöchen,

vielleicht kann mir einer von euch einmal über die Straße helfen. Irgendwie schein ich entweder ein Verständnissproblem zu haben oder meine Formel ist schlicht und ergreifend falsch.

Zum Thema. Ich arbeite derzeit an der Positionsskalierung eines Panelsstücks (eine Entity*). Die Positionsskalierungen berechne ich mit der Formel:

Code:
PanelScale_x = screen_size.x/1920;
PanelScale_y = screen_size.y/1080;

Uhr_ent.y = -16; //Y entspricht der 2D X-Koordinate
Uhr_ent.z = -11.851; //Z entspricht der 2D Y-Koordinate

Uhr_ent.y = Uhr_ent.y * PanelScale_x; 
Uhr_ent.z = Uhr_ent.z * PanelScale_y;



Wende ich das auf ganz normale 2D PANELS an, funktioniert alles wunderbar da die 0 X,Y-Koordinate oben links in der Mitte des Bildschirms liegt.

Wende ich das allerdings auf die Entity (Uhr) an, dann stimmt irgendwie nichts. Die Uhr ist nicht da wo sie sein sollte. Ich habe heraus gefunden das bei der Entity die 0 Y,Z, Koordinate in der Mitte des Bildschirms liegt. Ich weiss nicht wie ich damit umgehen soll. Kann mir vielleicht jemand einen Tip geben? Achtung, ich berechne auch gleichzeitig die Bildformate (4:3, 16:10, 16:9) um da ich alle 3 verwenden möchte.


Mit freundlichem Gruß

Rudi


http://www.gpi-studios.com

OS: Windows 7 Home Premium (64 Bit Version)
AMD Athlon 64 X2 Dual Core Processor 5200+
6gb DDR 2 - RAM
NVIDIA GeForce GTX 460
GameStudio Version A8 Commercial
Re: Skalierung bei Auflösungsumschaltung [Re: Meerkat] #375045
06/23/11 11:51
06/23/11 11:51
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Pappenheimer Offline
Senior Expert
Pappenheimer  Offline
Senior Expert

Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Falls sich diese Eigenschaft jetzt nicht seit A5 geändert haben sollte wink , ist es so, dass die Entity nicht auf der Ebene der Panels liegt, sondern einen Abstand zum View hat, den Du einstellen kannst.
Die Entity ist also in einem 3D-Raum relativ zum Bildschirm platziert.

Schreib Dir eine einfache Funktion, mit der Du die Entity mittels Tasten bewegen (und drehen!) kannst und über die Dir die aktuellen Positionswerte angezeigt werden, dann bewege die Entity solange, bis Du die richtige Position und Drehung gefunden hast. Notiere Dir die Werte und trage sie im Script ein.
Vorteil: diese Werte sollten gelten, egal welche Bildauflösung etc. Du hast, da die Entity immer relativ zur Bildschirmmitte positioniert wird.

Re: Skalierung bei Auflösungsumschaltung [Re: Pappenheimer] #375071
06/23/11 13:07
06/23/11 13:07
Joined: Apr 2006
Posts: 273
Germany, NRW
Meerkat Offline OP
Member
Meerkat  Offline OP
Member

Joined: Apr 2006
Posts: 273
Germany, NRW
Tun sie aber nicht. Dann bräuchte ich ja nichts ändern. Das genau ist ja mein Problem. laugh


http://www.gpi-studios.com

OS: Windows 7 Home Premium (64 Bit Version)
AMD Athlon 64 X2 Dual Core Processor 5200+
6gb DDR 2 - RAM
NVIDIA GeForce GTX 460
GameStudio Version A8 Commercial
Re: Skalierung bei Auflösungsumschaltung [Re: Meerkat] #375075
06/23/11 13:29
06/23/11 13:29
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Pappenheimer Offline
Senior Expert
Pappenheimer  Offline
Senior Expert

Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Leider geht aus Deiner Antwort nicht heraus hervor:
1. Ob Du meine antwort vollständig gelesen und verstanden hast, und
2. ob Du etwas entsprechendes getestet hast.

Wenn Du Hilfe haben möchtest, solltest Du weniger wortkarg sein! tongue smirk

Ich habe es grad vorsichtshalber getestet:
solange Du die Seitenverhältnisse gleichbleiben, bleibt das Model bei jeder Bildgröße an exakt der gleichen Stelle.
Du müsstest also für die 3 Bildformate (4:3, 16:10, 16:9) jeweils eine Bildposition herausfinden und fest eintragen.
Da - wie erwähnt - das Model sich im 3D-Raum befindet, kann man nicht das System der Panelpositionierung einszueins darauf übertragen. Es ist sogar schwierig ein System überhaupt zu schreiben, da die Position z.B. auch vom arc des Views abhängt.

Was Du probieren könntest, ist, das Ganze auf isometrisch umstellen, wobei ich dann nicht sagen kann, wie das Ganze dann reagieren wird.

Re: Skalierung bei Auflösungsumschaltung [Re: Pappenheimer] #375085
06/23/11 13:56
06/23/11 13:56
Joined: Feb 2011
Posts: 135
Myrkling Offline
Member
Myrkling  Offline
Member

Joined: Feb 2011
Posts: 135
Falls nötig, kannst du auch rel_to_screen und rel_for_screen verwenden, um Viewentity-Koordinaten in Bildschirmkoordinaten zu konvertieren und umgekehrt.

Re: Skalierung bei Auflösungsumschaltung [Re: Pappenheimer] #375086
06/23/11 13:56
06/23/11 13:56
Joined: Apr 2006
Posts: 273
Germany, NRW
Meerkat Offline OP
Member
Meerkat  Offline OP
Member

Joined: Apr 2006
Posts: 273
Germany, NRW
Okok, dann hab ich doch richtig vermutet. Ich muss für die 3 Seitenverhältnisse echt alles selbst setzen. Und ja, ich hab deine Antwort schon verstanden. ^^ Muss ich mir halt das cm Maß nehmen und alles genau ausmessen damits gleich is. grin Danke dir für deine Hilfe. laugh


http://www.gpi-studios.com

OS: Windows 7 Home Premium (64 Bit Version)
AMD Athlon 64 X2 Dual Core Processor 5200+
6gb DDR 2 - RAM
NVIDIA GeForce GTX 460
GameStudio Version A8 Commercial
Re: Skalierung bei Auflösungsumschaltung [Re: Meerkat] #375104
06/23/11 16:23
06/23/11 16:23
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
Hm, also einerseits ist das ganz cool, dass View-Entities "mitskalieren" bei einem Auflösungswechsel, allerdings haben View-Entities auch eklatante Mängel. Und zwar insbesondere in Bezug auf das Bildschirmverhältnis (wie Achim bereits anriss) und dann auch noch in Bezug auf den camera->arc.

Eine Alternative wäre es, das Modell in einem seperaten View zu rendern und das render target in einem Panel darzustellen. Damit kombiniert man eigentlich ganz gut die Vorzüge von Panels und die Coolness von 3D Modellen.

Dann hast du aber weiterhin das Problem, dass man die Panels weiterhin händisch neu skalieren muss, was an sich blöd ist. Da könntest du aber wiederum folgenden Trick aus der Krabbelkiste der Konsolenspiel-Portierungen anno dazumal anwenden, und zwar renderst du das HUD immer auf der gleichen Auflösung und legst das render-Ergebnis einfach auf die Kamera drauf. Einziges Problem was jetzt noch besteht, ist, dass man eventuell die ganze Zeit das HUD in ner zu hohen Auflösung rendert und wieder Speicher verschwendet - andererseits sieht das dann auch wieder blurry aus, wenn man eine höhere Auflösung als die Referenzauflösung fährt.

Insgesamt sind auflösungsunabhängige HUDs ne ziemlich perfide Angelegenheit weil man überall, egal was man macht, Probleme hat. Gerade jetzt, wo jeder Hanswurst mit seinem 08/15 Breitbildbildschirm das schöne, etablierte, 4:3 Verhältnis kaputt macht. Da muss man sein HUD sowieso auf jede Unwägbarkeit diesbezüglich dynamisch anpassen. Ärgerlich sowas.

Am besten ist es, man verzichtet komplett drauf und lässt sich was ganz innovatives einfallen. Ich hab gestern Dead Space angezockt und bin ein wenig neidisch auf die Idee, das HUD in die 3D Szene reinzuprojizieren.. - genial!

Last edited by HeelX; 06/23/11 16:23.

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1