Begehbare virtuelle Welten
-
Hallo Comunity,
ich würde gerne ein Gebäude "begehbar" machen. D.h. cih würde gerne ein existierendes Gebäude so virtualisieren, dass ich mich mit Hilfe von Maus und Tastatur durch das Gebäude bewegen und ggf. Aktionen (z.B: Licht einschalten) ausführen kann.
Jetzt stellt sich im ersten Schritt natürlich die Frage nach der Technik.
Grundsätzlich ist eine komplette Programmierung z.B. mittels OpenGL möglich, auf der anderen Seite wäre auch eine komplette Modellierung mit Hilfe von Maya/ CinemaCD/Blender/... möglich.Ich hab auch schon an VRML gedacht, was sich eigentlich gut anhört aber nicht wirklich weiterentwickelt wird (wie es mir scheint).
MAn könnte natürlich auch "den goldenen Mittelweg" wählen, indem man gewisse Teile modelliert und dann entweder in eine OpenGL/GLUT-Umgebung lädt bzw. ins VRML-Vormat konvertiert und den Rest programmiert.
Welchen Weg haltet ihr am geeignesten bzw. welchen Weg würdet ihr wählen?
Ich bin gespannt, ob mir eure Antworten den Weg in "die richtige" Richtung weisen können.
Viele Grüße,
mtx
-
Was soll daraus werden? So wie du es schilderst wuerde vielleicht auch ein CAD-Tool genuegen...
Und es gibt meines Erachtens auch Programme, mit denen man sowas simulieren kann, die nix kosten... Schau doch einfach mal in sowas rein, ob's fuer deine Zwecke taugt.
Wenn du nur drin herumlaufen moechtest, dann finde ich das selbst Programmieren mittels OpenGL allerdings viel zu aufwaendig.
-
Hallo </Exit>,
vielen Dank für deine Antwort.
Was soll daraus werden?
In erster Linie soll es eine Projektidee sein, da mir noch ein Projekt innerhalb des Bachelor (Informatik) fehlt. Das Projekt sollte für eine kleine Gruppe von Kommilitonen ausgelegt sein. Daher würde ich gerne auf pure Modellierung per CAD-Tool verzichten und eine Mischung zwischen Modellierung und Programmierung bevorzugen.
Als Sekundärziel soll natürlich auch was ansehnliches dabei herauskommen, was sich auch erweitern lassen soll. Zunächst könnte z.B. ein Gebäude fertiggestellt werden. Später könnten weitere Gebäude folgen und schließlich könnte daraus ein kleines Spiel werden.Viele Grüße,
mtx
-
Also wenn du es ggf. erweitern willst, kommst du denk ich um OpenGL (o.ä.) nicht herum.
Die Frage ist wie viel Aufwand du dir machen willst. Ich denke pur OpenGL ist viel Aufwand (dafür sollte alles möglich sein).
Wenn du dagegen eine Mischung OpenGL und einem Tool nimmst gibt's schneller was zu sehen, aber ich könnte mir vorstellen, dass man nicht alles umsetzen kann.
(je nachdem wie viel du mit dem Tool machst)Hast du dir schon mal Mesh-Objekte (Mesh-Editor - denke darauf wird's rauslaufen) angesehen und ein paar einfache OpenGL-Programme? Dann kannst du denk ich den Aufwand für pur OpenGl gut abschätzen...
Ansonsten würde ich an deiner Stelle einfach mal in dein bevorzugtes Tool reinschauenIst jetzt das was ich mir dazu so denke...
(aber ich hab bis jetzt noch nicht mit irgendwelchen Tools arbeiten müssen)
-
Bei der Verwendung von OpenGL stellt sich natürlich die Frage: Verwendet man für ein solches Vorhaben OpenInventor? Wird "üblicherweise" QT für die GUI verwendet?
Gibt es weitere Techniken, die relevant sein könnten?Das Laden von Modellen der Inneneinrichtung in OpenGL sollte nicht das Problem sein, denke ich.
Viele Grüße,
mtx
-
Das hängt davon ab wie groß/komplex der Kram werden soll. Irgendwas einfaches ist schnell mal gemacht wenn man etwas Ahnung von OpenGL hat, aber wenn das ganze über einen Bungalow aus Würfeln rausgeht und in Echtzeit laufen soll dann würd ich dir zu einer entsprechend geeigneten Engine raten. Desweiteren versteh ich nicht ganz wie du zwischen "programmieren in OpenGL" und "modellieren in Maya/Max/etc." abwägen kannst. Das sind doch zwei total verschiedene Paar Schuhe!? Wenn du das Zeug in einem Programm mit OpenGL darstellen willst müssen die Daten doch von irgendwoher kommen!?
-
Hallo dot,
naja ich kann in OpenGL alles durch texturierte Primitive darstellen (wobei man da um einen vernünftigen Szenengraph nicht rum kommen wird) oder eben Modelle aus externen Tools laden.
Könnte es tatsächlich Probleme mit Echtzeitfähigkeit geben, in einem einzigen Raum? Man muss ja nicht unbedingt alles immidiate zeichnen und die Texturierung und Beleuchtung kann nicht so rechenintensiv sein, oder?
Viele Grüße,
mtx
-
Naja ein einzelner Raum wird schon gehen, je nachdem wie detailreich eben. Mit nem ganzen Wolkenkratzer schaut die Sache dann halt schon etwas anders aus...
-
Den muss man ja nicht die ganze Zeit im Speicher halten
-
Natürlich. Worauf ich hinauswollte: Für größeren Kram isses eben nimmer einfach nur 34526 Dreiecke malen sondern man wird komplexere Algorithmen/Datenstrukturen brauchen um das ganze zu managen, was sehr schnell mit einem gewissen Aufwand verbunden ist und entsprechendes Wissen voraussetzt. In Echtzeit durch nen Wolkenkratzer laufen ist jedenfalls nix was man mal an nem Sonntag Nachmittag so from scratch runtercodet..
-
Da stimme ich dir natürlich zu. Aber es geht um 3-4 Studenten und ein komplettes Semester.
Allerdings bin ich jetzt immernoch nicht viel schlauer. Welche Engine könntest du denn empfehlen? Ich hab bisher noch keine benutzt, wie muss man sich das vorstellen? Welche Arbeit wird im Vergleich zum Programmieren "von Hand" abgenommen?
Viele Grüße,
mtx
-
Such dir eine aus:
http://en.wikipedia.org/wiki/List_of_game_enginesDen Link hab ich grad in nem anderen Thread gefunden und fand ihn selbst ganz hilfreich um mal einen Überblick zu bekommen...
Denke was man wählt ist Geschmackssache (gerade bei überschaubaren Projekten).