Posts by Kassa

    Hi,


    Wir haben heute die neuste Version im Multiplayer gespielt, über Steam Friends. Beim Host war alles ok, aber bei mir als Client haben irgendwie die Chunks nicht richtig geladen. Wenn ich "refreshallchunks" eingebe laden irgendwie jedes mal andere Chunks und manche laden wieder nicht. Ausserdem sind die Chunkgrenzen irgendwie nicht verbunden. Und ich kann auch in die Chunks nichtmehr reinlaufen (wahrscheinlich weil sie nicht geladen sind). Manchmal überlagern sich Chunks irgendwie auch, also zB waren 2 Schichten Wasser zu sehen, also ob der Chunk 2 mal versetzt gerendert wird, oder vielleicht sind die anderen Chunks einfach verschoben so dass sie über den anderen liegen. Keine Ahnung genau was da passiert. ^^

    Das Spiel neustarten oder den Host neustarten hat nichts weiter bewirkt.

    Ganz ehrlich, mach dir mal nicht son Kopf wegen Unreal. ^^ Ich habe knapp 2 Jahre an einem Spiel ähnlich wie Rising World in Unreal gearbeitet und die Performance war wirklich grausam. Besonders wenn man Grass/Bäume (alles was transparent ist) rendert. Es läuft vielleicht ganz ok wenn man immer die neuste Hardware hat, aber mit der Engine grenzt du alle Leute aus die keine aktuelle Grafikkarte haben.

    Als Beispiel guck dir diese Demo an: https://www.youtube.com/watch?v=b8P2hz8ha9k


    Ich weiss nicht ob Unity ähnliche Performance hat, wenn man die HDRP benutzt. Aber immerhin kann man in Unity zur Not auch auf Forward Rendering umstellen. Unreal hat zwar auch Forward Rendering aber es bringt auch nicht besonders viel.

    Und dann noch dieses ständige recompilen was einfach ewig dauert wenn man programmiert. Oder dass einfach mal random 5000 Shader recompilen müssen für Stunden. Einfach nervig. Mit den neusten Versionen scheinen die Performance Probleme auch immer schlimmer zu werden.


    Ausserdem hat Unity jetzt DOTS/ECS was vielleicht auch nützlich ist, wenn man mal tausende Tiere im Spiel haben will wie in Minecraft, wenn man Kühe farmt oder so. Generell ist der Entwickler-Alltag viel schöner mit C#/Burst. Unreal C++ ist auch eine Tortur ohne Jetbrains Rider, und Rider braucht auch immer ewig um das ganze Resharper Zeug zu laden.

    Auch kommt dazu, dass man in Unreal alles mit Shader Graph machen muss, man kann nicht einfach mal n normalen Shader schreiben wie in Shaderlab.


    Ich denke auch was modding support angeht ist Unity viel besser, eben wegen C#.


    In Unity mit dem built-in renderer kann ich tausende Instanzen von Grass rendern mit AlphaToCoverage (MSAA für cutouts) und hab immernoch extrem hohe FPS. Das wär zum Beispiel in Unreal einfach undenkbar.

    Naja das interessiert vielleicht die Leute nicht die ne RTX karte haben, kann sich aber eben nicht jeder leisten... ich bin mir aber auch nicht sicher ob Unreal sooo viel besser läuft auf rtx karten.


    Naja, ich will hier auch nicht Unreal total schlecht machen, ich will nur darauf hinweisen, dass man die engine nicht idealisieren sollte. Es gibt auch sehr viele Nachteile. Ich habe mein Projekt zum Beispiel abgebrochen, weil es mir unmöglich wurde gute FPS zu erreichen, obwohl ich monatelang ständig im Discord nacht Rat gesucht habe, alles mögliche probiert habe an den Settings zu basteln und und und. Die Engine macht einfach extrem viel ohne dein Einverständnis. Das kann zwar gut sein für manche, aber in meinem Fall fühlt es sich an wie wenn ich einfach nicht gegen die Engine ankomme.


    Und dann auch noch wie alles immer in .uasset dateien umgewandelt wird, das nervt auch. Das hat Unity auch nicht. da bleibt im Projektordner eine JPG datei eine JPG datei und wird nicht zu irgendeinem format was man dann nichtmehr benutzen kann.


    Naja vielleicht wäre es bei dir anders gelaufen, wer weiss. Mir fällt halt nur auf wie ihr immer meint Unreal Engine ist ja so viel weiter als Unity. Das stimmt einfach nicht unbedingt. Die Engine zwingt dir sehr viel auf ohne dass du eine Chance hast groß was zu ändern.

    Das Problem in dieser Version ist ja, dass die Materialien auf 300 limitiert sind wegen der ID. Er müsste dann auf jeden Fall ein anderes System für Material ID's nutzen. Ohne jetzt was vorweg nehmen zu wollen, denke ich schon, dass red es diesmal so machen wird, dass man neue Materialien hinzufügen kann.

    Just updated the mod. It didn't really work because the block id's / shapes were wrong and you'd get random false blocks in your inventory. Now it works for all shapes. In the source code you can see it took a bit of work, but now it works flawlessly. If any block shape doesn't work report it please. I tested it a bit and all shapes I tested worked fine.


    Download link is updated in the first post.

    red51 It actually was a problem with the model, regarding the lighting.

    But it seems like the flower going black sometimes when I switch between tools and the flower item in my hand, still persists.

    This is the source code: https://paste.ofcode.org/3aVSxpM9mA2ABw7xHJBRDCZ (work in progress)

    This little plugin randomly places small, medium or large flower variations instead of just one single flower.

    It also has a 3/10 chance to plant wild plants, depending on each flower.


    White Flower = Hogweed

    Yellow Flower = Nettle

    Blue Flower = Rowan

    Red Flower = Fern


    This way you will have access to all wild plants (nettle, hogweeg, rowan and fern) and also to all flower variations (small, medium, large).


    Just extract the .zip file into your plugins folder.


    Source Code: https://paste.ofcode.org/GDAtQ7m6QKidVH4MYuyRJN

    This little mod makes blocks go directly into your inventory, when you destroy them with any tool.

    Do not use a hammer anymore or you'll get a block into your inventory and also a block on the ground. (or do it if you want to multiply blocks :P)

    Be careful! If your inventory is full then blocks will just be destroyed.


    Works in Singleplayer and Multiplayer. Just extract the .zip file into your plugins folder.


    Source Code: https://paste.ofcode.org/38Wahny2RbvNr8PfyLRp7bZ

    Files

    • PickIt.zip

      (1.99 kB, downloaded 458 times, last: )

    Since I don't know how long it'll take for the new version to be fully playable (with renting a server etc.), I'd like to post my wishlist for the Java version. Since it doesn't make much sense to make new content for this version, I'd only wish for some polishing updates.


    1) Planks/Beams for all materials integrated into vanilla survival workbenches.

    2) Make wild 3d plants (like nettle, fern, hogweed, rowan) pickable and placable.

    3) Make flowers placable in all variations (small, medium, large)

    4) Automatically pick up blocks laying on the ground in close distance, like in Minecraft (destroying big buildings with a hammer and picking up every block by hand can be quiet annoying)

    5) Stop making the bear chase you forever. Maybe just adding a timer so they re-check if you are still close to them every 5-10 seconds or so.

    Oh I think the model is really missing normals. Downloaded it somewhere and didn't think it'd be that bad, also noticed that it has waaay too much vertices. I'll try again with another model next days. If it's still not working I'll post again. ^^ You'd think the 3d artist cares about keeping it low-poly etc., but nah....

    The code is basically the same as your Custom Model Loading plugin. So it must be a problem with the model.

    Hi,


    I loaded a flower plant into the game via a self-made mod, just somehow it has only 1 light value which seems to be based on the overall rotation of the model, not on the individual normals.

    The other problem is that that backsides of the leaves don't get rendered because of backface culling, is there some way to enable rendering the backsides too?

    And last but not least a problem I have is that the model I hold in my hand and the model placed on the terrain are the same (same .obj and texture files, but they don't share the same ModelInformation instance etc.) - When I switched the item in my hand to another item suddenly all flowers are going black. When I switch back and forth they sometimes become colored again and then when I keep switching they go back black again, weird.

    I attached two screenshots of the all black issues and the lighting issue.

    Wie wird eigentlich das Licht funktionieren? Voxel-basiert mit einem Flood Fill Algorithmus wie in Minecraft? Vor allem würde mich interessieren inwiefern Objekte, die nicht im Voxel-Grid sind (Balken, Bretter etc.) Licht blockieren. Oder wird es einfach dunkler je tiefer die Y-Koordinate ist?

    Und wie wird verhindert, dass zum Beispiel Fackel-Lichter durch Wände scheinen?

    Ich weiss noch wie ich damals auf Steam empfohlen habe auf Unity zu wechseln. Freut mich, dass das so viel Früchte getragen hat, war eine super Entscheidung von dir zu wechseln! Freut mich auch, dass ich mit meiner Empfehlung richtig lag, mit Unity kommt man einfach 1000 mal schneller vorran und man kann sich richtig aufs Spiel konzentrieren, statt auf die Engine. Freut mich, dass du so tolle Fortschritte machst. Ich hoffe auch, dass es sich für dich finanziell lohnen wird, steckt immerhin enorm viel Arbeit hinter so einem Spiel und du bist ja dann auch angewiesen auf neue Kunden, weil wir das Spiel schon gekauft haben.

    Sieht richtig toll aus! Tausend Dank, gibt wirklich kaum Angebot für so realistische Voxel-Spiele (ohne Sci-Fi Thema).

    Ich weiss woran es lag.


    Ich habe immer nur positive density Variablen ausgerechnet mit der density Funktion. Hier ein Beispiel:

    Muss ich wohl rausfinden wie ich eine ordentliche glatte Density-Funktion erstelle für die Voxel-Map.


    Edit: Hat geklappt hiermit ^^:


    if (y < Mathf.Floor(height))
    {
    value = 1.0f;
    }
    else if (y == Mathf.Floor(height))
    {
    value = (height % 1.0f);
    }
    else if (y == Mathf.Ceil(height))
    {
    value = -(1.0f - (height % 1.0f));
    }



    Cool, danke für die Antwort. Ich finde das originale Marching Cubes geht noch recht einfach zu implementieren. Was ich aber komisch finde ist das meine Terrains immer blockig werden. Also so Stufen-artig.
    Also selbst wenn ich zum Beispiel als Density-Funktion habe:


    height = x * 0.01f + 15.0f;


    Und dann als density Funktion:


    if (height < 15.0f) density = 1.0f
    else if (Mathf.Floor(height) == 15.0f) density = height % 1.0f;


    Dann müsste er mir ja immer wenn die Höhe über 15.0f ist den density Wert geben, der sich jedes mal um 0.01f erhöht. Also praktisch müsste jeder Punkt x dann bis zu 15.0f aufgefüllt werden und darüber hinaus dann nur mit 0.01f Schritten langsam höher werden. Was er dann aber bei mir macht ist dass er praktisch alles rundet auf 0 und 1. Also praktisch bleibt das Terrain dann immer bei mir gleich hoch und macht dann nur einen Schritt wenn es einen gewissen Density Wert überschreitet. Das sieht man ja auch oben im Bild, das ist Perlin Noise und da macht er dann auch einfach einen Schritt.


    Ich habe da auch mehrere Interpolation Funktionen probiert, eigtl. die üblichen die auch überall so benutzt um empfohlen werden, aber irgendwie will es einfach nicht. Weisst du eventuell womit das zu tuen hat? Hattest du das Problem auch am Anfang?


    Und benutzt du irgendwie kleinere Werte für die Zellgröße als 1? Also ist bei dir eine Zelle 1.0fx1.0fx1.0f groß oder muss man das vielleicht halbieren damit das "glatter" wird? Aber dann müsste man ja auch die doppelte Anzahl an Voxels laden. Und irgendwie wäre es ja dann trotzdem auch Stufen-artig, nur halt kleinere Stufen.


    Bei Transvoxel habe ich dieses Stufen-Problem komischerweise genauso wie bei der Lösung von Paul Bourke (hatte ich auch schonmal ausprobiert).

    Vorweg die Frage stellt sich eher direkt an red51, da ich denke mir wird kein anderer helfen können. ^^


    Ich versuche gerade in Unity Transvoxel zu implementieren. Ich habe mir auch das originale Papier von Eric Lengyel durchgelesen, aber irgendwie reicht mir das nicht um es auch implementieren zu können.
    In der PluginAPI von Rising World sehe ich, dass es auch LOD Chunks gibt, also müsste das Spiel ja auch irgendeinen LOD Algorhithmus haben für Marching Cubes.
    Da die Unity Version ja mittlerweile auch schon ein Terrain hat müsste das ja auch schon komplett implementiert sein mitterweile in Unity und C#.
    Hättest du vielleicht irgendwelche Hinweise wie ich es schaffe es wirklich auch umzusetzen? Irgendwie fühle ich mich einfach nur ratlos, suche echt schon seit Monaten auf Google (eigtl. sogar schon seit über einem Jahr) und ich bekomme es einfach nicht hin und fühle mich nur frustriert. Irgendwie stößt man nur auf zusammengeschusterte Source Codes die nicht funktionieren (die Source Codes kann man aber auch an einer Hand abzählen) oder man trifft auch Tutorials/Artikel die im Grunde die Implementierung komplett auslassen. Also im Grunde muss man es irgendwie einfach selbst wissen wie es geht. Aber ich befürchte wenn ich es selbst rausfinden will sitze ich noch 2 Jahre daran.
    Ich frag mich einfach nur wie du es damals schon so schnell geschafft hast das umzusetzen? Hattest du da irgendwelche Resourcen oder hast du dir es einfach selber ausgedacht oder bist du einfach intelligent genug dafür und ich verstehe es einfach nur nicht? ^^


    Würde mich total über Hilfe freuen, ich könnte jeden Tag meinen Kopf gegen die Wand hauen bei jedem erneuten Versuch.


    Mein letzter Versuch war das hier zu Unity zu konvertieren: https://github.com/BinaryConst…NA/tree/master/Transvoxel
    Die Tabellen lassen sich natürlich leicht übertragen. Aber der SurfaceExtractor ist schonwieder grausam zu entschlüsseln. Vor allem wenn es losgeht mit irgendwelchen Byte-Operationen für Variablen die keine ordentlichen Namen haben, nur einzelne Buchstaben. Ich könnte echt nur heulen.


    Hier was ich schon habe als Code (wenigstens etwas davon hinbekommen ^^): https://pastebin.com/BHuryGF1


    Gibt es eine Möglichkeit im Survival Modus auch Büsche, Blumenbüschel (nicht nur einzelne Blumen) oder andere Gräser (gelbe Gräser usw) zu platzieren? Falls es nur über Konsole und mit Adminrechten geht, was muss ich da machen, damit ich die Sachen platzieren kann? Kann ich sie mir vielleicht ins Inventar cheaten?