Grünflächen

  • Momentan arbeite ich an Gras und Buschwerk, welches sich im Spiel selbst dann wie im Wind bewegt.


    Ein Demovideo dazu habe ich bereits am Samstag hochgeladen. Hier geht's zum Video: https://www.youtube.com/watch?v=TByYC-S85Z8


    Um die dichten Grasflächen zu erzeugen habe ich Dale's Grasobjekt (DL_kaka2.bin) verwendet. Wenn man Performance einsparen will, kann man hierfür auch das DL_kaka.bin Objekt nehmen, welches allerdings eine nicht so dichte Grasfülle hat. Um mein erwünschtes Ergebnis an Grasfülle (wie im Video) zu erzielen muss ich das DL_kaka2.bin Objekt in DromEd sogar 4-Fach an einer Stelle nutzen. Hier kommt die Dark Engine, trotz New Dark Patch, bei größeren Grünflächen dann schnell an ihre Grenzen...


    Jetzt kam mir aber eine Idee! Vielleicht schafft man es, dass die Grasflächen immer erst ab einer bestimmten Entfernung eingeblendet werden. So könnte man dann im Grund überall Grasflächen verteilen und diese erst ab einer bestimmten Entfernung erscheinen lassen. Das Problem ist aber vermutlich, dass die Dark Engine erst dann entlastet wird, wenn die Objekte davor garnicht erst gerendert werden. Erst nach dem erscheinen werden diese gerendert. Vielleicht kann man hier auch mit einem Trick arbeiten. Vielleicht so, dass das Grasobjekt zuerst ein komplett Polygonarmes Objekt ist und ab einer bestimmten Entfernung des Spielers sich dann in ein Grasobjekt verwandelt. Geht das irgendwie?

  • NewDark hat LODs eingeführt
    Shape--Model LOD
    Damit kannst du ab bestimmten Entfernungen Low Poly Objecte einblenden lassen (oder solche, die kaum/gar keine Polys haben).
    Leg die Einstellung auf die Archetypen. Wenn die Shapes reihum gehen, muß man eventuell das in neue Archetypen schreiben und ebenso behandeln.


    Außerdem gibts noch
    Renderer--Distance Alpha


    Hier hatte ich mal aufgeschreiben, wie es mit den LODs geht

  • Ich finde das Ergebnis auch sehr beeindruckend. :thumbup: Im ersten Moment dachte ich, "das kann doch gar nicht mit der alten Engine sein, das sieht ja aus wie in 'TES IV: Oblivion'!" 8o


    Bei dem Gras zu Beginn gefällt mir die erste der beiden Versionen ("type 1") besser, bei der zweiten scheint die Bewegung nicht mehr so zufällig zu sein, und ich habe immer wieder den Eindruck, dass sich zwischen die detaillierten Gras-Bilder auch mal "matschige" mischen, auf denen die Details im Matsch verschwinden. In der zweiten gezeigten Szene sieht es bei "type 2" auch aus, als ob die Grasbewegungen sehr regelmäßig sind. Ich fühlte mich sofort erinnert an die Betrachtung des Fells einer schlafenden Katze. Wenn die regelmäßig atmet, bewegen die Fellhaare sich da ähnlich.


    Ich weiß aber weder, ob mich mein Eindruck da trügt, noch ob das vielleicht durch die Kodierung und Wiedergabe des Videos bedingt ist.


    Außerdem... als (nicht so stolzer;)) Besitzer einer popligen Intel-Onboard-Grafik auf dem einzigen für NewDark geeigneten Rechner frage ich mich, wieviel Grafikkarten-Leistung man für sowas braucht. Kannst du dazu schon was sagen? (Die Antwort sollte dich aber nicht von der Weiterentwicklung dieses Mods abhalten, es haben garantiert diverse Spieler bessere Grafikkarten als Onboard-Notlösungen. Spätestens die reißen dir das Ergebnis bestimmt aus den Händen, wenn es gerade mal fertig ist. :D )


    Diese Sache mit den LODs hat wohl auch Soul Tear schon ausprobiert, siehe hier auf TTLG.COM. Vielleicht kann er dir dazu ja ggf. auch noch was sagen.

  • Für eine sehr große FM mit riesiger Sichtweite sind die unverzichtbar (die Originalmissionen haben das nicht). Ich habe´meine aktuelle FM mit Sichtweiten um die 1800 DU in den letzten Wochen ziemlich komplett auf LODs umgestellt. Anders gehts gar nicht, weil alles voller Objekte ist (Bäume, Büsche, Gras, Felsen, usw). Ersparnis: etwa 10-20 FPS, je nach Standort.
    Es ist aber viel Arbeit, wenn man die LODs nicht auf die Archetypen legen kann. Man muß also früh dran denken.

  • Danke fibanocci! Ich habe das nie bemerkt mit dem LOD-System. Ist aber, wie ich bemerkt habe, erst ab NewDark 1.23 verfügbar. Aber das ist so super geil :D



    Danke für deinen Beitrag Baechlein.


    Ich finde, dass man auch bei Typ 1 die Wiederholung der Bewegung bei kurzer Beobachtung genau sehen kann. Störend finde ich es aber momentan nicht. In erster Linie ist es eher überraschend, dass die Engine (dank NewDark) das überhaupt kann. Das die Bewegungen nicht großartig variieren können, solang das 99 Frames Limit für eine Animation nicht nochmals erhöht wird, ist ganz klar. Ich kann nun mal nur 99 verschiedene Frames nehmen. Aber hey, früher waren nur 20 Frames möglich!


    Zu deiner Frage wegen der Grafikkarte kann ich leider momentan nicht viel sagen. Denn meine Karte ist mittlerweile auch von 2009 und somit schon ganz schön alt. http://www.gamestar.de/hardwar…_im_test,160,2310622.html Da mir auch keine weiteren PC-Systeme zur verfügung stehen kann ich da leider garnichts testen.


    Im neuen Testvideo sieht man eine simple Demonstration der LODs: https://www.youtube.com/watch?v=9WliUnxaKcs


    Diesen PopUp Effekt der Objekte kann man alleine schon dadurch verbessern, indem man das Low-Poly Objekt in der selben Größe erstellt wie das aus der Nähe angezeigte Objekt. In meinem Testvideo ist das LOD-1 Objekt nämlich kleiner, was nicht so gut ist. Auch habe ich im Testvideo für das LOD-1 Objekt nicht die selbe Textur verwendet wie für das LOD-0 Objekt. Es sieht optisch auch besser aus wenn man die selbe Textur nimmt. Das war nur um es im Video besser zeigen zu können.


    Auch ich konnte durch Nutzung des LOD-Systems 15-20 FPS bei größeren Grasflächen einsparen. Somit hatte ich durchgehend 60 FPS. Allerdings waren auch keine weiteren Objekte im Bild außer das Gras...

  • Ich finde, dass man auch bei Typ 1 die Wiederholung der Bewegung bei kurzer Beobachtung genau sehen kann. Störend finde ich es aber momentan nicht. In erster Linie ist es eher überraschend, dass die Engine (dank NewDark) das überhaupt kann. Das die Bewegungen nicht großartig variieren können, solang das 99 Frames Limit für eine Animation nicht nochmals erhöht wird, ist ganz klar. Ich kann nun mal nur 99 verschiedene Frames nehmen. Aber hey, früher waren nur 20 Frames möglich!


    Kann sein, dass man es auch bei Typ 1 irgendwann sieht. Mir fiel es nur bei Typ 2 recht schnell auf. Falls noch mehr Leute diesen Eindruck haben, könnte man ja darauf reagieren. Ansonsten nimm' halt, was dir besser gefällt, oder was weniger performance-hungrig ist.


    Zu deiner Frage wegen der Grafikkarte kann ich leider momentan nicht viel sagen. Denn meine Karte ist mittlerweile auch von 2009 und somit schon ganz schön alt. [...]


    Eine Radeon HD 5970 also. Nun, laut dieser Vergleichsliste ist das ja gar nicht sooo übel, schon gar nicht für 'ne acht Jahre alte Karte. Das Intel-Ding von mir kriecht ganz grob auf dem Niveau einer 13 Jahre alten Radeon 9550 herum, die viel viel tiefer in der Liste steht... :whistling:


    Na egal. Das sehen wir dann, wenn die ersten Missionen damit mal 'rauskommen. Wenn dann so Kerle mit Mistgabeln, Teer und Federn vor deiner Tür stehen, weißt du, dass dein Projekt viel Grafikleistung frißt. :D


    Das neue Testvideo ist auch recht interessant, auch wenn es durch die verschiedenen, von dir genannten "Mängel" z.T. etwas künstlich wirkt. Aber so lief das mit dem bereits erwähnten Gras in "Oblivion" damals auch: Erst, wenn man auf eine bestimmte Entfernung an eine Wiese 'rankam, war -plopp!- plötzlich das Gras da. Vorher war's allerhöchstens eine grüne Fläche ohne Vegetation drauf. Da ist deine "mal eben schnell" hingebastelte Demo schon ähnlich gut. :thumbup:


    Ich schätze, mit diesem neuen LOD-System müssen die Autoren jetzt eh erst mal herumexperimentieren. Wenn man dann die Schwächen dieses Systems kennt, kann man vielleicht auch durch geschickte Konstruktion der Mission vermeiden, dass der Spieler diese Schwächen überhaupt mitkriegt. Ist z.B. eine riesige Sichtweite immer noch ein Problem, dann muss man halt das Terrain so hin-tricksen, dass diese Sichtweite nicht auftritt. Früher haben ja schon mal Autoren einen Wald simuliert, indem sie vorne "echte" Bäume hinstellten und hinten einfach eine Wand, über die sie eine Wald-Textur machten. Kommt der Spieler nicht zu nah an die Wand 'ran, sieht das einigermaßen überzeugend aus.


    Ich bin auch mal gespannt, wie das mit der Sichtbarkeit des Spielers für die AI's aussieht. Wenn z.B. der Spieler hinter 'nem Busch mit viel herumwackelnden Blättern steht und sich gut versteckt wähnt (oder im Gras liegt und dasselbe glaubt), könnte es überraschen, wenn dann 'ne Wache ihn schon aus 1 km Entfernung ohne Brille sieht und anrückt. Aber diese Überlegung ist wohl eher was "für später", wenn denn mal konkrete Missionen/Szenarien anstehen.


    Na, mal sehen, was dieser neue "Bewuchs" in Kombination mit LOD-System bringen wird. Womöglich kriegen wir dann irgendwann mal eine große Menge an Missionen in freier Natur serviert. Vielleicht gar einen "Nature and Green Party contest"? :thumbup:

  • Wird das von der Grafikkarte berechnet? Meine Grafikkartenlüfter stehen bei Thief 2 FMs immer still. Auslastung sehr gering. Meine Graka ist aber auch ziemlich neu.
    Der Prozessor ist schon belastet - muss man halt mal testen wie stark es die GPU(Grafikkarte) auslastet.


    Ach ja Gecko: Mach weiter so :thumbup: :)

  • Aber ganz bestimmt wird das von der Grafikkarte berechnet. Du kannt es ja mal testen
    1. Thief 2 in einem Fenster ausführen lassen (Force Windowed in cam_ext.cfg einschalten, die Auflösung im Spiel etwas geringer einstellen, damit du daneben noch was sehen kannst)
    2. Irgendein Programm, wie GPU-Z oder HWInfo starten und das Fenster platzieren, nach den Werten für die GPU Ausschau halten
    3. Diese wundersame FM "The Farm" starten und zum Maisfeld gehen. Und schon hat die Karte sichtbar was zu tun.

  • Die GPU taktet hoch, Auslastung immer nur kurz für Sekundenbruchteile erhöht - Durchschnittliche Auslastung im 1-stelligen Bereich. Die FM läuft nicht an allen Stellen 100% Flüssig.


    @ Gecko du könntest ja den Wind simulieren, also die Stärke und Windrichtung soll sich ändern, das beeinflusst dann auch die Pfeile die man schießt. Zudem sollten auch die Haare von den Menschen und Tieren im Wind wehen. Die du natürlich erst einbauen musst :D - Wenn eine Mine explodiert soll man die Druckwelle im Gras sehen und Laub davon fliegen etc. - Und ein Geruchssystem, manche Lebewesen sollten dich erschnuppern können, was natürlich vom Wind beeinflusst wird und... ok ich hör auf :D
    Spaß beiseite: ich finde es eine sehr gute Arbeit die du da machst :)

  • Natürlich ist das eine Momentaufnahme. Der Bratzen muß zunächst gerendert werden, dann ist erstmal Ruhe im Karton. Wie ich sehe, ist die maximale GPU Auslastung bei 99% (HW Info). Stammt das aus Thief oder warst du vorher in einem monströsen Ballerspiel unterwegs?

  • Es lief nur Thief 2, Browser und ein paar andere Dinge ;) - GPU-Z hat mir bei max. sogar 100% angezeigt
    Hab das Programm gerade am laufen während ich diesen Beitrag schreibe, Der Wert der vorhin auf 99% war ist nun auf 75% - ohne Thief
    hab es gerade getestet: wenn GPU-Z auch läuft bleibt der Wert weit unten, ohne Thief 2 - bei GPU-Z ist der aber dann bei 76% ^^
    Wie du bei GPU-Z siehst geht die GPU-Load immer wieder mal kurz hoch.


    Hatte es vorher bei: "Das Herz der Edelsteine: Nacht des roten Mondes" getestet - da sehen die Werte ähnlich aus
    Wenn es genauer sein soll, dann kann ich ja mal alles beenden was nicht gebraucht wird.


    Also die Grafikkarte wird belastet, aber immer nur sehr kurz.
    Im Durchschnitt ist das so wenig, dass sich die Grafikkartenlüfter nicht mal zum Drehen anfangen.

  • Interessant. Ich habe meiner Möchtegern-Grafikkarte (Intel On-CPU-Grafik) jetzt mal das Maisfeld der Farm serviert und auch aus "Keeper of Infinity II", Mission 1, den Wassergraben mit Gischt sowie das erste Loch in der Stadt mit dem Staub drumherum. Letztere beiden Szenen ruckeln bei mir schon heftig und lassen den Lüfter des Notebooks nach kurzer Zeit aufdrehen.


    GPU-Z, was ich nur bei "Keeper of Infinity II" laufen ließ, zeigt dort immer wieder kurzzeitig hochgehende Werte (und direkt danach wieder deutlich kleinere, dann wieder den hohen, usw.) für die Grafikauslastung an.Die zeitlichen Abstände zwischen den Spitzen sind aber geringer als beim Ionisator; ich habe immer einen hohen Wert, dann einen niedrigen, und dann geht's wieder beim hohen Wert los. GPU-Z und Hwinfo zeigen als Maximalwerte beim Gischtwasser und einer 800x600-Auflösung im Fenster bis knapp über 80% GPU-Last an, beim Staubloch meistens nur bis ca. 50%. Die "Sprünge" wie bei GPU-Z kann ich bei Hwinfo aber nicht in der Anzeige sehen. Bei GPU-Z lese ich hier "GPU Load" ab, bei Hwinfo "GPU D3D Usage".


    Im Maisfeld gibt's mit 640x480-Auflösung im Fenster laut Hwinfo maximal 19% GPU-Last, mit 800x600 dann schon bis zu 22%. Auch bei "Keeper of Infinity II" steigt die GPU-Last etwas mit steigender Auflösung; hier erreiche ich mit 1360x768 dann auch mal 100% Maximallast.


    Wie Ricebug mal auf TTLG.COM erwähnte, geht die Intel-Grafik also bei Partikeldarstellungen in die Knie, sonst geht's aber. Jedoch können bereits bei ca. 50% GPU-Auslastung schon deutliche Ruckelorgien (und entsprechende Lüftergeräusche im armen kleinen Notebook) auftreten. Womöglich ist der konkrete Wert der GPU-Last dann gar nicht mehr so wichtigm für's Spielerlebnis, und man kann diese Werte nur bei bekanntem Rechner direkt den Folgen für das Spielerlebnis zuordnen.


    Und wenn sich dann noch herausstellen sollte, dass unterschiedliche Grafikkarten mit dem Maisfeld, Staub und Gischt, oder aber auch Geckos LOD-Welten völlig verschieden reagieren, dann wird's echt schwierig.

  • Meinst du mit den Geräuschen, dass die Lüfter deines Rechners aufdrehen und Geräusche machen? Eventuell hilft es da, in der cam_ext.cfg das Anti-Aliasing abzustellen. Dazu suchst du nach einer Zeile, die meistens "multisampletype 8" enthält (andere Werte statt 8 wären auch möglich), und setzt vor diese Zeile ein Semikolon (";"). Zumindest bei meiner Intel-Grafik im Notebook hat das bei einigen Szenen in "Keeper of Infinity II" geholfen, bei nur geringer Verschlechterung der Grafik-Anzeige.