Raumschiff-Interieurs: Wie geht man bei der Implementierung vor?

7

Ich erstelle ein 3D-Weltraumspiel mit Ogre3D für Grafiken mit C ++ und eine der Funktionen besteht darin, frei im Raumschiff-Interieur herumlaufen zu können, aber ich bin nicht sicher, wie ich es implementieren soll. Folgendes kann ich mir bisher vorstellen:

  • Ein einzelnes Modell des Raumschiffs, dessen Innenraum ebenfalls modelliert, aber irgendwie doppelseitig und doppelt normiert ist? Nicht sicher, ob dies möglich ist!
  • Zwei Modelle, eines des Raumschiffs außen und eines des Innenraums mit umgedrehten Normalen, wenn im Spiel das Innenmodell innerhalb des Raumschiffnetzes platziert wird, aber das wäre nicht sehr flexibel (unterschiedliche Raumschiffgrößen, Rumpfdicke usw.)
  • Bei zwei Modellen wird der Bildschirm ausgeblendet, wenn ein Spieler das Raumschiff betritt, und seine Ansicht wird auf das Innenmodell umgeschaltet, in dem die Fenster Live-Render-Texturen ihres jeweiligen Platzes auf dem äußeren Teil des Raumschiffs sind. Dies wäre jedoch nicht sehr optimiert ( Rendern auf mehrere Texturen) und hätte nicht die Gameplay-Ästhetik, das Schiff reibungslos zu betreten oder zu verlassen (möglicherweise durch Explosion)

Also, GameDev, wie würden Sie das angehen?

jshxe
quelle
2
Können Sie mehr darüber erklären, wie Sie dies implementieren möchten? Kann der Spieler das Schiff nahtlos verlassen? Wenn die Tür / Luke geöffnet ist, können sie das Äußere und das Innere sehen?
MichaelHouse
1
Das ist die Frage, Byte56, ich möchte, dass der Spieler das Schiff nahtlos verlässt und betritt, aber es hängt von der Art der Implementierung ab.
Jshxe
2
Wie groß ist das Schiff? Wenn Sie ein oder zwei Modelle sagen, meinen Sie ein oder zwei Maschen? Ich würde mir vorstellen, dass Sie viele Maschen verwenden müssten, um ein Schiff von einiger Größe zu bauen. Es sei denn, Sie sprechen von einer Kapsel.
1
Es gibt viele Schiffe unterschiedlicher Größe, von kleinen Kapseln bis hin zu Riesenkreuzern, aber mit Modellen meine ich die Gesamtform des Schiffes, sei es die Innenform oder die Außenform. Wenn das Sinn macht. @Erik
jshxe
StarQuest Online hat dies bereits.

Antworten:

13

Die erste Option ist, was ich verwenden würde. Ein Modell für alles. Es ist durchaus möglich, ein Modell innen und außen zu haben. Genauso wie es möglich ist, konkave Formen zu haben. Es gibt keine doppelten Normalen oder doppelseitigen Gesichter. Stellen Sie sich so eine Scheibe aus einem beschissenen Schiff vor:

Geben Sie hier die Bildbeschreibung ein

(Ich habe keine Ahnung, warum der Boden nicht flach ist, das habe ich erst gemerkt, nachdem ich ihn gepostet habe ...)

Schwarze Linien sind Gesichter, rote Linien sind Normalen. Die Oberflächen wickeln sich um. Dies ermöglicht es Ihnen, unterschiedliche Rumpfdicken zu haben, wodurch Innenräume blockiert werden, in denen sich die Motoren befinden. Die Türen lassen sich leicht als separate Teile platzieren (da Sie sie wahrscheinlich trotzdem bewegen möchten).

MichaelHouse
quelle
5
(Wer braucht flache Böden, wenn es keine Schwerkraft gibt!)
Roy T.
Ich habe nicht gedacht, dass dies möglich ist, aber ich denke natürlich darüber nach! Tolle Illustration, danke.
Jshxe