Beiträge von Sleepy

    Schwer zu sagen woran das liegt. Ich habe den Verdacht dass dies ein Shader Problem ist und deine Anwendung auf älteren geräten einfach nicht läuft.

    Vielleicht hast du ein Wassershader oder sonst irgend eine grafikspielerrei die von schlechteren Handys nicht unterstützt wird.

    Was du machen willst nennt man Terrain Stitching.

    Ich kann dir leider nicht sagen wie du Terrain zusammenstichen kannst dafür gibt gibt es verschiedene Plugins und Methoden.


    zb.:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    1.Im 3D Programm solltest du das Mesh in die Mitte des Grids setzen.

    2.Prüfe dann im 3D Programm welche Position dein Mesh hat. Wenn dein Mesh eine XYZ Position hat die größer oder kleiner als 0 ist, solltest du die Position Freezen. (Auf 0 setzen)

    Das Mesh befindet sich jetzt in der Mitte des grids, die Position des Meshes ist XYZ = 0

    3.Nun setzt du den Pivot dort hin wo der hin soll. Bei dem Tor könnte das entweder in der Mitte sein (Mitte Mitte) oder du setzt den Pivot ganz nach links unten. (Links/Mitte)

    4.Jetzt solltest du den Pivot Baken damit der Pivot dort bleibt wo er bleiben soll.


    So wirst du insgesamt weniger Probleme haben :)

    Ich hab folgenden Verdacht:


    In Unreal gibt das Main Level das sog. Persistent Level. Das Persistent Level kann zb ein Menü sein. Oder einfach nur ein Leeres Level ohne Inhalt.

    In dieses Menü oder leeres Level können so genannte Sublevels geladen werden. Auf einem Sublevel können sich zb nur alle Gebäude oder alle Bäume finden.

    So können zb unterschiedliche Entwickler auf unterschiedlichen Sublevels arbeiten ohne sich in die quere zu kommen. Auch aus Performance gründen bieten sich Sublevels an.

    Du kannst so zb auch während du auf eine Ziel Line zu rennst, bereits das nächst Sublevel in den Speicher laden: Anzeigen würdest es erst wenn du die Ziel Line erreicht hast.

    Die Sublevels werden in das Main Level geladen.


    Ich könnte mir vorstellen, dass ein ein Blueprint versucht ein Sublevel zu laden das nicht mehr vorhanden ist.

    Du müsstest müsstest das Blueprint finden dass hier versucht ein Sublevel zu laden.


    Mehr kann leider nicht dazu sagen.


    Vielleicht hat jemand anderst eine bessere Idee?


    Zur UE5 ein kleiner Hinweis.

    Durch die UE5 haben sich viele dinge geändert, dinge werden anderst oder an einem anderen Ort gespeichert. Auch neue dinge kamen dazu.


    Epic Games hat für die Konvertierung extra einen Konverter geschrieben der Projekte von UE4 auf UE5 übersetzt.

    Es nicht auszuschließen das es hierbei zu problemen kommen kann, die vielleicht zu einem späteren Zeitpunkt gefixt werden.

    Gibt es eine Möglichkeit zu testen wie die Mindestanforderungen sein müssen? Weil wie du gesagt hast, das nicht nur für meine Graka optimiert sein sollte.

    Ausprobieren :)


    Es gibt Firmen den gibst du einen Haufen Geld und die installieren deine App oder deine Software auf vielen Rechnen mit unterschiedlichem Setting dann machen dann Benchmark. Danach weißt ganz genau auf welchem Rechner die Software wie gut läuft.

    Es kommt ja auch immer das Gesamt Paket an. Wenn du die beste RTX in lahmen I4 Rechner verbaust der 8GB Arbeitspeicher hat, dann kann sich die RTX auch nicht entfalten.

    Spannend wird dass nun auch mit der UE5 und Raytracing.


    Wenn die Engine performanter wird, dann werden auch die Shader krasser und im Endeffekt wird die Ersparnis der Performance wieder aufgefressen.


    Deswegen werden weiterhin alle auf den Polycount und die Texturgrößen etc achten.


    Was du auch nicht unterschätzen solltest die Größe deines Spiels am Schluss. Mit 8k Texturen wäre dein Spiel irgend 100 GB groß und dass will sich sicherlich niemand auf seinem Rechner installieren. Einige Spielen haben bereits 50GB und Sound nehmen auch nochmal richtig viel Platz weg.

    Die Auslastung der GPU liegt nämlich meist nur bei ca 20-30%.

    Das Managed dein PC automatisch. Es gibt Aufgaben die nur von der CPU erledigt werden können und es Aufgaben die nur die GPU erledigen kann.

    Wenn die Auslastung der CPU zu hoch wird, löst dein Rechner das intelligent und gibt dann Aufgaben von der CPU an die GPU ab. Das funktioniert auch anderst rum.


    Alles auf die GPU zu optimieren, glaube nicht dass du das Steuern kannst bzw ich glaube das macht auch keinen Sinn.

    Bedenke auch wenn du alles auf deine RTX Optimierst, wird dein Spiel wohl nur Office PCs laufen.


    Schau das du die Texturen kleiner machst, du kannst LODs für Mesh und Texturen verwenden. Was weit weg ist, braucht keine 2k Textur da reicht ne 512 oder sogar gar keine Textur wenn das Mesh winzig ist.

    Und es ist möglich die 4k Texturen runterrechnen zulassen auf 2k innerhalb der Engine?

    Das man aus 1k nicht 4k machen kann bzw das man schwammige Texturen dann hätte, ist mir schon bewusst. ;) das Prinzip von Texturen ist mir schon zum größten Teil bekannt.

    Ich bin auch immer Freund davon nicht nur eine Frage zu beantwortern Sie auch mit Informationen zu erklären.

    Wenn andere ähnliche Probleme haben und diese nicht auf deinem Wissenstand ist, sie trotzdem aus dem Informationsgehalt die Lösung verstehen können.

    Darum möchte ich bisschen weiter ausholen:


    Das UV Koordinatensystem hat ja IMMER eine Größe von 0 - 1 alles was weniger oder darüber hinausgeht wiederholt sich.


    Verwendest du eine 1k Textur (1024 * 1024 pixel) dann geht diese Textur von 0 bis 1

    Verwendst du eine 4k Textur (4096 * 4096 pixel) dann geht diese Textur in der ebenfalls von 0 bis 1


    Darum passt eine Textur immer zur UV sofern sie gleichmäßig skaliert wird.


    Skallierst du eine 4k Texur auf 1k runter, so gehen immer Informationen verloren. Was im Prinzip passiert ist, das eine bestimmte Anzahl an Pixeln zb 4 *4 Pixel zu einem neuen runtergerechnet wird. Dieser eine Pixel bekommt den Durchschnittswert dieser 8 Pixel.

    So als ob den die RGB Werte alle 8 Pixel zusammenrechnen würdest und durch 8 teilen würdest.


    Das ist so der Grund warum Texturen nach dem Skalieren bescheiden aussehen können.

    Zum Klassischen UV Mapping wo im grunde Pixel auf ein Mesh übertragen werden, gibt es auch das vertexpaint das technisch gesehen anderst funktioniert und eher für Terrains verwendet werden. Es genau dafür da, dass es diese Auflösungsprobleme nicht gibt. Aber dein Textur größen Problem hast du deswegen trotzdem.

    Ich kenne nur dein Problem ich weiß aber nicht was du vorhast.


    Ich bin ein Freund davon dinge an der Quelle zu bearbeiten: Du könntest die Texturen in einem Bildbearitungsprogramm öffnen. Wobei du wahrscheinlich Diffuse, Roughness, Metallic oder was auch sonst noch alles mit dabei ist bearbeiten müsstest.

    In Photoshop gibt es dafür die Staffelbearbeitung wo du theoretisch 100 Texturen gleichzeitig runterdrücken könntest.


    Badcase: Du erstellt dein 3D Mesh texturierst es zb in Blender und exportierst es als 2k Textur. Nun Importierst es im Substance Painter als 4k Textur und Texturierst dort. In Unreal ist die die 4k Textur zu groß weshalb du sie 1k runterdrückst.

    Änderst du jetzt irgend wo etwas innerhalb der Pipeline, muss deine Textur alle Steps nochmal durchlaufen. :)

    Gäbe es ein Begriff dafür, würde es wohl Textur-ruminate (Textur wiederkauen) heißen :)


    Ich glaube aber irgend wo konnte man die Size einer Textur direkt in Unreal runterstellen. Ich hab das aber aus den oben genanten gründen noch nie gemacht.

    Vielleicht weiß dass jemand anderst ?


    Übrigens könntest du auch LODs für Texturen verwenden. Was nah ist, werden höher aufgelöste Texturen. Texturen die weiter weg sind, sind niedriger aufgelöst.

    Was mir aufgefallen ist das ich sehr viele 4k Texturen habe.

    Damit hast du das Problem gefunden und dann wundert mich nichts mehr :laughing:

    Warum hast du das nicht gleich am Anfang gesagt :) ?


    Unreal entscheidet selbst wer den Berechnungsjob bekommt. Entweder dinge werden auf der CPU oder auf der GPU berechnet.

    Besser ist immer die GPU weil diese schneller ist und vorallem auf grafische dinge optimiert ist.

    Unreal berechnet dort, wo es weniger Auslastung gibt und wo letztlich schneller berechnet werden kann.

    Letzlich macht keinen Unterschied ob erst deine CPU überläuft dann deine GPU genommen wird oder umgekehrt.


    Was man oft tut und was auch Quixel und Co. macht, man Master`t Texturen auf 4k und drückt die dann runter so wie man sie braucht. n (zb als 1k Textur)


    Runterdrücken geht immer aber man kann aus 1k Textur keine 4k Textur machen. Zumindest werden keine Details beim hochskalieren generiert :lol:


    Schau dir auch mal die ganzen Livetime Profiling Geschichten an.

    Hey, static bedeutet dass sich das Mesh nicht bewegt. Bewegte Meshes können nicht Static sein.

    Alle Meshes und Lichter und was du sonst noch auf Static gesetzt hasten müssen gebuildet werden.

    Deswegen ist Statisches Licht eher für dinge gedacht die sich nicht bewegen. Beispielsweise ein Haus, Felsen oder ähnliches.


    Static Shadows werden erst nach dem Build in einem extra Layer über die Gebakte Meshes gelegt. Beim Baken musst du aber auch die Lighting Settings beachten.


    Siehe: https://docs.unrealengine.com/…raphics/Lightmass/Basics/

    Falls du mitten in einem Projekt bist, würde ich nicht wechseln. (Ist sehr risikoreich das danach dinge nicht mehr funktionieren) Falls du ein neues Projekt starten willst, würde ich im Moment (noch) in der UE4 arbeiten.

    Falls du nur dinge testen willst, kannst du dass gut in der UE5 machen.


    Zwar ist die UE5 offiziell released aber wirklich stabile ist die UE5 noch nicht und es ist ungewiss bis alle Kinderkrankheiten ausgemerzt wurden.

    Welche Lampe soll ich den dann nutzen die mir Licht bring und die Schatten wirft ohne das eine Fehlermeldung kommt?

    Kein Pointlight alles andere ist erlaubt. Bei einer Glühbirne, kannst du auch 4 Spotlights nehmen die in mehre Richtungen stahlen. Das ist vermutlich immer noch performanter als ein Pointlight.

    Habe bei manchen aber dennoch das Problem.

    so schwer zusagen wo das Problem liegt.

    PS: ist Allerdings bei einem I9 mit GTX 1070 nicht der Fall da ist das alles egal ob Static oder nicht ob Schatten oder nicht der macht was ich will ohne Fehlermeldung.

    Vielleicht liegt das auch noch am Shader der Grafikkarte, die eine Grafikkarte kommt damit klar und die andere nicht.


    Ich kann nur soviel sagen das Realtime Schatten bei Pointlight eigentlich nicht möglich sind. Wenn es mit einer anderer Grafikkarte geht, würde ich vermuten, das die Grafikarte bzw Unreal die Pointlights umschaltet.

    Interessant wäre zu wissen ob bei diesen Pointlights schatten zu sehen sind oder nicht. Wie gesagt eigentlich dürfte es keine Schatten geben in Realtime.

    Kann ich mir zumindest nicht vorstellen.

    Runtime does not support Whole Scene Point Light shadows

    Ein oder mehre Pointlights sind das Problem.

    Ein Pointlight ist im grunde ein unendlich kleiner Punkt der Licht in alle Richtungen abstrahlt. Dass ist ein Pointlight im technischen sinne.

    Licht und Schatten aus Pointlights können NICHT zur Laufzeit berechnet werden. Vor allem wenn sich sich mehre Pointlights berühren, so das es zu Überlappungen der Lichtpegel kommt weil es hierbei schnell zu einem exponentiellem Anstieg von Licht kommen kann. Was sich dann auch exponentiellem auf die Lichtberechnung auswirkt. Deswegen sich Echtzeit Pointlight Berechnungen und somit auch Schattenberechnungen nicht erlaubt.


    Lösung: Den Schatten des Pointlights deaktivieren oder es auf Static setzen.


    Schattenbrechnungen aus einem Pointlight machen, macht in den seltensten fällen Sinn. Da die Quelle wie gesagt unendlich klein ist und in alle Richtungen strahlt. Dabei kämen hierbei sehr seltsamen Schattenerbnisse raus.

    [2022.04.12-15.43.10:939][ 52]LogWindows: Could not start crash report client using ../../../Engine/Binaries/Win64/CrashReportClient-Win64-Debug.exe

    Beim Builden passiert folgendes:


    1.Konfigurationsdateien werden geladen

    2.Debuging beginnt Win64-Debug.exe wird gestartet.


    Und das scheint aus irgend einem Grund nicht zu passieren. Wieso kann ich leider nicht sagen.


    Meine erste Vermutung wäre, dass eine Firewall, der Windowsdefender oder ähnliches dies Verhindert. Vielleicht hast du keine Rechte die Exe "Win64-Debug.exe" auszuführen weil die Windows Rechte eingeschränkt sind.

    Genau so gut könnte könnte das Debuging im Eimer sein. (Was ich allerdings nicht glaube)

    Ich glaube irgend was funkt da dazwischen und erlaubt das Ausführen dieser exe nicht.


    So wie das aussieht, kann Unreal keinen Crash Report erstellen. "Could not start crash report client using"


    Vielleicht weiß jemand anderst mehr ?