Posts by red51

    Guter Hinweis, das werden wir mit dem nächsten Update ändern ;) Dann wird - sobald das Event von einem Plugin verwendet wird - die Meldung nicht mehr ausgegeben. Zusätzlich wird das InputEvent dann auch Cancellable, d.h. wenn man das Event optional abbricht, dann werden auch die eingebauten Commands nicht mehr abgearbeitet (falls man zB lieber sein eigenes Handling möchte)^^

    1. Ability to control some post effects for players - fog color, fog intensity and ambient light. This will make possible custom underground and underwater rendering, probably some custom effects on specific biomes and so on.

    It's our intention to expose that to the API, but we're still not 100% sure how the game should handle that specifically (because these values may change depending on the player position and the weather).


    Maybe it's sufficient if the API just gets an option to override that? I.e. setting the fog intensity through the API prevents the game from changing that value anymore...

    Probably it's indeed necessary to have this setting per player (instead of a global World method) ^^


    2. Ability to attach same LOD parameters to assets as the game uses with same distances. This should make plugin graphics configurable together with game graphics and will make LOD configuration easier.

    Not sure how such an API should look like... maybe the game could cull these elements automatically (depending on the view distance settings), but the API may get a method to override the view distance (maybe set a relative factor)?


    3. Custom definitions. I think that it was planned earlier (and probably for final API version), so I just included it here. This will be a really powerful feature that will finally make custom things possible.

    Yes, that's definitely planned :) The idea is that you could change any field in a definition class, then call "synchronize()" to sync the changes with the server and the clients. This may look like this:


    Java: Note: This doesn't work yet!
    //Make a workbench weak
    Objects.ObjectDefinition def = Definitions.getObjectDefinition("workbench");
    def.strength = 1;
    def.synchronize();


    Basically any field from our internal definitions are exposed to the API, so you could change anything that way.


    But this isn't implemented yet. The methods are already in place, but they don't work atm.. but it's on our to-do list ;)


    4. Different world generation events to change and modify ho chunks are generated and populated

    This is also planned ;) We're still not 100% sure if it's better to have events (when a chunk or world part is generated) or a way to implement and register a custom world generator module (where you could just override methods like "getTerrain()" or "getChunk()") :thinking:

    1. wäre es möglich mit der neuen API für Unity Version

    eine Möglichkeit zu bekommen eigene Konsolenbefehle einzubauen ?

    Ich meine die Konsole die ich mit ^ aufmache und nicht über Chat und PlayerCommandEvent

    Schwieriges Thema :D Derzeit ist es ja so, dass es noch eine Trennung zwischen Spielbefehlen (Konsole) und API Befehlen (Chat) gibt. Aber grundsätzlich wäre es eine Überlegung, über die Konsole auch PlayerCommandEvents zu bekommen. Es müsste dann aber vmtl. zunächst auf den Spieler ein "registerCommand()" o.ä. aufgerufen werden, damit die Konsole diesen Befehl auch kennt und auch optional die Vorschläge (die bei der Eingabe eines Commands auftauchen) anzeigen kann etc.


    Es würde dann wohl auch das PlayerCommandEvent getriggert (das bräuchte noch eine Methode, um herauszufinden, ob der Command aus der Konsole oder dem Chat stammt) :thinking:


    2. kannst Du bitte mehr Befehle wie printkeybindings einbauen ?

    Welchen Befehl bräuchtest du denn konkret? ^^

    dann hast Du wahrscheinlich eine bessere Grafikkarte als ich :D ... ich denke Deine Vermutung wird richtig sein und bei mir deswegen mal diese oder jene Kerze ausgeht.

    Naja, das Spiel geht dann davon aus, dass es sich um eine schwächere Grafikkarte handelt, wenn sie weniger als 2.5 GB VRAM hat oder wenn es sich um einen integrierten Intel HD Grafikadapter handelt ^^


    Wenn ich mich zu Beispiel entscheiden würde, die Sichtweite etwas runter zu setzen, oder Wolken abzuschalten, dann könnt ich doch vermutlich im Gegenzug den Partikeleffekt rauf setzen!? Ich nehme mal an, das passiert ohne die Einstellungsmöglichkeit derzeit nicht automatisch? :thinking: Dann wäre diese Option natürlich super :)

    Ja, auf jeden Fall, daher ist so eine Option natürlich idealerweise in den Einstellungen verfügbar :)


    Jetzt weiß ich wenigstens warum es bei mir in der Stadt dunkler geworden is, dachte an einen Fehler meinerseits gedacht und fragte mich natürlich, ob ich wirklich überall Lampen vergessen habe. :( Ich habe im Mittelalter Wandfackeln gesetzt und es war schlagartig überall viel dunkler.

    Oh, eigentlich sollte das auf das eigentliche Licht keinen Einfluss haben, das wird separat gehandhabt (abhängig von der Licht-Einstellung in den Grafiksettings - das war aber schon vor dem Update so). Es geht also nur um den Partikeleffekt, also die Flamme selbst (die zwar kein Licht von sich gibt, aber natürlich selbst trotzdem im dunkeln sichtbar ist) ;)

    I tested your code. No crash! Function seems to work properly .

    After i tested again my first variant. All worked fine. :thumbup:


    I am not sure why earlier test server crashed many time with exception UNCAUGHT ...

    Hmm... maybe the x or z coordinate was out of bounds? I just realized that the getLODSurfaceLevel() method has no safety checks :wat: The game works with native memory here, so if x or z is out of bounds (i.e. < 0 or >= 32), it accesses an invalid memory address which may result in a hard crash...

    We'll change that with the next update, so the API will just throw a proper exception then^^


    However, if you run into any other crashes (or if the method mentioned above still causes crashes despite using valid indices), please let me know ;)

    Danke für die config! Crasht es immer beim Startbildschirm? Oder ist das unterschiedlich?


    Wenn du sonst nicht ins Hauptmenü kommst, probiere ggf. einmal testweise, in der config.properties die Werte Graphic_TextureQualityConstructions und Graphic_TextureQualityTerrain auf 0 zu setzen (die waren vorher jeweils auf 1 gesetzt).

    Crasht es dann immernoch im Startbildschirm? Oder crasht es dann ggf. zu einem anderen Zeitpunkt?


    Falls es erneut crasht, kannst du mir evtl. nochmal eine neue Player.Log-Datei senden? :)

    To get the surface lvl at a certain position, you could use the getLODSurfaceLevel() method of the Chunk class - it returns the elevation at a given position, but only takes terrain into account. For example, if you have a particular world position and want to get the surface elevation, you can use the ChunkUtils, as mentioned by paulevs :



    Moreover what happen if i want to work with a chunk which was not yet generated by server ...

    If the chunk doesn't exist, the server will create a new chunk (but it's only generated into RAM - so unless it gets changed, the server won't save it in the database). So basically the World.getChunk() method never returns null (unless an error occurs). Unfortunately this isn't mentioned in the documentation... we'll change that ;)

    The MeshAsset class is only for procedurally generated meshes (i.e. meshes you want to create from scratch by defining individual vertices). That's why it only has a "create()" method and no "loadFromX()" methods ;)


    You can load "PrefabAssets" from the hard drive directly btw (via "loadFromFile()") - in this case the game accepts .obj, .fbx and .zip files (e.g if you have an fbx file with embedded textures, then you can put the textures into the zip file).


    The problem when loading from the hard drive is that it's a bit tricky to assign textures/materials. However, in the near future, the ModelAsset class will get methods to load models from the hard drive (right now you can only load game models). The ModelAsset can then be used with a Model object.


    Right now it's recommendable to load models through Unity (export them to asset bundles, then load them as Prefab through the API) ;)

    Es scheint erstmal so als ob mann Derzeit Wissen muss was im *.bundle enthalten ist
    Ich habe zwar ein GetAllAssetNames gefunden, aber ich finde keinen Zugang dazu

    Ja, der Pfad zum Asset im Bundle muss bekannt sein ;)

    Eine Funktion zum Auslesen aller Asset Namen können wir aber theoretisch anbieten ^^


    Ist der schon enthalten und wie kann ich derzeit eine einfache OBJ und Texture Laden?

    Du kannst ein PrefabAsset auch direkt von der Festplatte laden (PrefabAsset.loadFromFile()). Dort kann direkt ein .obj oder eine .fbx angegeben werden.


    Wenn du eine .fbx Datei mit eingebetteten Texturen hast, dann kannst du auch alles in eine .zip packen und diese zip dann laden.


    Für das Laden einzelner Modelle ist aber eigentlich das ModelAsset vorgesehen (i.V.m. einem Model Objekt). Leider hat es das aber nicht mehr ganz rein geschafft (wir haben die Priorität erstmal auf Prefabs gelegt, weil damit viel mehr möglich ist). Das werden wir aber voraussichtlich mit dem nächsten Update noch nachreichen. Derzeit kann die Model Klasse nur Modelle des Spiels laden.


    Und bedenke, dass rising-world .Bundle ist NICHT gleich mit Unity AssetBundle, falls Du andere Tools / Scripte benutzt.

    Tatsächlich haben normale Asset Bundles das Problem, dass sie plattformabhängig sind (zumindest sobald sie Materials, Shader oder VFX Effekte o.ä. enthalten) :/ Mit dem mitgelieferten SDK von uns kann man hingegen ein plattformunabhängiges Asset Bundle builden (welches dann sowohl unter Windows als auch Linux und Mac funktioniert). Unity kann das allerdings nicht mehr laden, da die Daten darin natürlich von einem regulären Asset Bundle abweichen^^


    Die Plugin API unterstützt übrigens aber auch das Laden von "klassischen" Asset Bundles (was aber aufgrund der fehlenden Kompatibilität zw. Windows, Linux und Mac nicht empfehlenswert ist) ^^


    Aber scheinbar erreiche ich das garnicht, ich habe auch versucht es Unichtbar zu machen

    Habe ich den Richtiegen Phat erwischt?

    Fehlt noch etwas bei setHG() oder ist zuviel, ich wollte ein Vollbild mache ^^

    Es reicht grundsätzlich, nur style.backgroundImage zu setzen ;) Der Pfad ist aber leider nicht korrekt: Du steuerst ein kleines Bild an, welches momentan vom Spiel ausgeblendet wird (das ist für spätere Zwecke vorgesehen) :saint:


    Das eigentliche Hintergrundbild ist direkt der "loadingLayer" zugewiesen, d.h. darauf musst du das "backgroundImage" überschreiben^^

    möchte das Thema mal hervor kramen .... wie weit ist der MülleimerSlot für den Creativmodus auf der Liste nach oben geruscht ... ich hoffe er kommt bald;

    denn es ist wirklich nervig dafür einen Mülleimer hinstellen zu müssen (passen ja auch nicht immer in die Landschaft)

    Im Zuge der letzten Updates ist das leider tatsächlich etwas in den Hintergrund gerutscht, aber fürs nächste Update sind generell ein paar UI Änderungen geplant, gleichzeitig werden wir dann auch diese Änderung umsetzen :)

    I'm not sure about this :)

    Looks like this still can happen (when player moves and new animals are spawning)

    Thanks for bringing this to my attention! There seem to be indeed some situations where animals may still fall through the ground 8| I'll take a closer look at this issue!


    There is also a bug with UI (plant selection and element shape selection) - if you will open it on the second time it will show wrong place in catalogue with missing icons, and for element shapes it will show not all available shapes. Simple movement of a slider fixes this, so looks like it is a visual bug

    This is unfortunately a bug in Unitys UI Toolkit in the recent Unity versions :/ It no longer updates the scroll position properly (it scrolls to the desired position, but as you can see, the scroll bar on the right thinks it's still at the top) - this also results in certain callbacks not being triggered anymore. Entries which aren't visible atm are hidden (at least their texture is hidden) for reasons of performance, but because they don't get proper callbacks anymore (at least if setting the scroll position from code), they remain hidden until you scroll manually...


    We'll update to the latest Unity version for the next update. If that bug isn't fixed in newer Unity versions, we probably have to find a workaround for this :|

    Das Maßband zu fixieren wäre auf jeden Fall eine vorteilhafte Funktion ;) Wir müssten uns mal überlegen, wie wir sowas am besten umsetzen können... derzeit ist das nämlich noch ans Item gekoppelt. Wir behalten das mal im Hinterkopf :)


    Eine Winkel-Anzeige können wir aber hinzufügen^^

    edit:

    Seltsam ... hatte eben einen großen Bereich geblaupaused und stelle fest, dass die Kerzen wieder brennen :thinking:

    ... dafür fehlt jetzt die Flamme bei den nicht angemalten Kerzen

    Hmm... ich konnte das zwar nicht direkt reproduzieren, aber ich habe eine Vermutung, woran das liegen könnte: Seit dem letzten Update werden Partikeleffekte deaktiviert, wenn zu viele davon in der Nähe sind (denn viele Partikeleffekte zB von Fackeln haben sonst einen spürbaren Einfluss auf die Performance gehabt). Das gilt auch für die Kerzen. Allerdings haben die Kerzen eine geringere Priorität, d.h. wenn irgendwo Fackeln sind, dann bevorzugt das Spiel die Partikeleffekte der Fackeln (und die Kerzen werden womöglich ausgeblendet).


    Das ist noch nicht ganz optimal... das müssen wir noch etwas anpassen ;) Wir wollen die Option dafür auch noch in den Einstellungen verfügbar machen, sodass man selber bestimmen kann, wieviele Partikeleffekte gleichzeitig erlaubt sein sollen (derzeit ist das bei schwächeren Grafikkarten auf 16 gesetzt, ansonsten liegt das Limit bei 64).


    Die Falltüren kann man nicht richtig spiegeln. Sie lassen sich zwar spiegeln, aber die Öffnung so zu platzieren, dass man eine Doppeltür erhält die korrekt aufgeht, ist nicht möglich.

    Das konnte ich so leider nicht reproduzieren :monocle: Mit der "Spiegeln" Funktion (standardmäßig Taste "Ende" oder die Option im Radial-Menü) wird der Griff auf die gegenüberliegende Seite gesetzt, die Öffnungsrichtung aber beibehalten. So lässt sich damit auch eine Doppeltür erstellen (bei der sich beide Türhälften in die gleiche Richtung öffnen lassen).


    ein Häschen auf einem Tisch oder Holzplatte oder ähnlichem fest zu spawnen war mir nicht möglich.

    Der Hase landet immer darunter.

    Also bei mir ist der Hase korrekt auf dem Tisch gelandet :thinking: Wichtig ist aber, dass er nicht direkt an der Kante gespawnt wird. Stelle auch sicher, dass er wirklich übern Tisch gespawn wird (wenn er zB geringfügig im Tisch drin spawnt, dann fällt er durch ihn durch).

    Leider können in der API noch keine Pflanzen gespawnt werden :/ Das wird aber höchstwahrscheinlich mit dem nächsten Update dazukommen ;)

    Der Rest, der dafür notwendig ist (zB Terrainpositionen auslesen etc) funktioniert aber bereits, es fehlt also lediglich die Möglichkeit, Pflanzen zu spawnen.

    Die Tiere lassen sich gut steuern, indem man hinter ihnen herläuft und gelegentlich mal an der Seite einen Schubser in die gewünschte Richtung mitgibt. Ist das schon eine gewollte Funktion des Spiels oder wird das noch überarbeitet? An sich ist das Stand jetzt super, da man ja sonst noch keine Möglichkeit hat, Tiere einzutreiben.

    Bei der jetzigen Mechanik ist es durchaus gewollt, dass die Tiere dem Spieler möglichst ausweichen, was man natürlich nutzen kann, um sie irgendwo hin zu führen - auch wenn das manchmal etwas fummelig ist ^^ Geplant ist später auf jeden Fall, dass man das Seil benutzen kann, um Tiere anzubinden bzw. wie an einer Leine irgendwo hin zu führen. Damit hätte man dann volle Kontrolle.


    Die Tiere flüchten bei lauten Geräuschen, was ganz nett ist. Die eingehegten Tiere beruhigen sich aber leider nicht mehr und so springen die Tiere wild durch den Stall ohne je wieder zur Ruhe zu kommen. Die Frage, die sich dadurch ergibt: Müssten aufgescheuchte Tiere sich eine bestimmte Strecke vom Ort des Aufschreckens entfernen?

    Ja, das ist tatsächlich so eine Sache :D Momentan ist es so, dass Tiere bei Verängstigung immer den Spieler als Schuldigen betrachten, und solange der Spieler sich dann noch in der Nähe der Tiere befinden, kommen die nicht mehr zur Ruhe ^^
    Die beruhigen sich erst wieder, wenn der Spieler für einen kurzen Moment weit genug weg war.

    Das werden wir aber auf jeden Fall noch ändern, sodass Tiere die Schuld nicht partout immer dem Spieler in die Schuhe schieben (und sich ggf. auch nach bestimmter Zeit von alleine beruhigen, auch wenn der Spieler noch anwesend ist).

    Hmm... wann lief das Spiel denn zuletzt? Also tritt dieser Crash bereits seit dem API Update auf (oder gar vorher), oder plötzlich erst jetzt?


    Es lässt sich zwar nicht zu 100% die Ursache ausmachen, aber der Log deutet darauf hin, dass dem Spiel nicht genügend VRAM zur Verfügung steht... du hast zwar 4 GB (was eigentlich mehr als genug ist), aber in neueren Unity Versionen i.V.m der HDRP ist Vulkan (zumindest unter Linux) extrem Speicherhungrig geworden (ca. 5-10x höherer VRAM Verbrauch als unter DirectX11). Abhängig von den Grafikeinstellungen sind 4 GB teilweise nicht mehr ausreichend (während die neue Version unter DirectX11 sogar mit nur 1 GB spielbar ist) :/

    Das ist generell ein sehr ärgerliches Problem und wir hoffen, dass sich das noch ändert...


    Kannst du mir ggf. deine config.properties Datei senden (alternativ per PN)?


    Verwendest du übrigens den proprietären Grafiktreiber von NVIDIA?