For me, it Works like System.out.println("Seed["+Server.getBuild()+"] ");
Posts by noci
A new update is now available, introducing fishing, climbing gear, clothes and more!
Latest hotfix: 0.8.5.3 (2025-05-09)
Latest hotfix: 0.8.5.3 (2025-05-09)
-
-
Einfacher und sinnvoller ist es bei einem Prefab eigentlich, die benötigten Texturen direkt beim Vorbereiten des Plugins (in Unity) mit ins AssetBundle zu packen
Ja, der Gedanke karm mir auch schon, einfach ein Bild für die Vorschau mit rein zu Packen
gerne auch mit Registrieren(wenn es Sinn macht)
Ich dachte da an registerMouseButton(Links,Rechts,Mitte,Rad) ähnlich wie bei player.registerKeys zum aun und aus schalten
Wie meinst du das genau?
Was das Färben von Plugin-Ausgaben angeht, meinst du die Ausgaben in der Konsole?Ja die Ausgabe in der Konsole, aber warscheinlich auch eher unwichtig, wenn man etwas sucht ist ein Editor für die Log eh besser und da gibt ja den [Java] eintrag
(int) (long)Long.parseLong
Ich hatte für die Konvertierung der Farbe vom Hex:FFFF FFFF = DEC:4 294 967 295 Probleme weil der Integer ja "nur" bis +2 147 483 647 geht, aber über den umweg das aus einem Long zu hole, den dan zu einem Integer machen und dann kann ich das erst richtig mit ColorRGBA(int rgba)
-
Für Modelle ist später eigentlich dann das Model Objekt die bessere Wahl - dort wirst du auch direkt ein Material zuweisen können
Oke, das Klingt gut🧘🏻♂️
Allerdings ist anhand des Datennamens der Typ oft schon erahnbar
das Reicht natürlich voll und ganz aus
Nein, derzeit leider nicht, da das fertige Modell erst beim Client existiert und der Server keinen Zugriff darauf hat.
Das währe erstmal nur für den Client selber(Ohne das zu Teilen als Poster oder so), an der Stelle wo ich das bräuchte, habe ich das Geladene PrefabAsset ...
Ich könnte da eine Temporäres Prefab erstellen, aber da wehren noch keine TextureAsset erst beim player.addGameObject ?Was wir sonst einbauen könnten wäre eine "getWorldPosition()" Funktion, die allerdings dann mit einem Callback arbeiten muss (da die Position erst vom Client ausgelesen und dann zum Server geschickt werden muss). Dann könnte man mit der API zumindest seine eigene Synchronisierung umsetzen^^
Ja sollte ausreichen
ich habe ein Würfel Mesh in die Handbekommen und da überkarm mich die Idee, einen Ingame Würfel zu machen
um gemeinsam zu Würfeln
Dazu wehre auch eine getWorldRotation() nicht schlechtdamit könnte ich auch herausbekommen welche Zahl oben ist und die LockalRotation bei der Synkronisation anpassen
dann quasi ein PlayerMouseButtonEvent oder so
Ja
gerne auch mit Registrieren(wenn es Sinn macht), interessant wehre da auch isPressd() und ein isDrag() oder vieleicht isHold() damit mann den Plazier Timer umsetzen kann
Hmm... das kann ich bei mir leider nicht reproduzieren
Ja
das habe ich befürchtet
Also ich habe das eigendlich in einer Verschachtelung von Sub-Klassen und Interfaces, alle anderen Player bezogenen Events/Funktionieren wie erwartet. Und beim disableClientsideKeys muss ich ja nichts vorbereiten, registrieren und so, das sollte immer vom Player aus möglich sein(das an und ab Schalten)?
Ich bin jetzt sogar soweit gegangen und habe zu Testzwecken das in den Ersten Event(PlayerCommandEvent) was durch ein Command ausgelost wir mit dem event.getPlayer(), nach dem Comando konnte ich aber weiterhin mit ESC in das Spielmenü kommen
Sogar ein Platzieren im PlayerSpawnEvent war ohne erfolg
Im Spawn habe ich auch Key.I Key.Tab auch hier gehen bei mir die Menü's auf, Key.W läst mich auch weiter Laufen Ich habe noch etwas mehr getestet, denn mit Key.F12 geht es definitiv
und Key.F3 ... Oke leider habe ich bei mir festgestellt, das die einziegen beiden ClientsideKeys die ich abschalten kann sind die F1-12, aber auch nur den ersten in der Liste/Reienfolge ...
Ich habe das Pfenomän Festgestellt das nur das aller erste disableClientsideKeys Funktioniert, die Liste scheint dann Fest zu sein, ich habe das auch nur mit einem Plugin getestet
Server Update
# If true, player world events (e.g. place or remove elements or terrain) will be tracked and logged
Settings_LogWorldEvents=False
oder habe ich den erst jetzt wargenommen
Ich benutze den player.raycast der ist ebenfalls seht Informativ
zum Coden auf jeden fall gut das all die Infos drin sind, gerne auch noch einiege mehr
(z.b. uidebugger [Layername] um die Phade zu Kopieren
)
Nur für den Reguleren betrieb vieleicht auch ausschaltbar machen, vieleicht noch Settings_LogPlayerEvents, Settings_LogPluginEvents hier wehre auch eine 4. Farbe schön (Rot Fehler, Gelb Warnung, z.b. Türkis Plugin, Weiß Server) oder wenn man später noch die Plugin Ausgaben noch Färben könnteEs gibt ja immernoch das Problem mit dem Player Namen im Spiel
Das sieht mir nach einem Rundungs/Konvertierungs Problem aus, in Java konnte ich das mit dem (int) (long)Long.parseLong lösen.
Vieleicht ist auch nur untergergangen
Texture2D duplicateTexture(Texture2D source)
Sowas ist gut, beim Thema Texture2D, gibt es da auch etwas zum Mischen oder Überlagern per Maske?
-
Hi red51 mMir ist aufgefallen das player.disableClientsideKeys(Key.Escape); nicht klappt, laut dem Log Disable 1 clientside keys [60] from plugin ToolsAPI (1) gibt es auch keine Probleme
Kannst du da noch mal nachschauen? -
Ich hätte noch gerne noch Analog zum PlayerKeyEvent einen PlayerMouseEvent
Ich brauche das zum Platzieren vom GameObject, damit das Handling gleich bleibt
Ist da eine Place-Funktion geplant, die Rotation, Scalierung und Raster wie im Spiel zur Verfügen Stelltdie wehre mir Natürlich Lieber
-
Also was ich Allgemein dazu sgen kann ist, jenachdem wie zügig Red mit seiner ToDo Liste Fertig wird, besteht durchaus die Möglichkeiten später seine eigenen NPC's mit Modell, Texture und Animation mit hinein zu Bringen.
Der grundstein dafür ist mit den Asset Bundles schon längst gelegt.
Das heißt, die Leute die sich für RW, mehr Aktion und Survival "Terror" wünschen, sollte das mit Plugins möglich sein so wie für die, welche die ein wie auch immer geatretes (Wirtschaft/Buddeln/Building) Level System wünschen.
Ich sehe in Rising World die Größte Feie Spielfläche nach Minercaft, die alle Richtungen abdecken kann.
Ich glaube für Red ist der Bauteil das Herzstück und das Drumherum wird grundlegend gehalten und sich Entwickeln.
Vieleicht wie in MC, das wer Ritterrüstung, oder Raumanzu will, findet dazu ein Plugin. -
Es reicht grundsätzlich, nur style.backgroundImage zu setzen
Ja
gewust wie klappt's auch
Du kannst ein PrefabAsset auch direkt von der Festplatte laden (PrefabAsset.loadFromFile()). Dort kann direkt ein .obj oder eine .fbx angegeben werden.
Also das habe ich auch mal Probiert,das OBJ kommt auf jeden Fall im Spiel an
JavaFür den wüfel3.obj habe ich auch eine *.mtl
CodeIch habe das mit dem Phat noch nicht Verstanden
Ich habe auch die FBX Varianten Probirt mit:
Die Meshes Erscheinen aber die Texturen werden nicht angezeigt.
Die FBX passt zumindestens in Unity, dort kann ich es Importieren die Texture Entpacken und habe alles da um ein Prefab zu Bauen. Im ZIP gibt es noch den Unterordner mit den im FBX benutzten Bildern.Die Console Bestätigt auch REGISTER ASSET PREFAB (15) FROM FILE: F:\SteamLibrary\steamapps\common\RisingWorldDedicatedServer\Plugins\0ToolsAPI\Model3D\Würfel\geschenckheuteFBX.zip (EXT: zip, CH: 0d587c48705d5cb15582667aec2a0bd4) und REGISTER ASSET PREFAB (15) FROM FILE: F:\SteamLibrary\steamapps\common\RisingWorldDedicatedServer\Plugins\0ToolsAPI\Model3D\Würfel\würfelheute.fbx (EXT: fbx, CH: 0cd61cbee940245c2c55b429c153fea1)
Gibt es hier noch etwas zu beachten um das Material zu setzen?Eine Funktion zum Auslesen aller Asset Namen können wir aber theoretisch anbieten
Könnte diese Funktion auch die Typen mit angeben oder würde sie nur die Prefab's angeben?
Würde es gleich eine Komplette liste mit Unterordnern sein oder wie ein Verzeichnis?
Wehre es möglich den Mesh Render und sein Materials auszulesen, speziell die Base Map?
Also setMaterial oder setMaterialParameter gibt es ja schon(Obwohl ich da noch keine Vorstellung von den Parametern habe), eine GET wehre schön, dann könnte das gefundene Prefab mit einem Bild für die Wiedererkennung angezeigt werdenIn den Prefab's sollte man kein Rigidbody benutzen, das verzieht die LocalePosition und ist nicht Muliplayer Tauglich, eine Syncrone Physik kommt aber noch?
Oder fehlt nur die getWorldPosition()? -
-
Hi, can you please show your log output?
Das ist der Teil vom Code:
---
This is the part of the code:
CodeAre you trying to make a procedural mesh?
Ich habe einfach eine *.obj erstellt die hat UV-Map dazu die Texute und Normalmap in einen neuen Unterordner im PluginSDK.unitypackage eingefügt, eine Texture währe auch da aber scheinbar nicht von Nöten
---
I simply created an *.obj that added the UV map, the text and the normal map to a new subfolder in the PluginSDK.unitypackage, but a texture was obviously not needed there either
Also, what is Texture and Normal arguments in your case? That are turned into String
Das sind StringBuilder wegen einer lambda Schleife zuvor und geben den Datei Namen im Bundel an.
Aber das ist garnicht mein Problem
Ich versuche ein würfel.obj in das MeshAsset zu bekommen.Oder andersgefragt, wie hast du ein Bundel mit "Mesh/OBJ/FBX", Texture und Normal Daten in ein GameObject bekommen?
Ein kleiner Code Schnipsel der bei dir Funktioniert würde ja schon ausreichen
---
These are StringBuilders because of a lambda loop before and give the filename in the bundle.
But that's not my problem at all
I'm trying to get a cube.obj into the MeshAsset.Or to put it another way, how did you get a bundle with "Mesh/OBJ/FBX", Texture and Normal data in a GameObject?
A small code snippet that works for you would be enough^^
-
Hello paulevs could you please help me?
I'm trying to load a MeshAsset from a bundle:JavaI can't find the connection.
-
Da Aktuell das Bilsdschirmfoto, entweder mit dem kompletten HUD oder garkein HUD, erstellt werden kann.
- Wird kein HUD angezeigt werden derzeit auch keine PluginGUIs angezeit
- Mit HUD wird zwar das PluginGUI angezeigt, aber auch der HUD
Hier kann das Plugin abhilfe schaffen, dazu einfach den HUD "wieder" Aktivieren:
Und das Plugin einfügen und ganz Normal mit F12 ein Bildschirmfoto machen.
Der HUD wird für einen Kurzen Moment ausgeblendet, in der Zeit wird das Bildschirmfoto erstellt.
Code: ScreenShotFixGUInoHUD.jarCode: ClassScreenShotFixGUInoHUD ,jar -
Nabend red51 ,
Ich versuche gerade das Lade Bild zu ändern:
CodeAber 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
Oder ist das vom Client fest?
Als nächstes habe ich das Bild als Hintergrund im loadingscreen eingesetzt und dort wird es normal angezeigt
Allerdings bin ich auf frei erhältliche Modelle angewiesen.
Ja soweit ich das gelesen habe, kommt mann dann nicht um die Unity Bündel Geschichte drum herum.
Offenbar gibt es nur für OBJ-Datein eine Möglichkeit zur Laufzeit hinzuzufügen.
Das heist viele sachen die es als FBX gibt müssen dan mit dem Bündel hinzugefügt/eingefügt werden.
Ja dann kommt zwar ein Schritt hinzu aber wenn es dann bald eine Gut bebilderte Anleitung gibt, wird es Verständlicher
-
Ich programmiere seit c.a. 5 Jahren mit (und für) Unity-Editor
Ja, das doch Super
Vieleicht könntest du eine Bilder Sammlung oder Video machen:
- Eigenes Objeckt (OBJ,FBX) importieren, was muss man beschten (FBX Textur richtig Importierenaus Blender)
- Textur erstellen, welche Maps brauche ich, was kann man einstellen damit es "besser geht", Normal, Emissive, was macht sin was nicht
- Efeckte grundkurs, welche der 1000 Knöpfe muss ich wirklich Drücken
Ich versuche gerade die Bündel zu Durchsuchen, dann könnte ich was zusammen bauen, indem mann das Bündel auswählt und daraus dann ein Modell oder Efeckt auswählt und Platzieren kann.
Ja RW hat das durchsuchen nicht Öffendlich.
Dann müsstest du nur die Bündel in einen Ordner schmeißen und sie währen Verfügbar
-
Thema AssetBundle und 3D Modelle
Ja damit fange ich gerade an, hatte nur immer diesen Beitrag genommen, für Fragen an Red, mehr oder Weniger
Der Themaen Name Passt dan nicht mehr ganz
Dafür dachte ich an die Code-Schnipsel Seite, da wollte ich alles rein machen was Funktioniert und damit die mal an einem Ort sindUnd daraus dann Gute Beispiele machen, ich will die [Beispiel Plugin] weiter ausbauen, dass man sich an denen Orientieren kann
Eine herausforderung war für mich auch das Bedienen des Unity-Editors
Wenn ich das mit den Assets sauber hin bekomme Wollte ich mal ein Video dazu machen, um die Unsicherheit zu nehmen was Falsschen zu Klicken.
Also für AssetBundel ist ein Beispielcode geplant(wenn's bei mir Klappt) mit einblich in den Unity-Editor -
Hi red51 ,
Ich Spiele gerade ein bisschen mit den AssetBundle herumm.
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 dazuIst es machbar so ein Bundle durchzu Scannen?
Ein anderer gedanke wehre eine direckte Funktion für AssetBundle.loadFromFile(String obj, String Diffuse, String Normal) zu haben, dazu habe ich den Runtime OBJ Importer gefunden.
Ist der schon enthalten und wie kann ich derzeit eine einfache OBJ und Texture Laden? -
Das wird eine gewaltig lange Liste
Grundsätzlich kannst du Elemente aber auch im Spiel auslesen: Dazu musst du einfach uidebugger in die Konsole eingeben - dadurch kannst du mit der Maus über ein Element fahren und siehst dann oben links den Pfad. Via Rechtsklick auf das Element kannst du den Pfad in die Zwischenablage kopieren.
Zum Beenden, einfach das kleine X oben links neben dem Pfad drücken (wenn das nicht geht, kurz ESC drücken und dann das X auswählen).
Manche Elemente können aber leider nicht darüber erfasst werden (zB der Ladebildschirm), dafür akzeptiert der Befehl aber noch einen weiteren Parameter: Du kannst eine UI Layer angeben, dann werden alle zugehörigen Pfade ausgegeben. Wenn du zB uidebugger loadinglayer eingibst, dann bekommst du alle Elemente des Ladebildschirms (mit Bild Auf/Ab kannst du in der Konsole scrollen)
-
Die universellste Lösung dafür wäre ggf. eine Funktion, um ein beliebiges UI Element bzw. den Zustand (Style, Text etc) auszulesen (dann könnte das vom Ladeelemente ausgelesen werden)^^ Dazu müssen wir uns mal Gedanken machen.
Kein Stress, war nur so ein Gedanke
Aber sehrwarscheinlich will man an der Stelle Maximal den Ladebalken Überarbeiten, wenn das Später dann Überschrieben werden könnte, denke ich das Reicht
Interessant wehre da so ein Balken der ein eigenes Bild (Hintergrund und Higlight) was sich Procentual überlagert Interresant, ich weiß aber nicht wie umfangreich das für Unity ist -
Kann ich beim LoadingScreen den Fotschtitt abfragen?
Gibt es den Direckt oder über das auslesen vom Orginal FortschrittbalkenDort kann man bestimt ähnliches machen wie beim plugin-advanced-status
Vieleicht wehre hier eine Liste mit den Style-Phden nicht schlecht, am ende für die Komponenten im UITarget.
Diereckt würde micht der LoadingScreen interessieren
-
-
Java: LoadingScreenuserPanel = new HashMap<>(); // Inizialiesieren der Panel Liste, jeder Spieler bekommt sein eigenes Anzeige ElementuserPanel.put(player.getUID(), loadingScreenUIElement.create(this,event.getPlayer())); // Erstellen des Anzeige Elementes und Merken anhand der Spieler UIDJava: LoadingScreenUIElementstatic LoadingScreenUIElement create(LoadingScreen aThis, Player player) { // Hier wird die Klasse Vorbereitet und erstelltreturn new LoadingScreenUIElement(aThis,player); // Hier wird die bisher Voreingestellte Klasse über gebenlabel = new UILabel(); // https://javadoc.rising-world.net/latest/net/risingworld/api/ui/UILabel.htmlplayer.addUIElement(loadUI, UITarget.LoadingScreen); // Hier setzen wir die "Haupt Ebene" auf den Ladebildschirm für den Spielerplayer.setAttribute(aThis.pa_Panel_Label, this); // Die Klasse wird jetzt unter den Spieler Attributen gepeichert, es ist immernoch die selbe wie bei "create(...)"String[] colRand = {"blue","green","orange","purple","red","yellow","blue","green","orange","purple","red","yellow"}; // Unterstützte Farben, Doppelt erhöt die Zufälligkeit