Build und performens fragen.

  • Ich habe ein paar fragen die mich schon seit einer weile beschäftigen.
    Mein rechner ist nicht besonders schnell.
    bei einer map wo terrain und meshes sind dauert das builden der map so 4-5min aber wenn ich noch bäume (und es sind nur unter 10) und etwas grass einsetze, dann brauch der schon fast 20-25min. sowas wie ein kleines waldstück mir einer vollen grasslandschaft könnte ich erstellen aber das builden würde wochen dauern.
    gibt es eine möglichkeit das zu beschleunigen?


    eine andere frage noch.
    ich habe eine einfach map erstellt und die einstellungen für das probe spielen ist es auf eigenes fenster eingestellt. klick ich den play button startet alles vollkommen ok aber alles ist dann so verpixelt. (passiert auch wenn das spiel nur im editor fenster starten soll) muss ich da noch etwas vorher einstellen sowas wie auflösung und wenn ja wie.
    ich habe hier zwei beispiel bilder mit angehangen. da kann man das sehr gut sehen was ich meine. alle im editor klar und deutlich aber das fenster im spiele modus ist unscharf und voller pixel.

    • Offizieller Beitrag

    Wie viele Objekte hast du den in deiner Szene und wie groß sind diese ?


    Die goldene Regel ist:
    Die Engine berechnet du das was du siehst, was du nicht sehen kannst wird von der Engine auch nicht berechnet! Deswegen sind auch riesige Maps mit tausenden Objekte möglich.


    Wenn du zb ein Haus mit Inneneinrichtung möbel usw Modelliert hast dann hast das gesamte Mesh vielleicht 200000 Tris + Schaden und Lichtberechnungen.
    Da das gesamte ein Mesh ein Stück ist muss sobald du nur 1 cm vom Haus siehst das gesamte Haus berechnet werden werden.
    Wenn du das haus aber aus einzelnen teilen erstellst und du zb von der Rückseite des hauses näherst so muss nur die Rückseite des hauses berechnet werden. Wenn du durch ein Fenster schaust muss auch nur das berechnet werden was du sehen kannst. Sobald du dich umdrehst müssen diese Informationen aber nicht mehr berechnet werden und der Vorgang geht von vorne los.


    Dieses Verfahren das Objekte nicht mehr gezeichnet werden und dadurch Performance gesprart wird, nennt man auch Culling und davon gibt es viele unterschiedliche Verfahren womit man die Darstellung schneller machen kann.
    zb Das camera occlusion culling bei dem Objekte nicht gezeichnet werden die von einem anderen Objekt verdeckt werden. Befindet sich ein Schrank hinter einer Wand so wird der Schrank nicht gezeichnet solange du ihn nicht sehen kannst.
    Beim Frustum Culling wird nur das gezeichnet das in deinem Kamera (Sichtbereich oder Frustum) ist.


    Dadurch kann man ne menge Sparen sofern die Objekte auch für die Cullings optimiert sind.

  • hhmm ich weis
    das ist mir bekannt mit dem berechnungs weg der meshes und allgemein der map.
    die meisten rechner würde in die knie gehen wenn alles sichtbare und nicht sichtbare einer map gleichzeitig berechnet werden müsste. schatten, effecte und co. sind ja noch nicht mal mit gerechnet.


    (nur mal so am rante........wehr macht den sowas wie eine komplettes haus mit inventar als ein mesh??? da könnte man überhaupt nicht so schnell arbeiten wenn man was ausbessern muss ^^ )


    die frage ob ich ein bild der map mit nur den meshes und terrain hab ich nicht mehr, das wahr nur die erste die mir eingefallen ist.
    aber wenn du einen vergleich haben möchtest. das zweite screen oben könnte ich als vorlage nehmen.
    eine strasse, ein haus mit zwei kleinen treppen und garten weg so wie das terrain (nur textur, ohne grass und bäume) die berechnung dauerte nur 1-2min.
    dann hab ich die 3 palmen und 3 andere bäume eingesetzt (noch immer kein grass) da dauert das rendern schon 4-5min. würde ich das grass einsetzt kommt geschätzt, die berechnung auf 10min.


    und das muss man doch ändern können. das ist nur ein kleiner teil der map und wenn noch mehr ausbauen möchte, soll das rendern am ende nicht 10std. benötigen.


    ---------------


    hat auch jemand eine idee wegen der schlechten in game qualie???

  • Wenn du zb ein Haus mit Inneneinrichtung möbel usw Modelliert hast dann hast das gesamte Mesh vielleicht 200000 Tris + Schaden und Lichtberechnungen.
    Da das gesamte ein Mesh ein Stück ist muss sobald du nur 1 cm vom Haus siehst das gesamte Haus berechnet werden werden.
    Wenn du das haus aber aus einzelnen teilen erstellst und du zb von der Rückseite des hauses näherst so muss nur die Rückseite des hauses berechnet werden. Wenn du durch ein Fenster schaust muss auch nur das berechnet werden was du sehen kannst. Sobald du dich umdrehst müssen diese Informationen aber nicht mehr berechnet werden und der Vorgang geht von vorne los.

    Dazu hätte ich mal eine Frage.


    Ich baue meine Häuser meistens aus Kleinen Wand Stücken.


    Diese Kopier ich dann mit STRG und setzte sie aneinander.


    Meinst du das mit "Einzelne Stücke" oder wird dann Trotzdem das gesamte Haus berechnet?



    @Blake oben auf Settings und dann Scalability Einstellungen dort kannst du die Grafik Einstellungen anpassen. Die sind beim neun Projekt meistens auf Medium gesetzt.

  • nein nein was wir oben meinten wahr ein kompettes haus. also wande,böden und decken..... vieleicht auch noch zusammen mit möbel alles als ein mesh. so zu arbeit ist keine gute sache (ist nur meine meinung) das ist als ob alles im haus angeklebt ist und man im editor nur noch platzieren aber nichts mehr verändern kann. deine art " alle einzel teile zusammen setzen" (puzzle mapping) ist vollkommen ok wird auch von vielen verwendet, ist klein problem so lange alle teile auch dicht an einander sitzen. Ist bei deinen teilen ein loch oder riss wo man auf die andere seite sehen kann, erst dann muss der rechner das mit berechnen.


    um es einfacher zu beschreiben: das was deine figur sehen kann muss und wird berechnet. wie bei deinen eigenen augen du kannst gerade nicht sehen was hinter deinen bildschirm ist da du das hier liest und somit verarbeitet auch das hirn nichts als das was du sehen kannst weil es versperrt ist :D

    • Offizieller Beitrag

    Ja und nein:


    Jedes Objekt und Jedes Material das du erstellst braucht Drawcalls für ein einziges Modell + Material sind dies zwei Drawcalls.


    Mal angenommen Kopierst deine Objekte in Blender so das sie einzeln in der UE4 aufgeführt sind dann braucht jedes Objekt ein Drawcall.


    Wenn du dein Objekt aber einmal in die UE4 importiert hast und aus dem Content Editor in dein Level sieht dann sind das keine Kopien sondern instanzen und deutlich performanter wie wenn du das ein und das selbe Objekt mehrmals importierst.


    Du solltest also so wenig Objekte wie für den Level verwenden ! ABER du solltest gleich zeitig dafür sorgen das dein Level Culling bar ist.


    Kurz gesagt: Du solltest es nicht übertreiben und dein Level in 1000 Einzelteile zerlegen. Überlege dir wie du dein Level sinnvoll aufteilst.


    Stell dir mal vor du hast deinen Wolkenkratzer Modelliert dieser besteht aus 100 Stockwerke und insgesamt mit Möbel und allem drum und dran aus 10 Millionen Polygone.


    Du als Player kannst aber niemals die gesamte Inneneinrichtung sehen also fallen schonmal 8 Millionen Polygone für Möbel und Co weg. Dein eigentlicher Wolkenkratzer hat also 2 Millionen Polygone. VOn diesen zwei Millionen Polygone siehst du dich ausserhalb befindet maximal zwei Seiten des Turms also Maximal 500000 Polygone für die Vordere und Linke Fassade.


    Nun siehst du aber niemals alle 100 Stockwerke gleichzeitig und vielleicht immer nur maximal 4 Stockwerke wenn du 20 Meter vor dem Gebäude stehst. Dadurch reduziert sich der Polycount nochmal auf 20000 Polygone.


    Befindest du dich weiter weg vom Wolkenkratzer kannst du mehr Stockwerke sehen dann würde man man auch Lods verwenden bei dem der gesamte Wolkenkratzer aus viel weniger Objekte gebaut ist und viele Details fehlen.


    Bist du nah dran siehst du Maximal 20000 Polys da du nicht alles siehst.
    Bist du 500 Meter entfernt siehst du zwar alles aber dein Gebäude ist mehr so detailliert und hat insgesamt auch nur 20000 Polys


    Das schwierige ist eine Balance zwischen viele Objekte mit insgesamt sehr hohen Polycount die aber nie alle zu sehen sind. Und wenigen Objekte die alle zu sehen sind aber dafür weit entfernt und die Texturen auch unscharf sein können.


    Du kannst dein Haus also gerne aus vielen Wandteile zusammen bauen aber wenn du nun jedes Brett als separates Objekt importieren würdest dann würde das den Rahmen deutlich sprengen. Wenn du sowas machen willst dann musst du auch wieder mit Lods arbeiten.




    Hier siehst du das ganz gut bei Fallout 4 in dem Screenshot sind die Details = 0 die Texturen sind einfach gekachelt und wahrscheinlich maxmial 256px² groß.
    Einfache und weniger Objekte ohne viel Details.



    (nur mal so am rante........wehr macht den sowas wie eine komplettes haus mit inventar als ein mesh??? da könnte man überhaupt nicht so schnell arbeiten wenn man was ausbessern muss )

    Das mit dem Haus war auch ein extremes Beispiel und das machen die wenigsten Leute da hast du recht aber was man beispielsweise immer wieder erlebt das Leute ihr riesiges Terrain in die UE4 importieren. Hier wird dann keine Hightmap verwendet sondern das Terrain als Mesh.
    So ein Mesh hat dann auch mal eben 50000 oder 100000 oder mehr Tris die alle konstant angezeigt werden müssen.


    Hier ist dann das Terrain nicht Culling bar es wird dauerhaft angezeigt. = schlecht für die Performance.

  • Ich benutze die "Wandteile" die bei den Packs dabei waren die ich mir im Marketplace gekauft habe.


    Sind meistens kleinere Stücke. Da ist dann alles dabei wo Türen Fenster etc. schon vorgesehen sind.


    Daraus Bau ich dann alles.


    Meinst du das ist nicht gut und schadet irgendwann der Performance?

    • Offizieller Beitrag

    Um überhaubt deine Frage zum Thread zu beantworten, ja, es ist möglich dies zu beschleunigen. Du hast aber verschiedene Möglichkeiten.


    1. und einfachste Möglichkeit ist, alles bei mobility auf movable zu setzen. Dass bedeutet auf der Sonne, Skylight, Licht und Actors. Damit wird der Schatten live berechnet ohne zu rendern. Somit musst du nicht builden.
    https://docs.unrealengine.com/…htMobility/DynamicLights/


    2. Man kann das Builden mit verschiedene Einstellungen verbessern, oder verschlechtern. Das Verschlechtern bringt mehr Zeitersparnis.
    https://docs.unrealengine.com/…Shadows/Lightmass/Basics/
    In den World Settings kannst du unter Lightmass alles einstellen. Sogar dort ist einiges erklärt.


    Dass das Spiel so verpixelt ist, kann ich dir nicht erklären. Es könnte an der Kamera liegen. Evtl hast du da etwas eingestellt, dass das Bild irgendwie gezoomt ist.

  • naja ich geb da sleepy recht in allen dingen.
    ich habe davon gehört, aber das echt leute gibt die ihr terrain als mesh einfügen das ist doch wie sich ins eigen fleisch schneiden.
    mir wahr das ebenfalls bewusst das wenn man ein terrain als mesh einfügt, würde das die perform. schwächen. solche aktion kann man machen wenn zb. für die strasse so keines stück rassen wo ein baum rein kommt und etwas grass drauf kommt wie in dem simplen beispiel bild 1.
    oder man eine kleine spezial form für einen teich haben möchte aber mit dem terrain tool zu komplex ist da erstell ich die randform des teiches.


    es gibt aber auch mapper die eine gigantisch große fläsche erstellen und darauf zb. eine stadt bauen. mann kann doch auch so arbeiten das erst häuser, strassen und zeugs setzen und dann die gewünschten stellen mit kleinen terrains verarbeitet. nach dem eben beschrieben beispiel versuch ich es gerade um auch zu sehen ob das passt.


    Dj EKI:
    ich habe das erst eben gesehen was du geschrieben hast. ich werte das gleich morgen mal antesten was da so geschreiben steht. aber danke schon mal für die infos.
    das mit dem live berechen in wie fern schlägt sich das den auf die leistung?

    • Offizieller Beitrag

    das mit dem live berechen in wie fern schlägt sich das den auf die leistung?

    Das kommt auf dem Rechner an, wie hoch die Schatten quali eingestellt ist. Jedenfals mehr als builden. Wenn man sich GTA anschaut, die zb haben alle dynamische schatten. Ich denke mal, die UE4 wird damit auch klar kommen. Nur bei Gras würde ich die Schatten deaktivieren, denn bei sehr viel Gras kann das ganz schön lastig sein.

  • ich habe eben etwas mit den einstellungen das der Schatten live berechnet wird getestet aber so richtig bin ich noch nicht dahinter gestiegen.


    aber zu dem problem das im game alles verschwommen und pixilig ist, hab ich rausgefunden warum das bei mir so ist.
    da bin ich echt ein depp unter settings->engine Scalability setting stand alles auf low. dann ist es ja klar das es so ausschaut. einfach auf High stellen und schon wahr das problem weg. aber ich habe auch gleich gemerkt das mein rechner in die knie ging.


    das ist vieleicht nicht das richtige thema hier aber ich wollte mal frage was für einen rechner man brauch um udk stabil zu bekommen. also so das man bei high auflösung wenigstens bei 24FPS bleibt?

  • naja wie schon gesagt nicht einer der schnellsten


    amd fx-6100 six-core processor
    4gb
    64bit win 7 pro
    amd radeon r7 200


    das ist das wichtigste. treiber alle auf den neusten stand.
    .........hab ich noch was vergessen?


    Mir wurde schon ein paar mal gesagt das man sich wundert das bei mir die spiele die rauskommen überhaupt noch bei mir laufen. wo bei ich das nicht so sehe.

  • Die Frage ist ja nicht, ob dein Rechner das gerade noch so schafft...
    Die Frage ist eher... warum tust du dir das an?


    4 GB Ram sind der absolute Grenzwert. Selbiges gilt für den Grafikspeicher.
    Der Prozessor ist absolut ausreichend.


    Tip zum schnellen Projekt builden: Mach dein Licht movable. Damit wird kein lightbaking gemacht. Das dauert am längsten beim builden.


    Ansonsten kann ich dir echt nur empfehlen mal 200 Euro in die Hand zu nehmen. Fast jeder Fertigrechner im unteren Preissegment hat mittlerweile 8 GB Ram.
    Besser wäre es noch, wenn du gleich einen ordentlichen Rechner holst.
    Die Arbeit in der Engine ist so schon schwer genug. Da sollten die Arbeitsmittel einen nicht noch extra behindern.
    Soll ja auch Spaß machen. ;)

  • naja wenn man das sieht stimmt es schon das mein rechner mir das etwas schwerer macht hintereinander zu arbeiten. starte ich maya, udk4 und photoshop zusammen oder nach einander bekomm ich schon mit das die leistung stark nach unten fällt.


    jeder hat seine eigen meinung aber ich würde schon gerne mal wissen was ihr mir als günstige aber gute hardware empfehlen würdet. also ram und grafikkarte.


    ist das den echt so ein großer unterschied wenn man mehr ram leistung drin hat?
    mein ding ist mehr software als hardware und kenne mich deswegen nicht so besonders damit aus.