Online-Abo
  • Login
  • Registrieren
Games World
      • Von CodeInject Schraubenverwechsler(in)
        Zitat von XmuhX
        Naja, dafür das Voxel ja schon einige Jahre aufm Buckel hat und lange vernachlässigt wurde, sieht das ja schonmal ganz gut aus.
        Was mich allerdings stört ist dieses übertriebene Deept of Field, was man leider auch bei vielen heutigen Titeln sieht! Da habe ich immer das Gefühl ich hätte was auf der Linse, und kann nicht dann auch nicht lange hinschauen!!!
        Das DoF ist in diesem Fall notwendig um "verpixelte" bzw. "vervoxelte" Bereiche durch LoD-Sprünge zu verstecken.
        Zudem wird, wie in einigen Screenshoots zu sehen, ein Bloom-Shader bei nahen Objekten verwendet um zu vertuschen dass der Renderer auf eine niedrigere LoD-Stufe gewechselt hat, weil dem Renderer die Ressourcen ausgegangen sind.
        Quelle: (Letzter Absatz) Atomontage Engine - Dev Blog

        Zitat von SchwarzerQuader
        Prinzipiell halte ich sowas wie Voxelgrafik für erstrebenswert, da es (zumindest in meinem Kopf) eine realistischere Herangehensweise, also keine hohlen Gitterobjekte mit einseitig durchsichtigen Tapeten beklebt werden, sondern Objekte eben aus Teilchen bestehen (grob formuliert). Das größte Problem, das gegen den (baldigen) Einsatz einer solchen Engine spricht, wäre aber vermutlich nicht einmal die Hardware, sondern eher der gewaltige Umstieg, den solch eine Engine für die Programmierung bedeuten würde. Zahlreiche Erfahrungen bisheriger Modellierung wären nicht übertragbar, es wäre quasi nicht "abwärtskompatibel". Und das ist ja eine der Hauptblockaden in der Computerwelt überhaupt.
        Für die Entwickler wäre das wohl tatsächlich ein größerer Umstieg - ebenso für die Animierer, da bei Voxel-Animierung gerne mal Lücken entstehen.
        Für die Highpoly-Modeller dürfte es keine so große Rolle spielen, da diese mittlerweile auch sehr häufig mit Sculpting-Programmen arbeiten, die intern sowieso mit Voxeln arbeiten.

        Zitat von christian.pitt
        [...]da wäre "alles selbstmodellieren und dann dreidimensional einscannen" wesentlich einfacher, als das alles "von hand" zu modellieren
        Bei Voxel-Engines ist es üblich, ein Objekt in der gleichen Qualitätsstufe wie heute zu modellieren und weitere Details prozedural (on-the-fly via angepasster Algorithmen) zu generieren.
        3D-Modelle heutiger Spiele werden in wesentlich höherer Polygon-Zahl erstellt, als sie letztendlich im Spiel enthalten sind - sofern würde sich auch hier nicht allzu viel ändern.
        Schliesslich werden die höher aufgelösten Modelle fürs Baking benötigt, um Normal-, Displacement-Maps usw. zu erstellen, die wiederum Details erzeugen sollen, die man bei Voxel-Engines wegen des besseren LoDs von Haus aus hat .
        Hier ein Beispiel (nichts wurde modelliert, alles prozedural generiert): Procedural Voxel Terrain - YouTube

        Zitat von ruyven_macaran
        Faktor10 ist ziemlich genau passend, wenn man den von dir genannten Sprung von "100.000den" auf "Millionen" machen will. Ob ich die Position eines weiteren Voxels im Modell festlegen möchte, oder ob ich einen weiteren Eckpunkt platziere, der mit zwei benachbarten ein neues Polygon aufspannt - der Aufwand ist der gleiche und bei 10 mal mehr Elementen habe ich ihn ~10 mal häufiger. (Bei einigen einfachen Objekten wie z.B. einer perfekten Kugel gibt es natürlich keinen Unterschied, weil die Aufteilung automatisch möglich ist. Aber wenn ich ein unregelmäßig geformtes, detailiertes Objekt -z.B. eine Spielfigur habe- dann gibt es keine vereinfachte Formel, die die Form der Details beschreiben könnte. Die müssen alle von Hand kreeirt werden.)
        Lowpoly-Modeller setzen vll. jeden Vertex einzeln, aber von Highpoly-Modellern bei Spielefirmen erwarte ich eigentlich eher, dass sie auf Sculpting oder ähnliche Werkzeuge setzen, statt Vertex für Vertex einzeln zu platzieren.
        Und selbst für Anno 2070, bei dem Modelle lediglich von oben in größerer Entfernung sichtbar sind, wurden für die Highpoly-Varianten uber 900.000 (also fast 1 mio.) Polys verbraten.
        Quelle: (Absatz 7 u. 11, "ganze 2000 Polygone in LOD2" u. "Das Highpoly-Modell hat etwa die 370-fache Polygonanzahl") Entwicklertagebuch

        Grüße
      • Von Crysis nerd Freizeitschrauber(in)
        Ich hab mal, weil es jetzt schon das 2. mal ist, dass das alle so hypen, einen Artikel geschrieben, um mich nicht überall zu wiederholen:
        Nicht alles ist Gold, was glänzt: Atomontage Engine und Unlimited Detail - sebi707.de

        Das sieht immer alles toll aus, aber ich bin der Meinung dass es sich nicht in der Spiele-Industrie durchsetzt. Ich habe im Artikel auch die Grundlagen der beiden Verfahren erklärt und verglichen.

        mfg
      • Von ruyven_macaran Trockeneisprofi (m/w)
        Du gehst weiterhin von primitiven Grundformen aus. Natürlich ist eine Pyramide kinderleicht zu erstellen. Und natürlich ergibt sich eine Kugel direkt aus ihrem Primitiv (respektive sie ist eins) - und es kann mir als Designer wurscht sein, in welcher Engine sie am Ende landet, weil die Umwandlung automatisch geht.
        Nur:
        Mit Kugeln und Pyramiden konnte man vor 30 Jahren Leute hinterm Ofen vorlocken. Aber dafür braucht(e) man auch keine Voxel, Pyramiden lassen sich mit Polygonen wesentlich effizienter berechnen - und das gilt für die Grafik genauso, wie für die Physik,etc. . Solange dein Objekt nur eine oder wenige Sätze Eigenschaften hat, ist es viel, viel, viel effizienter, diese dem Objekt direkt zuzuweisen, anstatt das Objekt aus Einzelteilen mit eben diesen Eigenschaften zu kreieren und diese einzeln zu berechnen. Alle Flächen, die du bei der Erstellung leicht beschreiben/generieren kannst, weil sie sich eben auf einen beschränkten Satz Primitive und Eigenschaften runterbrechen lassen, kannst du mit genau diesen Parametern auch effizient in der fertigen (Polygon-)Engine generieren. Das ist im wesentlichen der Hintergedanke von Displacement Mapping und Tesselation.

        Voxel machen erst dann Sinn, wenn du sie auch nutzt und nicht haufenweise identische Voxel in einer Fläche (egal ob glatt, gewölbt oder in einer anderen, leicht durch Formeln als NURB generierbare Form) hast. Sondern unterschiedliche Eigenschaften (sei es nun Physik oder Aussehen/Form) mit einer Detailverliebt definierst, bei der du in Polygongrafik bei maximal 3-5 Pixeln pro Polygon angelangt wärst - und bei Physikberechnungen die eher einem Partikelsystem denn einer Festkörperphysik gleichen würden, weil die Entitäten so klein sind. Solch komplexe Systeme verarbeitet man lieber als Voxel - denn eine Voxelengine kann konsequent darauf optimiert werden, viele kleine Dinger individuell zu behandeln.
        Aber dazu muss man diese eben auch individuell erstellen. In der Medizin ist das einfach, da liefert das der Kernspin. Genau wie der 3D Scanner von Unlimiteddetail. Oder die Deformierungen der (einfachen, polygonfreundlichen) Ausgangswelt in der Atomontage Demo. Aber nichts von all dem hätte Platz in einem aktuellen Spiel, insbesondere nicht, wenn dies auch auf aktuellen Rechnern laufen soll.
      • Von SchwarzerQuader Software-Overclocker(in)
        Zitat von ruyven_macaran
        Hast du schon mal ein komplexes 3D Modell von 0 aus erstellt?
        Deine beiden "einfachen" Schritte können von Wochen, in Extremfällen Monate an Arbeit bedeuten, wenn kein Minecraft-Look dabei rauskommen soll.


        Nein, ich habe damals nur einfache 3D-Modelle gestaltet.
        Ansonsten: Ja, und? Darum ging es ja nicht. Du sagtest, dass es im Vergleich zu einer "einfachen Tapete" einen Mehraufwand bedeuten würde, für jedes noch so kleine Details und das Innere eines Objektes Materialeigenschaften festzulegen. Ich habe dagegen gehalten, dass Du ja nicht jedes einzelne Voxel definieren musst, sondern nur z.B. den Körper. Zudem sind moderne Texturen mit ihren zahlreichen XY Maps auch alles andere als "einfach", insbesondere nicht unbedingt "einfacher".

        Zitat von ruyven_macaran
        Faktor10 ist ziemlich genau passend, wenn man den von dir genannten Sprung von "100.000den" auf "Millionen" machen will. Ob ich die Position eines weiteren Voxels im Modell festlegen möchte, oder ob ich einen weiteren Eckpunkt platziere, der mit zwei benachbarten ein neues Polygon aufspannt - der Aufwand ist der gleiche und bei 10 mal mehr Elementen habe ich ihn ~10 mal häufiger. (Bei einigen einfachen Objekten wie z.B. einer perfekten Kugel gibt es natürlich keinen Unterschied, weil die Aufteilung automatisch möglich ist. Aber wenn ich ein unregelmäßig geformtes, detailiertes Objekt -z.B. eine Spielfigur habe- dann gibt es keine vereinfachte Formel, die die Form der Details beschreiben könnte. Die müssen alle von Hand kreeirt werden.)


        Die Rechnung sehe ich als zu einfach an, da Polygone keine einheitliche Größe haben. Denke Dir einen einfachen Tetraeder, also eine Pyramide mit dreieckiger Grundfläche, wenn man so will. Das Polygonmodell bleibt immer gleich schwierig zu erstellen, da es unabhängig von der Größe vier Ecken hat. Die Anzahl der Voxel hingegen hängt von deren Größe bzw. der Größe des Tetraeders ab. Mit einem weiteren Eckpunkt kannst Du zudem das Tetraeder einfach um ein recht beliebig großes Volumen verändern, während das Setzen eines zusätzlichen Voxels bei üblichen Objektgrößen nicht viel am Volumen ändert. Allerdings hatte u.a. schon cPT_cAPSLOCK erwähnt, dass sich die unterschiedlichen Modelle (NURBS, Polygone, Voxel) relativ problemlos ineinander umrechnen lassen. Somit könntest Du obigen Tetraeder auch schnell und einfach als Polygonmodell erzeugen und später in Voxel umrechnen lassen.
        Zudem: Eine Kugel beispielsweise wird ja auch nicht als Polygonmodell erstellt, zumindest nicht von Hand, da würdest Du ja blöde werden. Entweder gibt es da fertige "Primitives" oder Du gestaltest sie im Handumdrehen per NURBS. Und dann sind wir wieder bei der beliebigen Umrechnung.

        Zitat von ruyven_macaran
        Das ist nur ein wenig mehr Mathematik, ja. Es ist aber auch genauso wenig Zugewinn an Bildqualität. Willst du aus deinem Stück Holz ein detailliertes Werkstück machen, ist das heute wie morgen eine aufwendige Arbeit - und je detailierter, desto mehr. Die meisten Spiele bleiben mit ihren Polygonzahlen aber schon heute merklich unter dem, was technisch möglich ist (hohe Polygoncounts erzielt man scheinbar nur noch über Partikeleffekte) und verwenden stattdessen lieber Texturen, die oftmals keineswegs individuell generiert sind, sondern eher copy&paste oder gleich kompletter Matsch. In einem Szenario, in dem die Details bereits durch den Modellierungsaufwand limitiert werden, bringt dich eine neue Engine nicht weiter.

        Das Video ist mir bekannt, aber der Sprecher -wie auch du- verkennen bzw. ignorieren eben, dass wir heute nicht einen Mangel an eisernen, spaltbaren Objekten deswegen sehen, weil es zu aufwendig wäre, einem Polygonobjekt die Eigenschaften von Eisen zuzuweisen und an einer Trefferstelle ein neues Polygon einzufügen. Den Mangel haben wir, weil eine zerstörbare Spielwelt innerhalb kürzester Zeit für einen extremen Renderaufwand sorgen kann, weil sie eine Katastrophe fürs Balancing ist und weil es ein enormer Aufwand wäre, für jedes einzelne Element in der Spielwelt alle Eigenschaften zu definieren (geschweige, denn sie auch noch ständig zu berechnen - wie in deinem Voxelbeispiel). Und da ist es egal, ob ich eine Felswand erschaffe, indem ich die Landschaftspolygone mit einer Felstextur bepinsele, oder in dem ich sie aus "Fels"Voxeln zusammenbaue. Die Eigenschaften großer, einheitlicher Dinge bekommst du auch in heutigen Engines leicht unter Kontrolle. Einen Vorteil bieten Voxel immer und nur dann, wenn es hochdetailiert werden soll und man alles einzeln macht - und bereit ist, es auch alles einzeln zu berechnen.


        Wie schon gesagt: Der Modellierungsaufwand muss durch Voxel nicht zwangsläufig steigen. Du baust ein Modell schließlich nicht wie bei Minecraft Klotz für Klotz auf.
        Hinzu kommt, dass es mir hier nicht um Grafik geht. Polygone mögen geeignet sein, um eine Darstellung einer Welt zu simulieren, Voxel aber sind geeignet, eine Welt zu simulieren. Es geht dabei eben nicht nur um die Optik, sondern die weiteren Effekte, die damit verbunden sind. Und das ist nicht nur die Zerstörbarkeit, sondern beispielsweise das generelle, automatische Vorhandensein physikalischer Eigenschaften der Objekte. Im extremsten Fall würdest Du tatsächlich Voxel auf atomarer Ebene mit eben deren Eigenschaften haben (und damit natürlich wohl nicht zu bewältigen Rechenaufwand erzeugen). Aber selbstverständlich ist der Aufwand auch bei Voxeln skalierbar, bis Du dann meinetwegen Minecraft-Verhältnisse hast. Du kannst ja auch damit "unzerstörbare" Modelle erschaffen, Teile der Eigenschaften verändern oder abschalten.
      • Von ruyven_macaran Trockeneisprofi (m/w)
        Zitat von SchwarzerQuader
        Als so schwierig sehe ich das gar nicht an. Du erstellst einen Körper und definierst, woraus er bestehen soll. Somit sind alle Voxel definiert. Du brauchst ja eben nicht jedes Voxel einzeln definieren.


        Hast du schon mal ein komplexes 3D Modell von 0 aus erstellt?
        Deine beiden "einfachen" Schritte können von Wochen, in Extremfällen Monate an Arbeit bedeuten, wenn kein Minecraft-Look dabei rauskommen soll.

        Zitat
        Faktor 10 ist aber auch nur ein Schuss ins Blaue, oder?


        Faktor10 ist ziemlich genau passend, wenn man den von dir genannten Sprung von "100.000den" auf "Millionen" machen will. Ob ich die Position eines weiteren Voxels im Modell festlegen möchte, oder ob ich einen weiteren Eckpunkt platziere, der mit zwei benachbarten ein neues Polygon aufspannt - der Aufwand ist der gleiche und bei 10 mal mehr Elementen habe ich ihn ~10 mal häufiger. (Bei einigen einfachen Objekten wie z.B. einer perfekten Kugel gibt es natürlich keinen Unterschied, weil die Aufteilung automatisch möglich ist. Aber wenn ich ein unregelmäßig geformtes, detailiertes Objekt -z.B. eine Spielfigur habe- dann gibt es keine vereinfachte Formel, die die Form der Details beschreiben könnte. Die müssen alle von Hand kreeirt werden.)

        Zitat
        Edit: Bedenke auch, dass heutige Texturen nicht unbedingt "handgemalt" sind. Holzstrukturen z.B. lassen sich auch durch einen Algorithmus erzeugen. Und ob ich das nun für eine Tapete mach oder für ein Volumen ist nur ein wenig mehr Mathematik. */


        Das ist nur ein wenig mehr Mathematik, ja. Es ist aber auch genauso wenig Zugewinn an Bildqualität. Willst du aus deinem Stück Holz ein detailliertes Werkstück machen, ist das heute wie morgen eine aufwendige Arbeit - und je detailierter, desto mehr. Die meisten Spiele bleiben mit ihren Polygonzahlen aber schon heute merklich unter dem, was technisch möglich ist (hohe Polygoncounts erzielt man scheinbar nur noch über Partikeleffekte) und verwenden stattdessen lieber Texturen, die oftmals keineswegs individuell generiert sind, sondern eher copy&paste oder gleich kompletter Matsch. In einem Szenario, in dem die Details bereits durch den Modellierungsaufwand limitiert werden, bringt dich eine neue Engine nicht weiter.

        Zitat
        Weniger Aufwand in der Logik(!, nicht weniger Logik) soll bedeuten, dass einige Sachen mit Voxel einfach "natürlicher" sind. Dadurch, dass Du Elemente tatsächlich aus Partikeln aufbaust und nicht nur ein hohles, zunächst statisches Modell mit Tapeten, wären Deformationen, Abtragungen, Zerteilungen usw. wenig problematisch. Ein Polygonwürfel, der halbiert wird, bestünde erst einmal aus zwei Hohlschalen. Die Schnittkanten müssen nun aufgefüllt werden. Bei Voxeln ist der Körper massiv und die Schnittkante zwangsläufig vorhanden. Definierst Du eine Masse für die Voxel, ist auch automatisch die Gesamtmasse definiert. Mag das bei homogenen Körpern bei Polygonen ebenso einfach sein, wären inhomogene Körper mit Voxeln mitunter leichter definiert. Definierst Du Kohäsionskräfte für die Voxel wären auch schnell definiert, ob und wie viele Splitter bei der Teilung des Würfels auftreten. Machst Du die Voxel klein genug, könntest Du Körper auf atomarer oder molekularer Ebene simulieren. Nicht nur so aussehen lassen, sondern sich auch so verhalten lassen.
        Wie gesagt, der Berechnungsaufwand würde bei sowas natürlich extrem steigen. Aber der Erstellungsaufwand würde sinken, da viele Eigenschaften automatisch vorgegeben sind, wenn Du auf eine Datenbank mit vordefinierten Voxeln zurückgreifen kannst. Baue ich z.B. etwas aus "Eisenvoxel" auf, wären Masse, Deformierbarkeit, Aussehen u.m. gegeben und korrekte physikalische Szenarien, die weit über die heute eher üblichen Protz-Effekte hinausgehen, einfacher umsetzbar.

        Edit 2:
        Schau am besten einmal das Video, falls noch nicht geschehen. Der Sprecher erwähnt da genau das, was ich versucht habe auszudrücken.


        Das Video ist mir bekannt, aber der Sprecher -wie auch du- verkennen bzw. ignorieren eben, dass wir heute nicht einen Mangel an eisernen, spaltbaren Objekten deswegen sehen, weil es zu aufwendig wäre, einem Polygonobjekt die Eigenschaften von Eisen zuzuweisen und an einer Trefferstelle ein neues Polygon einzufügen. Den Mangel haben wir, weil eine zerstörbare Spielwelt innerhalb kürzester Zeit für einen extremen Renderaufwand sorgen kann, weil sie eine Katastrophe fürs Balancing ist und weil es ein enormer Aufwand wäre, für jedes einzelne Element in der Spielwelt alle Eigenschaften zu definieren (geschweige, denn sie auch noch ständig zu berechnen - wie in deinem Voxelbeispiel). Und da ist es egal, ob ich eine Felswand erschaffe, indem ich die Landschaftspolygone mit einer Felstextur bepinsele, oder in dem ich sie aus "Fels"Voxeln zusammenbaue. Die Eigenschaften großer, einheitlicher Dinge bekommst du auch in heutigen Engines leicht unter Kontrolle. Einen Vorteil bieten Voxel immer und nur dann, wenn es hochdetailiert werden soll und man alles einzeln macht - und bereit ist, es auch alles einzeln zu berechnen.
  • Print / Abo
    Apps
    PC Games Hardware 01/2017 PC Games 12/2016 PC Games MMore 01/2016 play³ 01/2017 Games Aktuell 12/2016 buffed 12/2016 XBG Games 11/2016
    PCGH Magazin 01/2017 PC Games 12/2016 PC Games MMORE Computec Kiosk On the Run! Birdies Run
article
1027266
3D
Atomontage: Zeigen Screenshots der 3D-Voxel-Engine die Zukunft der Spielegrafik? [Jetzt mit Video]
Das Entwicklerteam rund um Branislav Síleš arbeitet seit einigen Jahren an Atomontage, einer Voxel-basierte Engine für 3D-Grafik in Echtzeit, die nicht mehr oder weniger erreichen soll, als den Grafikbereich für alle Zeiten zu verändern.
http://www.pcgameshardware.de/3D-Thema-234522/News/Atomontage-Screenshots-der-3D-Voxel-Engine-1027266/
30.09.2012
http://www.pcgameshardware.de/screenshots/medium/2012/09/0002-ae_dragon_1378.jpg
3d,engine
news