Omvi3dx / Omovi3d
Omsi 3D-Model- & Textur-Viewer, Converter und Editor
0. Einführung und Vorwort
Bevor ich mein Projekt erkläre, möchte ich erstmal auf ein paar Sachen hinweisen. Erstmal vorweg, ich weiß, dass es inzwischen mein
drölftes Projekt ist, und ich erst andere Projekte fertigstellen soll, bevor ich mit irgendetwas neues ankomme, nur das hier ist etwas
sehr spezielles, die anderen Projekte sind noch am Leben, von daher - alles ok. Bei diesem Projekt habe ich nur eine Baustelle getroffen.
1. Das Projekt und die Baustelle
Seit einiger Zeit arbeite ich an einem 3D-Model- und Textur-Viewer, spezialisiert auf Omsi-Typen wie Direct3D X-Modelle (.x-Dateien), DirectDraw-Surfaces (.dds-Dateien), und verschiedene
andere Modelformate (.obj, .blend, usw.) sowie Bitmap- und Texturformate. Soweit so gut, unten findet ihr schon ein Screenshot, wo ich ein 3D-Model aus der Tauschbörse geladen habe.
Soweit so gut. Leider traf ich auf eine Baustelle - und zwar bin ich mit den Sachen aus der Tauschbörse für Tests sehr limitiert. Ich kann nur Modelle benutzen, die noch irgendwo als X-Datei rumliegen, oder irgendwelchen Tauschbörsenmodellen, welche auch nicht etwas ganzes sind. Von daher kann ich wenig testen, das es auch wirklich 100% funktioniert, und auch 100% korrekt ist - nicht das es am Ende
irgendwas kaputtes ausspuckt.
An sich funktioniert die ganze Basis des Programms. Ich kann Materialien modifizieren, Texturen laden, generell jegliche Modelle laden, von Blender-Dateien bis X-Dateien, mit einem vollwertigen 3D-Viewer,
wo man die Kamera bewegen kann, simple Animationen zur Darstellung des Modells usw.
2. Features und Roadmap
Ich habe relativ viel geplant, aber auch nicht allzuviel. Es sollte ein simpler 3D-Modelviewer sein, welches auch 3D-Modelldateien in dem DirectX X-Modellformat konvertieren kann, und zurück.
Natürlich kann man mit diesem Programm NICHT .o3d-Dateien öffnen oder entschlüsseln. Anyways, es unterstützt auch das Konvertieren und Laden von DirectDraw-Surface-Texturen (DDS),
z.B. um es in einer normalen PNG zu konvertieren, oder einfach zu schauen, ob die Textur auf dem Modell passt. Definitiv wird es aber unterstützen, Omsi-Konfigurationsdateien zu lesen und zu
schreiben (z.B. für Sceneryobjects, usw.). In der Zukunft schaue ich aber dann, was für Features noch reinkommen könnten.
3. Zurzeitiger Stand
Wie schon oben geschrieben, die Basis ist fertig, woran es gerade nur hängt, ist die extreme Limitation vom Debuggen und Testen, sowie nötiges Feedback für die UI, sowohl als auch Ideen für
Features, Polishing und noch weiteres. Der Renderer basiert auf DirectX (DirectX 11 um genau zu sagen) und unterstützt sehr viele Dinge wie Antialiasing, verschiedene Detailstufen für Texturen und
Modelle, sowohl als auch simple Post-Processing-Effekte. Materialien, Texturen und so weiter und so fort werden vollständig unterstützt. Dazu gibt es auch einen Software-Renderer für speziale Fälle.
4. Mein Hilfegesuch
So. Wie schon oben beschrieben, die Basis ist fertig - aber das Projekt ist auf keinen Fall reif für die Veröffentlichung, weshalb ich sehr dringend nach Tester und Mitglieder
suche. Die Alpha-Version würde dann auch relativ bald kommen, wenn ich genug Interessenten für dieses Projekt zusammenbekomme. Ob regulärer Omsi-Spieler, Freizeit-Modder
oder Content Creator, jeder ist willkommen. Vielleicht kann ja aus diesem Projekt viel mehr werden
5. Schlusssatz
Erstmal vorweg, ich weiß ich habe jetzt zwei Projekte angekündigt und sie nicht veröffentlicht bzw. ein Lebenszeichen gegeben, und es ist mir total bewusst das es echt nicht
geil aussieht und vorallem garnicht professionell rüberkommt, einerseits liegt es daran das ich an mehreren Sachen arbeite, andererseits liegt es einfach an meiner Motivation.
In den letzten Wochen habe ich sehr viel mit 3D-Rendering-Libraries rumgespielt und sehr viel Wissen angehäuft, wo ich dann auch relativ viel experimentiert habe. Daraus
ist dann dieses Projekt geworden, was ich auch fertigstellen will und wollte, aber ich schnell gemerkt habe, dass es sehr riskant und schwierig ist, nur ich als Tester zu haben,
das liegt vorallem daran, das es mehrere Modellformate unterstützt, nicht zu vergessen die Konvertierung der Modelle zu Direct3D X-Modellformaten und zurück. Da kann schnell
was untergehen, z.B. könnten aufeinmal Materialien fehlen, was ich nicht bemerken würde, aber ein fortgeschrittener Omsi-Modder schon. Da gibt's vieles was ich nicht sehen würde,
aber jemand der viel Erfahrung mit Omsi-Modellierung hat, schon. Ich möchte echt nichts kaputtes veröffentlichen, und vorallem etwas fertig nennen, was halb zusammengebastelt ist.
Ich hoffe ihr versteht dies, ich hoffe ich mach mich hier nicht unbeliebt, ich will echt gerne meine Projekte fertig machen, aber ab einer bestimmten Größe, ist es extrem schwierig,
als Einzelgänger etwas zu machen, vorallem für ein Simulationsspiel, die von der Community hochgehalten wird.
Ich hoffe ich konnte einige Fragen beantworten, ich hoffe dieses Projekt wäre evtl. interessant für euch. Ich freue mich sehr über jede Unterstützung.
- Lynn
Anwendungsspezifikationen:
3D Modell- & Texturviewer für Omsi-Formate
C#, .NET 5.0, DirectX 11
Unterstützte 3D-Modellformate:
.x (Direct3D X-Modelle), .blend (Blender), .obj, AC & STL-Modellformate
Unterstützte Textur- & Bitmapformate:
.dds (DirectDraw-Surfaces), .tga (Targa), .bmp (Bitmap), .png, .jpg, usw.
Render-Engine-Features:
Volle User-Input-supported 3D-Kamera, Shaders, Post-Processing, Anti-Aliasing, Wireframing,
Software-Rendering, Model-, Material- und Textur-Bearbeitung, usw.
Made possible with awesome Open-Source libraries.
SeeingSharp (DirectX-Engine), Pfim (DDS-Decoder), .NET (general Framework)