Beiträge von cleanTron

    Das scheint mir wertvoll aber ich glaub ich meinte einfach nur Spline Kurven und nicht Pfade.

    Erinnerst Du Dich noch darn wie ich meinte das ich nie ein Problem beim Umstieg auf ne neue Engine Version hatte? Das war auch so und nur kleine Änderungen haben die Levels wieder kompatibel gemacht. Ich hatte aber nie probiert das Projekt zu verpacken, ich dachte wenns im Editor läuft wirds auch als exe laufen. Dem ist nicht so ^^, genau diese Engine Konvertionen verursachen beim packen massive Fehler. Hätt ich mal besser zugehört.

    Mir geht auch Tomarrs Vorschlag echtzeit Lichtquellen für Projektile zu verwenden immer wieder durch den Kopf. Wie kann der auf so ne verrückte Idee kommen, der is doch komplett wahnsinnig.

    Gut, wenn ichs von Anfang an richtig aufgebaut hätte wäre vielleicht sogar das möglich.

    Naja, soweit hab ich die optimierung von 30fps medium auf 40fps episch einstellungen gebracht. Interessanterweise warn gar nicht die Nanite Landschaften ressourcenfressend sondern use simple as komplex kollisonsmodell bei Hintergrundgrafiken die eigentlich gar keine Kollision brauchen. Niagra hat sich auf meinem alten PC auch als schwierig herausgestellt, möglich das das an meiner PS4 artigen alten Hardware liegt aber allein das löschen von bewegten Niagra Effekten hat im medium grafik setting 20 fps gebracht.

    Spilne ist doch nur eine 3d vektorkurve wie ein pfad in illustrator oder corel draw. Die interpolation gibt doch an wie weich die Kurve wird.

    Kennt ihr noch NURBS?- non uniform rational b splines? also Vektorflächen? Hat sich nicht durchgesetzt obwohl es sicher gut war.

    Bilder

    • 2026_s1.gif

    Bei Dir muss ich allerdings auch sagen, Du gehst bei Problemen nicht gerade analytisch und strukturiert vor, weil Du eben halt nur ein Tutorial nach dem Anderen in Dein Projekt einbindest, ohne zu verstehen, was wirklich passiert. Es funktioniert bei Dir halt irgendwie und das war es. Aber sobald eine Änderung der Situation eintritt, suchst Du entweder wieder ein passendes Tutorial oder fragst die KI. Bei letzterem weißt Du aber gar nicht genau, wie Du das Problem beschreiben sollst, weil Du Deinen eigenen Programmcode gar nicht verstehst. Es ist völlig egal, ob Du eine KI oder einen echten Menschen fragst, "KI spawned nicht, was ich sollen tun?", was soll Dir Dein Gegenüber dann antworten? Also setzt Du dann alle Werte auf irgendwelche Maximumwerte und weiß gar nicht, was dann passiert, irgendwie ist der Player dann da.

    Ich habe zwar auch bei weitem nicht für alles eine Antwort und weiß out of my Brain wie was funktioniert. Aber Du musst halt Deinen Code und Deinen Level mal analysieren, dadurch lernst Du halt auch immer dazu. Und da bist Du halt auch leider sehr lern- und beratungsresistent. Das kann ich Dir bestimmt noch 1.000 Mal so sagen, Du wirst es mit sehr hoher Wahrscheinlichkeit nicht umsetzen.

    Ich gehe Lösungsorientiert vor. Ich setze um was ich mir vorstelle und ich hab sogar Srass dabei wenn die KI mir erklärt wies gemacht wird aber dabei ulkiger Scheiss bei raus kommt. Heute hab mal als Aufgabe gesetzt das standard Gegner aus einer art Krater rausgespuckt werden. Das sah echt lustig aus als es nicht richtig funktioniert hat. Das hab ich dann selbst mit dem WIssen das ich mir über die Jahre angeeignet hab korrigiert. Sieht nicht mehr so lustig aus aber funktioniert so wie es soll.

    Ich kann DIr sagen das ich da ein Spiel spiele das noch niemand sonst gespielt hat. Ich denke ich sollte langsam auch mal andere spielen lassen nur hab ich bisher an der Funktionalität gearbeitet und wenig am Spielspass. Dabei hab ich selbst noch am meisten Spass.

    Das ist nicht ganz richtig. Auch bei Minecraft werden nicht benötigte Flächen nicht gerendert. Minecraft nutzt Backface Culling und Occlusion Culling um nicht sichtbare Flächen und nicht sichtbare Blöcke wegzulassen. Das erkennt man an einigen speziellen Blöcken wie den Türen auch, ohne da jetzt detailliertes Wissen über den Code von Minecraft zu haben. Man sieht es halt schon, wenn man nah dran ist und vor einer Tür mit Fenster steht.

    Und auch generell gesehen, dass die Voxelbasierten Landschaften nicht so performant sind, das kommt immer auf den Alghorytmus an. Es gab schon auf dem Amiga voxelbasierte Landschaften und so genial der Amiga auch war, die überragende Rechenpower konnte man ihm nun wirklich nicht vorwerfen, oder einen Überschuss an RAM oder so. Klar, die Landschaften waren einfacher, aber so viel nun auch nicht. Ob man da jetzt jeden einzelnen Punkt als farbigen Voxel setzt, oder Blöcke, das tut sich nicht viel. Eigentlich wird immer in Punkt im Raum berechnet, nur einige Voxelalgoritmen belassen es bei Punkten, nennt sich dann Point-Cloud-Rendering, zumindest früher. Was Minecraft macht, ist Greedy Meshing, was natürlich extra Rechenzeit kostet, aber das hat nichts mit dem Voxelago zu tun. Und, ich weiß gar nicht, wer das war, aber er hatte hier, ich weiß gar nicht, ein Video oder gar eine Demo gepostet, wo wirklich sagenhafte detaillierte Voxelobjekte generiert wurden und das sehr performant. Gut, von der Größe her jetzt nicht ganz Bildschirmfüllend, dafür aber sehr hochauflösend.
    .
    Und klar kann das die Unreal Engine auch, nur halt nicht out of the box. Du musst dich da halt um den Algorithmus selber kümmern.

    Ich hab Dir doch mal die Geschichte von dem Level erzählt das ich aufgegeben hab. KI konnte mir da kein bischen helfen. Es erscheint kein Player war das Problem. Ich hab im MCP nachgefragt warum spannt der Player nicht im Level. In purer Verzweiflung hab ich alle Werte auf Extrem gesetzt, Player spawn bei z 60000 und so unwahrscheinlich das klingt war das die Lösung. Als ich den Player spwan auf 600000 gesetzt hab ist er wirklich gespawned, zwar im freine Fall und auch nur kurz aber das war anders als sonst. Ich hab dann so lang rumgeschoben bis ich einen Wert auf um die 50000 als Anhaltspunkt ermitteln konnte. Moment, da steht 48750 bei Kill Z, was ist das?, das war der Fehler, ich hatte Kill Z bei +48750, lol. Jetzt funktioniert mein 2.2 Level wieder welcher auch der Grund war für meine vektor, point cloud, voxel Überlegungen. Naja mehr das shallow water river, ich dachte vielleicht verursacht das den Fehler aber nee, Kill Z in den Welteinstellungen bei +48750. Ich hab das jetzt erst ma auf minus 10000 gestellt.

    Was soll sie denn sonst machen? Ich meine, was erwartest du, was sich für dich ändert? Unter der Haube wird ständig etwas gemacht. Es gibt auch jede Menge Änderungen. Ich meine, Niagara gab es nicht von Anfang an, oder das Chaossystem, für Destruktion, das Animationssystem ändert sich usw. Und du siehst doch die Roadmap. Da ändert sich haufenweise. Oder was erwartest du jetzt von der Engine? Dass du sie startest und du kannst dann das perfekte Spiel in dem Genre spielen, welches du dir gerade ganz doll vorstellst?

    Ja da hast Du ja Recht, unter der Haube läuft so Einiges. Im Prinzip vermisse ich nur die Physik. Vielleicht sollte das von Grund auf eher so wie Minecraft oder der alte PS VR creator aufgebaut sein. In UE5 definiert man ja immer noch eine Fläche, gibt dem ein Material und darauf läuft der Charakter. Vielleicht sollte das standardmäßig schon ein Volumen sein. Eine Ebene mit Sand Textur wird automatisch in der Tiefe zu Sand. Mit der KI EInbindung wird sich das eh noch mal komplett verändern vermute ich. Die Ki wird wohl in Zukunft nicht nur helfen in der Spieleentwicklung, man muss bei der Story vielleicht gar nicht mehr eine Geschichte erfinden sondern lässt die KI offene, angepasste Storylines kreieren oder sind Grafikengines dann überhaupt notwendig wenn Bilder zu Welten umgerechnet werden? Sowas wie hier im Anhang ist ja quasi schon das gerade ganz doll vorgestellte ohne echte 3D Engine, das hat sicher noch ein paar Stunden Rechenzeit gebraucht aber nicht mehr lang dann geht das in Echtzeit.

    Naja, schlecht aussehen tut es ja nicht. Und jetzt kommt es halt darauf an, welcher Tick da arbeitet. Ist es der Tick in deinen Treppenstufen, dann könnte es okay sein. Also, wenn die Treppenstufen quasi die Position deines Spielercharakters kriegen und sich dementsprechend angepasst materialisieren, dann könnte es klappen. Bedenke aber immer, dass es auch Spieler mit schwächeren Rechnern gibt, ich weiß nicht, wie es bei denen aussieht. Aber, wenn es einen Auslöser gibt, der die Stufen aktiviert und einen, der sie deaktiviert, dann passiert das ja nicht während der ganzen Zeit, es ist dann nur in diesem Bereich so und nur für die Sequenz.

    Wenn das aber immer über den ganzen Level hinweg aus irgendeinem Grund läuft, dann halte ich es halt schon für kritisch, weil, ich denke mal, da wird ja noch mehr irgendwann ablaufen.

    Ich könnte damit ganze Levelstrukturen dynamisch verändern und es muss ja nicht über Entfernung gesteuert sein. Das hat aber einen Sphere radius in dem es reagiert und weil ich jetzt doch mehr an der Optimierung arbeite wird das erst nach einem Event aktiviert, eigentlich gehört da noch eine transparenzblende, mhmm, irgendwo hin, ins Material?, in den Sequenzer? Besser ich such ne neue funktion die in einem radius um den player Charakter genau dieses Objekt sanft und weichgezeichnet einblendet. GEht ist aber aufwändig und mir eigentlich völlig unbekannt in der UE, also ich bin mir sicher das das geht aber ich hab keine Ahnung wie und ob ich das überhaupt brauche. Zur Not kann ich ja auch die alembic datei neu aufbauen. Aber was ichjetzt machen muss damit ist eine krass aufwändige Zerstörung eines Hangars während der Player Char dain läuft. Jetzt hab ich aber ein problem, es wird für die Zukunft nur noch Niagra partikel empfohlen, das läuft auf meiner alten Gurke aber gar nicht gut. Ich musste Teile auf Cascade umbauen um die framerate von 2fps auf 30fps zu pushen. Das heisst das beides nicht geht und ich die UE Partikelsysteme nicht nutzen kann. Dann wohl doch wieder über alembic.

    Aber das Thema hier ist doch ein ganz anderes. Zudem in welchem Kontext. Und dann eine meiner ständigen Fragen, wieso löst du eine Animation pro Tick aus? Und wieso hast du einen Branch im BP, der ins Nirgendwo führt?

    Ach UE 6 war war Thema, ja damit hats nix zu tun, sorry. Ich war einfach so begeistert von der Funktion das ich es in einen lebendigen Teil des Forums teilen wollte. Böse ausgedrückt "attention whoring", netter wie ich es gedacht hab "wtf, das funktioniert ja wirklich" Den branch der ins Nirgendwo führt nicht beachten, das hab ich nur nicht weggeschnitten.

    Ich hab auch vergessen zu erwähnen das man eine alembic animation über den Sequenzer steuert.

    Das ist eine fantastische Funktion und ich versuchs mal zu erklären. Es geht dabei um die frei fliegenden Treppenstufen aus dem ot_awesome gif, hehe, hatte wohl doch gemerkt das es ot is ^^. Die Stufen werden durch 3dmax physiksimulationen aufgelöst und zusammengesetzt. Physiksimulationen sind sehr rechenaufwändig aber wenn man das in eine alembic animation exportiert werden nur die vektoren und flächen gespeichert, nicht mehr die Kräfte die den Vorgang ausgelöst haben. Die exportierte animation hat nur 12 keyframes und ist ~700kb gross. Weil die UE aber die Namen der Vektoren und Flächen erkennt kann das interpoliert werden, aus 12 keyframes werden 120 oder 360 ohne nenneswerten rechenaufwand.

    Man sieht das im gif auch weil jeder frame zeigt die optimale position jedes vektors. Keine Zwischenbildberechnung sondern einfach a zu b. Das die Flächen ID mit abgespeichert wird heisst das man auch einfach jedes UE Material zuweisen kann.

    Ob das einen Unterschied macht ob ich das wie hier pro Tick oder aktuellem Frame ausgebe weiss ich nicht, ich glaub das spielt keine Rolle. Der Tick timer zählt ja eh mit und aus dem aktuellen tick wird dann die Position übernommen und als frame ausgegeben. Ne bessere Erklärung fällt mir grad nicht ein, wysiwyg. der screenshoot zeigt was in dem gif passiert, mit den schwebenden stufen, in einer timeline.

    Ja ist echt schwierig auf etwas einzugehen, wenn man nichts dazu schreibt. cleanTron würdest du mal deine Screenshots erklären und vorher schauen in welcher Rubrik das am besten rein passt? Wenn das jeder so machen würde wäre es total chaotisch & dir und den anderen hier im Forum bringt es nichts, weil es einfach keinen Mehrwert bietet. Dir kann nicht geholfen werden und andere können nicht drauf eingehen.

    Na das was man im gif sieht ist die Blueprint Funktion. Es misst die Entfernung und abhängig dazu wird ein frame einer Animation gezeigt. Im gif ist es eine 3d alembic was den Vorteil hat das es echte 3D vektor daten sind und material ids beinhaltet. Dadurch kann es unbegrenzt interpoliert werden und jeder Splitterpartikel kann gemapped werden. Ich fand das war ein wichtiger Meilenstein den ich da programmiert hab und wollts vor allem mit Jester teilen. Das geht zwar auch über den UE Sequenzer aber wenn man wie ich eher mit 3d Studio oder fbx Dateien arbeitet ist das doch eine große Erleichterung. Jetzt hab ich sogar das MCP zum laufen gekriegt und KI direkt in der UE zu benutzen ist echt krass. Ich konnte damit sogar ein uralt Problem halb lösen.

    Damals war es auch eine andere Technik. CRT-Fernseher haben nachgeleuchtet, heutige Monitore haben dies nicht.
    Dazu kommt noch, dass die Latenz der Eingabe damals nicht so ins Gewicht gefallen ist. Du hattest ja nur digitale Sticks, nichts Analoges, wie heute. Die Animationen selbst waren wesentlich weniger aufwendig usw. Deswegen fällt die geringe Latenz gar nicht so ins Gewicht.

    Die Umgebung war ja auch wesentlich weniger aufwendig. Geringe Polygonzahl und, falls bei den Berechnungen irgendetwas rein poppte, war das halt so. Hat niemanden gestört. Heutige Algorithmen sind da wesentlich aufwendiger um das Clipping usw. zu verhindern, was aber den Nachteil hat, dass es nur mit einer hohen FPS-Zahl wirklich gut funktioniert.

    Das gif im Anhang hätte das Master System oder das NES darstellen können 480x240px 16 Farben. Die Röhrenfernsehernostalgie hab ich aber auch mitgekriegt. Es soll ja sogar ein paar HD Röhren geben. "Rekordhalter: Einige 21- und 22-Zoll-Monitore wie der Iiyama Vision Master Pro 514 oder der ViewSonic P815 erreichten vertikale Frequenzen, die Auflösungen von bis zu 2048 × 1536 oder sogar 2560 × 1920 bei niedrigen Bildwiederholraten ermöglichten."

    "Der als größter Röhrenfernseher (CRT) bekannte Serien-Fernseher ist der Sony PVM-4300 (auch bekannt als Sony Trinitron KX-45ED1) aus dem Jahr 1989, der eine Bilddiagonale von 43 Zoll (ca. 109 cm) sichtbarem Bild auf einer 45-Zoll-Röhre bietet."
    Gewicht:
    Über 200 kg.

    also ich hab meist 35fps egal wo ich grad bin auf der map dann bin ich mit meiner hardware noch im grünen bereich weil man mehr fps bekommt wenn das spiel gebuildet ist oder? kann man sagen solange ich nicht unter 30 im editor komme ist das spiel verkaufbar? 4080rtx/13600kf ist ja nicht mehr wirklich hightech und wenn man bedenkt dass das spiel erst in 5-6 jahren fertig ist scheint prognose ganz ok?


    Ist 30fps das Minimum? Ich hab Spiele gespielt die mit 8fps liefen. Alien vs Predator auf Atari Jaguar z.B. und schlecht war das nicht. Myth war mal ein riesen Hit und das hatte im Prinzip gar keine fps. Es kommt halt immer drauf an.

    Ein AAA RPG war z.B. Final Fantasy 15, imo.

    Naja gut, ich komm ja auch vom Rendern und ich glaub ich hab da mal 12 Stunden auf einen einzigen Frame gewartet. Manche musste ich sogar abbrechen weil die fps (frames pro stunde^^) zu lange gedauert haben.

    Was hab ich denn da für einen Mist erzählt?

    Natürlich hat Tomarr da Recht, gif kann nur 256 Farben und ist nativ nicht mal importierbar in die UE.


    Das Problem hat sich ja erledigt. Man kann einfach ein jpg, (besser bmp, tga, tiff, png) als Farbtextur nehmen und eine graustufen Textur um die Opazität zu definieren.

    Leichter wäre es mit png und dann die Checkbox Alpha Kanal an zu machen. Dann braucht man halt keine zwei Dateien.

    Das geht auch Verlustfrei.

    tiff hat den Vorteil das man höhere Farbtiefen verwenden kann aber das spielt in der UE eigentlich keine Rolle. Ich weiß nicht ob das irgendwie für HDR verwendet werden kann. Also diese Bildstandards HDR10 oder Dolby Vision an TVs. Damit kann man manche Farbwerte mehr leuchten lassen. Eigentlich haben die höheren Farbtiefen von tiff nur den Vorteil das bei der Bildbearbeitung kein Color Banding entsteht. Also wenn man einen Farbverlauf vergößert oder weichzeichnet reichen die 16,7 mio. Farben manchmal nicht und es entstehen gleichfarbige Streifen. Das wird durch Grafikkarten Anti Alias eh nicht sichtbar.

    Ich hab jetzt mal nachgelesen welche Formate die UE insgesamt versteht.

    Es gäbe da noch:

    TGA: Der Industriestandard für Texturen, unterstützt Transparenz und ist unkomprimiert (Targa).

    - Hatte ich als Grafiker manchmal Probleme mit, hab ich selten genutzt

    PSD (.psd): Photoshop-Dateien können direkt importiert werden.

    - Das ist interessant aber da müsste man mal nachforschen was genau da unterstützt wird. Ebenen, Filter?

    EXR (.exr): HDR-Format (High Dynamic Range), ideal für hochwertige Texturen und Lighting.

    - Kenn ich gar nicht

    HDR (.hdr): Ebenfalls für High Dynamic Range Bilder verwendet.

    - Wird wohl eher in der Fotografie verwendet

    BMP (.bmp): Unkomprimiertes Bitmap-Format.

    - Kein Alphakanal aber das Format das am Ende eh ausgegeben wird.


    Fazit:

    So wie Du das machst, also eine Farbdatei und eine Opazitätsdatei, geht jedes der Formate, bei png, tiff, tga oder psd kannst Du die Opazität aber auch in einer Datei speichern. Dann lädst Du im Material nur eine Textur und verbindest den Alpha Ausgang mit der Opazität. Bei jpg oder bmp musst Du eine zweite Textur speichern, ich denke in Graustufen, und die dann laden und mit der Opazität verbinden.


    Interessant wäre zu wissen ob und wie sich das auf die Performace auswirkt. Am schnellsten dürfte die Berechnung mit 2 bmp Dateien oder png/ tiff mit Alpha sein, jpg sollte auch kein Problem sein. PSD les ich mir grad durch und damit kann man wohl problematische Fehler machen, das ist wohl auch erst in 5.6 experimentell eingeführt worden. Da würd ich sagen Finger weg, besser baken und in der UE neu zusammen setzen.

    Ging es nicht um animierte Bildformate? Gibt es denn ein animiertes tiff oder png Format?

    @CkeanTron solche Respektlosigkeiten gehen gar nicht. Bitte unterlasse das in Zukunft. So reden wir hier nicht im Forum miteinander.

    Das war in keiner Form eine Respektlosigkeit, im schlimmsten Fall eine spassige Auflockerung aber eher gemeint als eine gefühlte Verbundenheit. Wenn das falsch verstanden wurde möchte ich mich verbindlich dafür Enschuldigen. Möglich das ich das falsch verwendet habe weil ich gar nicht gemerkt habe das ich beleidigend war weil ich die bedeutung mancher Worte nicht oder anders verstehe. Ich kann nur sagen das ich keine Intention zur Respektlosigkeit hatte. Jetzt wo es aber so verstanden wurde überleg ich die ganze Zeit warum, kosenamen die eine gewisse Vertrautheit widerspiegeln sollten doch eher als Kompliment gewertet sein. Ach lass uns das irgendwann mal ansprechen, tut mir leid soweit.

    Also wenn es um Qualität und Alphakanal geht, dann nimm TIFF. TIFF hat keinen Qualitätsverlust und der Alphakanal kann 8 oder 16 Bit.

    PNG hat aber auch einen Alphakanal (8 Bit). Gibt es wirklich Anwendungen, die den Alphakanal weglassen? Habe ich ehrlich gesagt noch nie gehört, aber man lernt ja nicht aus.


    Das sind die beiden die für dich infrage kommen würden.

    Es gäbe auch noch gif. Für freigestellte Inhalte und weiterverwendung online kommt nur png in Frage, tiff ist eher ein Relikt aus der belichteten FIlm Ära. Der HAuptunterschied ist wahrscheinlich das bei Tiff + Alpha der Alphakanal 128 grauabstufungen hat wobei pngbei alpha meist nur zwischen 1 und 0 entscheidet. Das kann man überlagern und weiter berechnen aber die gespeicherten Daten sind bei png für den alpha Kanal sehr viel geringer.Tiff bietet sich dadurch für halbtransparente Effekte an, also da wo es wichtig wie durchsichtig etwas ist, Nebel z.B..

    Für mich gibt es aber eigentlich kein klares „richtig“ oder „falsch“. Jeder bringt seine eigene Sichtweise und Erfahrung mit, und daraus entsteht das, was sich für einen selbst stimmig anfühlt.

    Gerade deshalb ist so ein Forum wertvoll. Auch jemand mit viel Erfahrung kann an einen Punkt kommen, an dem er nicht weiterkommt – und genau da setzt der Austausch an. Es geht nicht darum, wer recht hat, sondern darum, voneinander zu lernen.

    Ich selbst probiere Dinge oft erstmal alleine aus, bevor ich mir Tutorials anschaue. Aber wenn ich merke, dass ich feststecke, frage ich gezielt Menschen, die diesen Weg schon gegangen sind. Und genau das ist für mich der große Vorteil hier: Man kann auf Erfahrung zugreifen, die man selbst noch nicht hat.

    Am Ende ist es ein Kreislauf. Die, die dir heute helfen, standen früher an einem ähnlichen Punkt. Und irgendwann bist du selbst derjenige, der anderen weiterhilft – was du ja auch schon gemacht hast.

    Vielleicht hilft es, das Ganze mehr als offenen Austausch zu sehen und weniger als richtig oder falsch. Dann fühlt sich Weiterentwicklung auch nicht wie ein Kampf an, sondern eher wie ein natürlicher Prozess.

    So ein Quatsch, natürlich geht es nur darum wer letztendlich Recht hat. Abergäubiges Weibsvolk will uns nur vom Kurs abbringen. :S

    In dieser Welt heisst es fressen oder gefressen werden..., nicht *dead*

    Ein bischen Raum für Spass muss doch bleiben, oder Zimtschnecke?

    ICh würd Dich so gern verzweifeln hören bei dem zweiten Problem.Ach ich kann Dir ja nix anbieten und selbst wenn ich den ganzen Kickstarter, Patreon, YT monetarisierung aktivieren könnte käm da realistisch betrachtet nicht genug rum. Vorenthalten möchte ich aber auch nicht diese fantastischen KI Interpretationen meines Spiels.