Engine-Aufbau

Win-Tuning-Portal.de
Verfügbare Informationen zu "Engine-Aufbau"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: marcus86 - rub
  • Forum: Win-Tuning-Portal.de
  • Forenbeschreibung: zusammen unschlagbar !
  • aus dem Unterforum: 3D Engine
  • Antworten: 15
  • Forum gestartet am: Dienstag 15.08.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Engine-Aufbau
  • Letzte Antwort: vor 17 Jahren, 7 Monaten, 13 Tagen, 23 Stunden, 29 Minuten
  • Alle Beiträge und Antworten zu "Engine-Aufbau"

    Re: Engine-Aufbau

    marcus86 - 12.09.2006, 16:31

    Engine-Aufbau
    Hi und Hallo,

    So, nun sollten wir die Engine mal aufbauen, wir haben ja eigentlich alles inkl. genug Stuff zum lesen,... ;)

    Machen wir 4 Ansichten? 1. von Oben, 2. von der Seite, 3. von Vorn und die 4. als 3D Ansicht zum drehen und bewegen.

    Wie machen wir z.b. die Ansicht von der seite? so, das wir die koordinaten festlegen können?!

    Mfg, Marcus



    Re: Engine-Aufbau

    rub - 12.09.2006, 17:08


    Müssen wir Ausprobieren und testen.

    Die Einstellung der einzelnen Sichten ist kein Problem, da müüsen wir nur den View dementsprechend einstellen, jedoch brauchen wir für jede Sicht einen Device. Jedem Device kann z.B. ein Panel oder eine PicBox zugewiesen werden.

    Aber : ich hatte das Problem, das mir der Rechner abgeschmiert ist, als ich auf 4 Views (nacheinander) gezeichnet habe.

    Für 4 Views benötigt mann aber auch z.B. 4 Vertexbuffer (wenn weniger wie 170000 Polygone dargestellt werden sollen. (Bei mehr Polygonen braucht mann natürlich mehr.))

    Andere Entwurfengines haben auch 4 Views, zeichnen diese allerdings mit GDI+.
    Finde ich aber doof, denn dann muss man auch noch lernen mit GDI+ umzugehen.

    Vieleicht entsteht das Problem aber auch nur bei Dot.Net?



    Re: Engine-Aufbau

    marcus86 - 12.09.2006, 17:13


    Genauso ist es.

    Aber wollen wir alle 4 Ansichten denn unbedingt in DirectX realisieren? Es reichen doch die Coordinaten in Listen zu schreiben und mit einfachen Linien beim laden diese aus den coordinaten heraus zu erstellen. Ich wüsste nicht wie das in 2 D gehen sollte mit DX8 ... außerdem brauch man für 3 Ansichten keine Texturen, kein Lightning etc. nur Linien, die verschiedene Farben haben (z.b. um ein fertiges haus zu einer grußße zu machen um dies später einfach kopieren und wieder etwas abändern zu können.



    Re: Engine-Aufbau

    rub - 12.09.2006, 17:21


    Ja, kann man schon so machen und das ist wohl auch die beste Lösung dafür.

    In DX geht das, indem mann z.B. die Projektion so verzerrt, dass es passt.
    Und die Linien müssten als Quader gezeichnet werden.



    Re: Engine-Aufbau

    rub - 12.09.2006, 17:27


    Als Textfile finde ich Ok, dann kann es ja jeder einlesen, wie er will.

    Ach was noch beachtet werden muss ist, dass Die Koordinaten in Y-Richtung, umgedreht werden müssen, denn bei GDI ist oben links 0,0 und unten rechts >0,>0



    Re: Engine-Aufbau

    marcus86 - 12.09.2006, 17:27


    Okay, aber etwas zu umständlich vielleicht, warum so viel Arbeit wenn man das mit Linien und PictureBoxen hinbekommt? ;) Manche sagen zu mir immer "Oh Gott, unprofessionell oder umständlich" ich finde es aber so besser.

    Wir müssen nichteinmal die Linien als Koordinaten abspeichern. Wir speichern die Welt bzw die Obejktgrußße (z.b. ein Haus) einfach in einer Tabelle. Eine witere Tabelle ist für die Welt und den Koordinaten wo die anderen Objekte eingefügt werden (z.b. unser Haus)

    Wie fangen wir an? Wo und wie machen wier das mit den Tabellen? ASP etwa? da kenn ich mich nicht aus. Eigentlich würde ne ini oder txt ja reichen, wird ja nur einmal geladen.

    Es ist wichtig das wir etwas synchron arbeiten, das bei fertigstellung unsere Engines miteinander kompatibel sind.

    Mfg, Marcus



    Re: Engine-Aufbau

    marcus86 - 12.09.2006, 17:31


    Ich würde sogar sagen, das wir im Pfad der Engine ordner erstellen, wo vordefinierte Objekte, Sounds, Texturen drin liegen, dann weitere Ordner Sounds und Texturen für den Benutzer, damit er all seine erstellten oder gesammelten daten da rein hauen kann um somit bei der engine leicht darauf zugreifen kann.



    Re: Engine-Aufbau

    marcus86 - 12.09.2006, 17:35


    Kannst du das näher an einem Beispiel erläutern?

    Zitat: Ach was noch beachtet werden muss ist, dass Die Koordinaten in Y-Richtung, umgedreht werden müssen, denn bei GDI ist oben links 0,0 und unten rechts >0,>0



    Re: Engine-Aufbau

    rub - 13.09.2006, 08:52


    Ja,

    also wenn im 3DRaum, das Koordinatensystem, z.B. lefthanded ist, dann ist das, wie wenn Du die linke Hand nimmst, den Daumen nach oben streckst, den Zeigefinger von Dir weg zeigt und der Mittelfinger nach rechts zeigt. Dann ist der Daumen die Y-Achse, der Zeigefinger die Z-Achse und der Mittelfinger die X-Achse. Jeder Wert wird in die jeweilige Zeige-Richtung größer.
    Bei Fenstern, Panels, GroupBoxen etc, also kurz bei allen Steuerelementen, mit denen man so programmiert, Zeigt der Daumen nach unten und der Zeigefinger nach rechts. Den Mittelfinger braucht man da nicht, weil die Z-Richtung ja nicht wirklich existiert (Bei Steuerelementen gibt es auch eine Z-Richtung, diese gibt jedoch nur an, ob z.B. eine TextBox vor, oder hinter einem Label liegt.)



    Re: Engine-Aufbau

    marcus86 - 13.09.2006, 16:01


    Ah verstehe,

    Wenn ich das z.B. in einer PictureBox zeichne, muss ich oben und unten einfach nur vertauschen. d.h.also wenn ich auf der Y Achse die Linie auf die Koordinate 100 setze, muss ich berechnen wie groß die Picturebox ist und das ergebnis minus die 100, so das in der PictureBox zwar 100 steht, in der Tabelle aber der Wert Picturegröße - 100 !

    Anderes ändert sich ja da nicht, Tiefe Z Breuch man bei der 2D ja nicht um die Linien zu zeichnen.

    Wir werden wir das erstellen? Also so, das der Benutzer dann die Linie bzw Rechteck,Dreieck,.. anklicken kann zum markieren und in der Gesamtheit oder nur die Eckpunkte einfach verschieben?


    Nun sind wir ja schon nen stück weiter, aber ersteinmal die koordinaten gezeichnet, umgerechnet und in die Liste für die richtige Achse bekommen. Wir könnten 4 Solcher listen machen, in jede kommen die Koord. für die jeweilige ansicht. in der 4. liste gibts es dann nur aus den anderen 3 Listen die richtigen koord. die dann als y,x,z gespeichert werden.

    Mfg, Marcus



    Re: Engine-Aufbau

    marcus86 - 13.09.2006, 18:24


    Ich habe nun folgende Gruppen / Untergruppen entwickelt:

    Objekte
    - Rechteck
    - Kreis
    - Dreieck
    - Quader
    - Kugel
    - Pyramide

    Sounds
    - Eigene Sounds
    - Vordefinierte Sounds
    -- - Titelmusik
    -- - Hintergrundmusik
    -- - Effekte
    -- -- - Effektgruppen (z.b. Wald, Pistolen, Wind, Wasser,...)

    Lichter
    - Maplicht
    -- - Einstellbare Itensität und Farbe
    - Spotlight
    -- - Einstellbare Itensität und Farbe
    - gedämpftes Licht
    -- - Einstellbare Itensität und Farbe

    Texturen
    - Eigene Texturen
    - Vordefinierte Texturen
    -- - Texturgruppen (z.B. Metal, Holz, Wand, Himmel,...)

    Animationen
    - Eigene Animationen
    - Vordefinierte Animationen

    Einstiegspunkte
    - PolyAnimiertes Model (Menschen, Tiere, Autos)
    - Eigener Einstiegspunkt (+ Kamera, Aufstellrichtung der Spielfigur)

    Videos & Clips
    - Eigene Videos

    vordef. Modelle
    - (Polymodelle wie Autos, Menschen, Tiere, ...)

    eigene Modelle

    vordef. Objekte
    - (z.B. Häuser, Stühle, Tische, Lampen, Türen, ...)

    eigene Objekte
    - (selbsterstellte Objekte einfach komplett einfügen)

    eigene Objekte
    - (Platz für eigene Dinge)


    Das kann ja auch beliebig erweitert werden. Wie findest du es?

    Machst du nun .NET weiterhin oder machen wir das nun lieber in VB6 ? Ich weiß nicht richtig wie ich das mit den koordinaten machen sollte.

    Mfg, Marcus



    Re: Engine-Aufbau

    rub - 14.09.2006, 09:02


    So weit ok, aber ich weiß nicht, ob wir Sounds/Videos/Bilder, Texturen etc. verwenden sollten, die nicht von uns sind. Irgendwann krigen wir damit probleme (rechtlich). Für den Anfang ist es kein Problem, aber irgendwann müssen wir die selber machen.

    Zu den Modellen:
    Bones sollten eingebaut werden können, damit mann die Bewegungen programmieren kann.

    Unterteilung von Objekten :

    1: Bodenfläche des Levels (sollte beim Rendern natürlich auf den Sichtbereich geschnitten werden, so dass nicht alles gezeichnet werden muss). Auch für Bewegungen der NPC's (nonPlayerCaracters) werden diese Koordinaten benötigt, damit die Figuren auch auf dem Boden bleiben :-)
    Das Könnte auch über zig Würfel erledigt werden, aber mit der Fläche finde ich viel besser.

    2: Einfache Objekte (Würfel, Kugel, etc.) (Fest)
    Diese Objekte sollten in einer anderen Tabelle wie die Bodenflächentabelle geführt werden.

    3: Bewegte Objekte (wobei aus einem FestenObjekt ein bewegtes werden kann) Sollten auch in einer weiteren Tabelle geführt werden.

    4: Sprites / Effekte
    Müssen wir sehen (Nebel (also Ortsbezogen, nicht der für das Ausblenden in die Weite), Feuer, Explusionen, etc.)



    Re: Engine-Aufbau

    marcus86 - 14.09.2006, 16:13


    Im Punkt 1 wurde erwähnt das der Boden auf Sichtweite geschnitten wird.

    Ja okay, aber kann man die von Direct X 8 gegebene Sichtweite nicht erweitern? Irgendwie seh ich dann nur noch schwarz weiter hinten, obwohl ich eine Mauer mit Textur habe.


    Zu den Texturen:
    Mein Bruder und ich würde mit der Cam mal ein wenig auf "Texturjagt" gehen und welche machen. Das Problem ist die Auflösung, Winkel der Cam und der Textur Struktur und vorallem das Licht (Wenn man es nebeneinander anordnet, sieht man einen Übergang)

    Sounds mach ich selber, habe viele Möglichkeiten dazu. Bei Videos siehts schon shclechter aus.
    Wir können auch keine Texturen, Sound, Vidseos etc. klauen, das macht man nicht und ärger will auch keiner. Das was frei zur Verfügung steht und was wir selbst machen, wird verwendet.

    Bones - du meinst sicher damit High Polygons - wie Menschen, Tiere, Autos und andere Gegenstände die richtig Modeliert werden müssen. Das diese sich auch noch bewegen, verdrehen, knicken oder verbiegen wird schwer, sehr sogar. Ich wüsste nicht wie ich dies machen sollte.

    Machen wir auch eine Physik ? z.b. Auto-Fahrphysik, oder wie Menschen laufen und evtl umfallen.
    Wetterübergänge, Sonne + Strahlen sowie Regenbögen und 3D bewegende und sich ändernde Wolken...
    oh jeh.

    Es gibt viel zu tun, biosher haben wir 0,05%

    Mfg, Marcus



    Re: Engine-Aufbau

    rub - 14.09.2006, 16:26


    >>Im Punkt 1 wurde erwähnt das der Boden auf Sichtweite geschnitten wird.

    >>Ja okay, aber kann man die von Direct X 8 gegebene Sichtweite nicht erweitern? Irgendwie seh ich dann nur noch schwarz weiter hinten, obwohl ich eine Mauer mit Textur habe.

    Habe ich anderst gemeint. Wenn wir eine riesige Fläche haben, dann sollte nur das in den Vertexbuffer geladen werden, was man auch sieht, egal wie weit mann sieht, so dass die GraKa nicht zu viel stress bekommt.

    Das mit der Exe-Erstellen, sprich mit dem Compilieren habe ich mir ganz anderst vorgestellt.
    Ein Compiler zu schreiben, der uns das auf Maschienencode compiliert ist richtig schwierig und außerdem muss mann für ein Game immer Quelltext schreiben, z.B. um gegenstände zu bewegen etc.
    Desshalb sollten unsere Entwicklungstools so sein, dass diese als fertige Exe laufen und uns dementsprechende Textfiles, z.B. mit den Koordinaten, Angaben für Texturen, etc. erstellen. Beim Spielprogrammieren soll der Progger einfach die VB-Entwicklungsumgebung, in Kombination mit unseren DLL's benutzen.
    Über die DLL's bzw. deren Funktionen und Propertys können dann die Objekte, welche in ein Textfile geschrieben wurden geladen werden.
    Somit kann der Progger alles machen, was er will.

    Ich hatte mich mal am 3DGamestudio versucht. Die haben solch einen Compiler integriert und den Code schreibt man in ein Textfile. Das Problem ist nur, da dieser Compiler mit einer C-Script-Sprache von dieser Firma arbeitet, ist es kaum zu verstehen und mann kann nichtmal einen Array richtig anlegen.



    Re: Engine-Aufbau

    rub - 14.09.2006, 16:50


    Hier noch ein Mathelink, in dem eigentlich alles drinn ist, ich muss es aber auch erst mal wieder kapieren.


    http://www.matheboard.de/thread.php?threadid=580



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Win-Tuning-Portal.de

    Blog - erstell auch Du deinen Blog ! - gepostet von marcus86 am Donnerstag 08.03.2007
    Ich bin wieder zurück - gepostet von forza_duisburg am Donnerstag 10.05.2007
    Neuaufbau Shop - gepostet von marcus86 am Freitag 05.01.2007
    Design 11 OnLine :) - gepostet von marcus86 am Samstag 17.02.2007
    [HTML] - Textmarken erstellen + Zugriff - gepostet von marcus86 am Dienstag 15.08.2006
    Abspielen von Videos über DirectX - gepostet von rub am Donnerstag 21.09.2006



    Ähnliche Beiträge wie "Engine-Aufbau"

    Zum Aufbau - killmore (Mittwoch 05.07.2006)
    Aufbau - corvinus (Freitag 18.05.2007)
    Aufbau T-REX HDE - KaHo (Dienstag 28.11.2006)
    Dragon Kensai without duels - GFC (1st Kotei Madrid) - Irc (Samstag 14.03.2009)
    Für den Aufbau (welche Einheiten zuerst?) - Xaphan (Dienstag 03.10.2006)
    Aufbau eines Acc - Uglylama (Samstag 16.06.2007)
    itemloss durch engine.exe? - Eder (Sonntag 04.02.2007)
    Aufbau eine CM-Leaderrates - Serena (Mittwoch 29.06.2005)
    aufbau - moler (Donnerstag 22.02.2007)
    Forum aufbau - administrator (Donnerstag 25.05.2006)