Größe von Objekten



  • Hallo,
    Seit einiger Zeit bin ich dabei ein kleines Spiel zu entwerfen. (3D, OpenGL, Cpp)

    Erst war die Ausgabe nur auf die Konsole limitiert, was ich nun aber ändern möchte.
    Bevor ich das allerdings angehen kann, gibt es eine Frage die mir schon seit Längerem durch den Kopf geht:

    Wie groß sind Objekte in 3D-Spielen für gewöhnlich?
    Damit meine ich die Größe in Koordinaten/Einheiten.
    Z.B. bei meinem Spiel gibt es ein Spielfeld, welches wie ein Schachbrett aufgebaut ist. (10x10 Felder).
    Auf diesem werden Figuren platziert und im Laufe des Spiels immer wieder bewegt.

    Mir stellt sich nun die Frage. Wie groß sollten diese einzelnen Felder sein?
    1x1,5x5, 10x10, 100x100 oder gar 1000x1000 Einheiten ?

    Dabei geht es mir auch darum die Figuren auf den Feldern noch gut erkennen zu können, denn die Kamera sollte soweit entfernt sein, dass man das ganze Spielfeld überblicken kann.

    Natürlich würde ich die Spielfigurengröße dann an die Größe der Felder anpassen. Ich würde nur gerne wissen ob durch größere Models/Felder Nachteile entstehen können. Also dass die Figuren dann trotz angepasster Größe vlt nicht mehr gut erkennbar sind usw.



  • Die Größenangaben sind Einheitenlos.
    Du kannst etwas 10 groß machen und dir sagen es sind Kilometer oder 10000 und als Nanometer interpretieren. Du kannst auch den Öffnungswinkel der "Kamera" verstellen wodurch kleines groß und großes klein aussehen kann.

    Du must lediglich darauf achten den Wertebereich der Zahlen nicht zu überschreiten. z.B die Gröse eines darzustellenden Autos nicht 3700000000000000 machen und es als Pikometerangabe interpretieren.

    Das kommt bei float Werten nicht so gut 😉



  • MisterX schrieb:

    z.B die Gröse eines darzustellenden Autos nicht 3700000000000000 machen und es als Pikometerangabe interpretieren.
    Das kommt bei float Werten nicht so gut 😉

    Single precision float geht bis knapp 2^128 (10^38) - da haette man also noch'n paar Dezimalstellen...



  • hellihjb schrieb:

    MisterX schrieb:

    z.B die Gröse eines darzustellenden Autos nicht 3700000000000000 machen und es als Pikometerangabe interpretieren.
    Das kommt bei float Werten nicht so gut 😉

    Single precision float geht bis knapp 2^128 (10^38) - da haette man also noch'n paar Dezimalstellen...

    Ja, aber in diesen Bereichen sind die Zahlen nicht mehr dicht beieinander.
    Es gibt große Lücken dazwischen.



  • Ich mache es abhängig vom Projekt. Manchmal ist eine Einheit ein Meter, manchmal nur ein Zentimeter.



  • Danke für die Antworten!

    Mir ging es bei der Frage auch um Mipmaping und den Z-Buffer. Gibt es da bzgl der Darstellung bzw Berechnung Probleme mit größeren Objekten?

    Unabhängig davon hätte ich noch eine Frage:

    Ich habe versuchsweise ein kleines Model gerendert, welches (an die Größe der Felder angepasst) von der Kameraposition leider nicht mehr so gut aussieht.
    Es hat beispielsweise mehrere Rohre (Zylinder, wenig Polygone) die aus der Kameraposition (45°, zentriert auf die Spielfeld mitte) nur noch aussehen wie dünne Striche (~1 Pixel breit) - Wobei die Kamera aber nur genau so weit entfernt ist, dass das Spielfeld ins Bild passt und die Objekte wie gesagt, an die Größe der einzelnen Felder angepasst sind. Also würde man beim Näher-heranzoomen nicht mehr das ganze Spielfeld sehen können.



  • Ich meinte mit der Größe weniger die Größe in Relation zu echten physikalischen Größen oder Objekten sondern eher die Größe die ihr einem solchen einzelnen Feld in 3D Darstellungen/Spielen geben würdet. Damit ich einen Ausgangspunkt habe.
    Meine Idee war dass ich sie mit 100x100 Einheiten erstelle.



  • Bei mir liegen alle Koordinaten meistens in [0,1]^3 oder in [-1,1]^3.

    Das macht es mathematisch angenehm und in 0-1 liegen sowieso ein Viertel aller möglichen floats.



  • otrly schrieb:

    Ich habe versuchsweise ein kleines Model gerendert, welches (an die Größe der Felder angepasst) von der Kameraposition leider nicht mehr so gut aussieht.
    Es hat beispielsweise mehrere Rohre (Zylinder, wenig Polygone) die aus der Kameraposition (45°, zentriert auf die Spielfeld mitte) nur noch aussehen wie dünne Striche (~1 Pixel breit) - Wobei die Kamera aber nur genau so weit entfernt ist, dass das Spielfeld ins Bild passt und die Objekte wie gesagt, an die Größe der einzelnen Felder angepasst sind. Also würde man beim Näher-heranzoomen nicht mehr das ganze Spielfeld sehen können.

    Was hat das damit zu tun, ob ein Feld nun 0,0001*0,0001 oder 10000*10000 Einheiten groß ist?

    Das ist doch völlig egal.



  • Worauf es ankommt sind die Größenverhältnisse und nicht die absoluten Größen. Ob dein Würfel 1000x1000x1000 Einheiten groß ist und die Kamera 10000 Einheiten weig weg oder ob der Würfel 1x1x1 groß ist und die Kamera 10 Einheiten weit weg macht absolut keinen Unterschied, in beiden Fällen wirst du auf den Pixel genau das gleiche Bild erhalten...


Anmelden zum Antworten