Beiträge von kyodai

    Grundgütiger, nicht schon wieder ne Politdiskussion. Nach der letzten sind mir so viele Leute unsympathisch geworden die ich vorher echt gerne hatte. War echt froh daß mein Gedächtnis so kurzlebig ist... Vielleicht können wir uns echt auf was anderes konzentrieren - wie zum beispiel Games, 3D modeling, Texturieren - und am Rande mal nen Hauch UE4... XD


    Jaja und bevor einer fragt - meine Frau ist Ausländerin,meine 2 Mädels haben 2 Pässe und ich bin auch Ausländer. in ca 189 Ländern der Welt.

    Hey Blake - vielleicht gehst du es zu gezielt an. Klar findest du nix wenn du nach "Ue4 Gamsbart vibriert wenn tiroler Bergziege rülpst" suchst. Aber ich glaube das war auch immer schon so. Schau dir doch mal ein paar allgemeine Tutorials an bezüglich Particle oder Tesselation. Ich behaupte mal das kann man auch mit einem animierten tesselation material hinbekommen. Und zum Thema "Ue4 car AI" kommen über 500.000 Ergebnisse. Klar auch ein paar Marketplace items. Aber auch viele echt gute kostenlose Youtube tutorials. Wenn eins zu alt ist - entweder geht es noch in 4.23 oder man muß echt nur ein paar Kleinigkeiten ändern. Wenn du verstehst was du tust ist das normal echt ne Kleinigkeit.


    Wegen Nebel - hat mich gefühlt 3 Mausklicks gefunden um das zu finden:



    Ja und zu Cameras gehe ich gar nicht drauf ein, das war doch wohl ein Scherz, oder?



    Natürlich wäre es schön wenn es ein UE4 youtube gäbe wo ich jedes Problem eingebe und bekomme sofort ein kostenloses Tutorial oder auch direkt ein Template zu download. Aber mal ehrlich - irgendwer muß die machen. Nur mal aus Neugier - wieviele kostenlose UE4 tutorials has du denn in letzter Zeit gemacht?



    Und jetzt der Profi Tip - wenn man wirklich gar nix findet gibt es noch unrealengine4.de - ein freundliches Forum wo man alles fragen kann und viele Leute geben sich Mühe zu helfen.



    Sorry wenn ich das so frech und arrogant schreibe, aber mein Ziel ist es durch Witz und Ironie auch mal eine Bresche zu schlagen für all die Leute ,die sich die Zeit genommen haben die vielen Tutorials und endlosen Foren Antworten zu schrieben die dich und mich jeden Tag weiter bringen wenn wir ein Problem googeln. Ich finde die werden leider nicht oft genug gewürdigt. Ich frage selten was die UE4 Gemeinde für mich tun kann - ich frage eher was ich für sie tun kann.

    Das wording ist leider bei UE4 sehr dumm und auch nicht immer konsistent.


    Die 3 Worte die du suchst sind "Map", "Level" und "World".


    Links in der Liste die orangenen Symbole sind Dateien. Die Nennen wir "maps". Die kannst du speichern. Jetzt wirds kompliziert - eine Map (Also eine Datei) kann eine world oder einen level oder mehrere levels (in einer world) enthalten. Ein Level ist auch immer eine World wenns nur einer ist, aber sind mehrere Level verbunden bilden Sie eine einzige World mit mehreren Levels.


    Sagen wir mal du hast eine world die wir mal "Erde" nennen und da hast du 2 Levels drin - berlin und Brandenburg. Sind durch streaming verbunden also eine world. Speicherst du in ner map namens Erde.


    Dann hast du "mars" als map. Da ist sagen wir mal nur ein Level "Mars". Das ist auch die World. Dann speicherst du es einfachheitshalber auch als map "Mars".


    Ich weiß nicht ob ich es gut erklärt habe. Es ist auch sehr verwirrend und vielleicht habe ich es selber auch nie richtig verstanden.

    OK, habs grad mal probiert - wenn man einen Output angibt kann man in der Tat nach dem Macro noch was anderes setzen. Cool, wusste ich auch nicht. Ich nutz Macros eigentlich mmer wenn ich ein Delay brauche, also z.B. Animation Tür geht zu --> Delay 1 Sekunde --> Sound Türe knallt abspielen. Sowas in der Richtung. Vielleicht gibts noch ne tieferen Sinn.

    Wer für Substance Painter auch nur entfernt Verwendung hat kann da beruhigt zuschlagen, das ist echt ein guter preis!!!! Verdammt gutes tool wenn man selber modelliert und die Materialien dafür schnell und gut machen will.

    Für mich ist der Killer Unterschied delay und Sackgasse. Eine Funktion gibt praktisch "Sofort" eine AUsgabe. In einem Makro kannst du Abläufe mit einem Delay auch zeitgesteert machen, z.B. "mache einen Blitz, dann warte 3 Sekunden, dann lass es donnern". Eine Funktion ist ein Node wie jeder andere (Sowas wie X/Y und so weiter, klar gerne auch komplizierter!!!) - ein Makro ist eine Sackgasse. Sprich wenn du als letztes in einem Ablauf ein Makro aufrufst dann kann nichts mehr danach kommen.

    Ernüchterung stellt sich ein... an meiner Workstation kann und darf ich leider keine "normalen" Grafikkarten einbauen, dann erlischt die Leasing-garantie..


    Hat jemand von euch erfahrungen zum Thema eGPU? Dann würde ich die "2070 Super" oder "2080 Super" einfach in ein externes Gehäuse und über zwei (?) USB 3.1 betreiben.

    Leasing kündigen und vernünftige Workstation zusammenstellen. Externe Lösungen wären hier sicherlich teurer und von der performance her mau.

    Stell sicher daß du eine "Super" nimmst, die haben doch beachtlich mehr Leistung als die normalen RTX und kosten kaum mehr.


    Schau auch auf den Grafikspeicher. Für Oculus reicht auch ne normale RTX 2060 aber für 4K zocken würde ich ne 2070 empfehlen wegen dem VRAM.

    Du musst gar keine Ideen haben sondern nur "ziele". Sprich mach das Ziel nen First person Shooter zu machen - auch wenns nur zur Übung ist. Dann machste den. Die Ideen kommen wenn du deine Ziele umsetzen willst, oft schaust du dir andere Spiele an.



    Als Anfänger - je einfacher desto besser. Wenn du realistsich ein Spiel zu Ende bringen willst dann hilft es wenn das realistisch ist. Du magst Simulationen - mach doch erst mal ne Restaurant Simulation oder sowas. Kunde kann ja erst mal auf dem papier da sein und du machst nur die rechenleistung per Zufallsgenerator - wer kommt und gibt wieviel Geld aus? Später machst du Kugeln die sich im restaurant bewegen, irgendwann Personen. Fang klein an und lern dazu. Mach viele kurze Tutorials. Alles was du lernst hilft dir langfristig.

    Optimierung ist wieder mal so ein Thema zu dem ich ein ganzes Buch schreiben könnte - aber wie immer belasse ich es mal mit ein paar Tips und Denkanstössen. Von daher mal locker flockig runtergeschrieben was man sich so überlegen sollte wenn man merkt das Spiel läuft etwas zu lahm.


    1. Zielplattform definieren.

    Wenn ihr ein Puzzlespiel für Android oder IOS (iPhone) Plattformen macht dann sollte das nach Möglichkeit auf jeder noch so alten Gurke laufen. Klar euer iPhone 11 oder Samsung Galaxy Note 9 sind hip aber schaut mal wie viele Leute noch mit einem iPhone 6 rumlaufen. Unterstützt ihr mehr Modelle habt ihr mehr potentielle Käufer. End of Story. Macht ihr dagegen ein VR Spiel für HTC Vive und co dann braucht ihr realistisch nicht damit rechnen daß jemand unter ner Geforce GTX 970 sowas überhaupt probiert zu starten. Von daher macht euch erst mal realistisch Gedanken was die Mindestanforderungen sind und wieviel FPS ihr für das Minimum Rig bieten wollt. Beim PC hat man den Luxus man kann die Auflösung und Scalability settings runterdrehen kann - dann läuft es auf einmal auf ner Steinzeit Grafikkarte wie ner Geforce GT 540 einwandfrei - sieht aber bescheiden aus. Eure überlegungen sollten also schon voraussetzen was die Mindestanforderung für "epic" scalability ist (Ihr kennt "Epic" als beste Einstellung im Editor).


    2. Echte Tests.

    Klar wenn es im Editor gut läuft läuft es kompiliert in der regel noch besser. Aber unabdingbar ist messen statt schätzen. "Stat FPS" und "Stat unit" sind klassische Konsolenbefehle mit denen ihr FPS/Leistung objektiv messen könnt. Kann man mit nem console command node auch auf nen key legen oder automatisch starten. Latscht mal durch eure levels und schaut auf die FPS. Wenn ihr durrchgehend 60 fps wollt ist es unbedenklich wenn die in der kompilierten version auf der Minimum Hardware mal auf 58 droppen, aber wenn ihr mal auf 5 fps kommt müsst ihr euch schon was überlegen.


    3. Echtes Optimieren

    Ja klar - die FPS reichen nicht - das ganze läuft wie ein Sack Muscheln auf meiner Ziel-Hardware, ich muss optimieren. Wichtig ist es erst mal rauszufinden was das ganze so lahm macht. Was kostet viel GPU/CPU/Memory und wo ziehe ich die Schrauben an. Mal ganz dumm gesprochen - wenn das Problem an euren game ist daß ihr im level BP Tick jedes Frame die Zahl Pi auf 100 Stellen hinter dem Komma ausrechnet nützt es euch nix an den 3D Modellen oder Texturen zu schrauben. Von daher ist es gut in etwa zu wissen was die meiste Performance zieht. Dazu kommen wir in den nächsten Abschnitten.


    4. UE4 Profiler

    Ganz gemein daß ich dieses Unwort hier raushaue. Die meisten Hobby Programmierer wissen nicht mal was der Profiler ist. Und die anderen meiden ihn meist wie der Teufel das Weihwasser. Nicht ganz zu unrecht - denn er ist kompliziert und es kostet viel Zeit sich damit auseinanderzusetzen. Aber der UE4 Profiler ist ein extrem professionelles Tool um zu messen was in eurem game wie viel Ressourcen verbrät. ABer auch wenn ihr euch nicht viel mit dem Profiler auseinandersetzt und ihn nur mallaufen lässt ist er schon sehr wertvoll durch die Kennzahlen CPU und GPU. Verbrätder Render thread bei euch 99% - dann Gratulation - es ist wirklich nur die Grafik. Ihr habt was Event tick ud co angeht nix dummes gemacht. Gibt esneben dem Render thread aber noch andere "Fresser", dann müsste man sich die eigentlich programmierung ansehen. Habt ihr einen "On Tick" überladen? Nutzt ihr zu viele "get all actors..." Abfragen? Oder zu komplizierte Schleifen?


    5. Render thread - oder: Hilfe die Grafikkarte glüht

    Das ist wohl meist das Problem. Ja klar ein 3D Spiel nutzt die 3D Karte schon. Aber oft gibt es hier was zu optimieren. Hier gibt der Viewport schnelle Hilfe. Standard ist die Ansicht "Lit" im viewport - verwendet mal "Optimization Viewmodes". Interessant sind hier "light Complexity" und "Shader Complexity", was euch einen Überblick gibt wo Lichter und wo Materialien sehr teuer zu errechnen sind.


    6. Materialien - muß man alles haben?

    Das UE4 default Material ist sehr genügsam. Transparente und reflektierende Materialen dagegen kosten mehr. Könnt ihr in eurem 4K Monitor die Material nodes nicht auf einer Seite darstellen dann ist das ein zeichen für ein recht komplexes Material. Wie zuvor erwähnt - Shader Complexity gibt euch da gute Anhaltspunkte. Ist hier alles Rot sind Materialien komplex zu berechnen. Nicht nur der Transparenz Modus ist ausschlaggebend - könnt ihr auch mal roughness auf 1 stellen? Muß es reflektieren? Das kostet viel GPU. Dann gibt es noch Texturen. also zum nächsten Punkt.


    7. Texturen - muß es 4K sein?

    Klar wenn eine riesige Wand eine Textur ist dann macht das auch mal Sinn die in 4K zu haben. ABer muß eine Streichholzschachtel oder die Seite eines Würfels 4K haben? Hier muß man mal überlegen a la "Wenn der User eine 4K AUflösung hat (Selten!) und sich dann eine Seite des Würfels anschaut - dann müsste sie schon den ganzen Bildschirm füllen damit er immer noch eine perfekte nicht downscaled textur sieht". Jetzt die Quizfrage - wird er jemals an den Würfel so extrem nahe kommen daß eine Seite den ganzen Bildschirm füllt? Wenn nein dann ist das ein Kandidat um die textur extrem zu verkleinern. Ihr haut euch nur den texture streaming pool unnötig voll wenn ihr alle mini Objekte mit 4K texturen ausstattet. Überlegt mal wie nah man den kommt und es ist manchmal gar nicht so schlimm wenn mal ne 4K textur auf einem 8K Screen in fullscreen erscheint. meist sitzt man eh nicht so nah davor und das Anti-Aliasing macht es sehr viel schöner. Mal reduzieren und probieren.


    8. LOD oder wie ich aus 10 millionen Polygonen 10.000 machte

    UE4 macht auto-LOD. Dumm nur wenn eure Modelle gar keine LODs haben. LOD heisst "Level of Detail". Sprich je weiter weg die Objekte desto weniger detailliert. Gibt geile Plugins wie "InstaLOD", mit denen man sehr komplexe Modelle in den höheren LODs stark reduzieren kann. Nutzt das wenn Polygone der Killer sind.


    Manche Modelle die eh nur aus Entfernung sichtbar sind kann man grundsätzlich downscalen, also mal probieren.



    So ich bin erst mal platt vom Schreiben. Vielleicht erweiter ich das bei zeiten.

    Kannste machen aber ich kann nicht garantieren daß ich es zeitnah schaffe das zu kompilieren.


    Versionsprobleme sehe ich aber in ant auch noch:


    Fixing minSdkVersion; NDK level above 19 requires minSdkVersion of 21 (arch=armv7)


    Wie der Fehler sagt - du solltest lieber NDK Level 19 verwenden.


    Normalerweise sollte der Installer der bei deiner UE4 Version dabei ist eigentlich die optimalen Versionen installieren. Die Verbindung UE4<->Android ist EXTREM empfindlich was SDK/NDK Versionen angeht. Machst du da nen Fehler bekommst du es nie kompiliert. Hab ich auch lange mit gekämpft bis ich es gerafft habe.

    In einem normalen Spiel ist der Maßstab relativ wurst, da kannst du auch alles 10 mal größer machen - das AUge bemerkt den Maßstab ja nur im vergleich der Objekte.


    Trotzdem hat mich die ERfahrung gelehrt daß es einfacher ist einen realistischen Maßstab zu nehmen, weil...


    1. In VR merkst du das sofort. Auf dem flachen Bildschirm raffst du nicht daß der Mann und der Türrahmen je 20 meter groß sind - wenn alles 10 mal größer ist fällt es nicht auf. In VR kommt es dir dann aber so vor als wärst du eine Stubenfliege im Land der Riesen


    2. Wenn du viele Objekte importierst nervt es wenn deine Welt einen falschen Maßstab hat. In der Regel kommen alle assets aus dem UE4 store und ähnlichen Quellen im richtigen Maßstab. Von daher musst du nix skalieren wenn deine Welt auch den richtigen Maßstab hat.



    Was hilft:


    - UE4 mannequin. Ist etwa so groß wie ein typischer Mann. Den kann man immer gut in eine Szene zu setzen um zu sehen daß der Maßstab stimmt.


    - Maßband. (Distance tool). Mitllere Maustaste gedrückt halten und abmessen. Funktioniert am besten in den Seitlichen und dem Top view.

    Ich habs nicht beantwortet weil es für mich nicht ganz so pauschal ist. Ich finde es kommt immer auf das Spiel an. Bei einem 3D Spiel, also sowas wie Skyrim, Life is strange oder einem FPS finde ich die Grafik sehr wichtig, da sie ja den Maßstab für den Realismus setzt. Will das Spiel realistisch sein, also eine Simulation der Wirklichkeit dann muß die Grafik schon Top sein. Klar ein Puzzlespiel muß nicht grafisch top sein. Ich spiele auch gerne auf Steam "Convenience Store" oder "bakery" - obwohl das eine Simulation ist hat man es im Comic Stil gehalten. Spaß macht es trotzdem.

    Ich würde gerne nochmal VARest ins Spiel bringen. Damit kann man ja auch per REST Daten auf einenWebserver übertragen und somit eine Datenbank füllen. Muß ja kein Webserver im Internet sein sondern kann auch einer im heimischen Büro sein.



    Ansonsten gibt es - wie immer - auch ein schönes Englisches Video Tutorial in dem es darum geht aus einem UE4 Data table in eine CSV Datei zu exportieren. Finde ich gar nicht mal so schwer.


    Eine SQL Datenbank würde ich nur bedingt empfehlen. Wenn die Datenmengen riesig sind bietet es sich natürlich an - wenn die Anwendung nur inhouse genutzt wird auch nicht so schwierig. Soll die Anwendung aber verteilt/verkauft werden in die ganze Welt baut man sich evtl. viele Probleme auf, das fängt schon damit an daß bei vielen die lokale Firewall den SQL Server blockiert, Virenscanner reingrätschen, Berechtigungsprobleme entstehen können usw.


    Bordmittel gibt es meines Erachtens nach NICHT. Es gibt aber viele freie und kostenpflichtige Plugins für MS-SQL, mySQL, sqlite usw. Das kostenlose VARest unterstützt wenn ich mich recht entsinne mysql.

    Grundsätzlich kann man mit Bordmitteln data tables nur lesen (!!!). Data tables sind per Definition "Statisch", sprich du importierst ne CSV und die ist dann "In Stein gemeisselt" für UE4.


    Wenn du dynamisch damit arbeiten willst nimm ein Struct array. Das kannst du ja auch initial beim start aus einem data table befüllen.