Posts by noci

    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:D


    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

    :thumbup: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 ... :thinking:
    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:Dich habe ein Würfel Mesh in die Handbekommen und da überkarm mich die Idee, einen Ingame Würfel zu machen :nerd:um gemeinsam zu Würfeln
    Dazu wehre auch eine getWorldRotation() nicht schlecht:thinking:damit 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:lol:das habe ich befürchtet


    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



    :wow:Server Update

    # If true, player world events (e.g. place or remove elements or terrain) will be tracked and logged

    Settings_LogWorldEvents=False:thinking:oder habe ich den erst jetzt wargenommen


    Ich benutze den player.raycast der ist ebenfalls seht Informativ:saint: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önnte:D


    Es 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.

    Java
    private String seitenTextColor = "#ffffffff";
    public Integer getSeitenTextColor() {return (int) (long) Long.parseLong(seitenTextColor.replace("#", ""), 16); }

    Vieleicht ist auch nur untergergangen:saint:



    Texture2D duplicateTexture(Texture2D source)

    Sowas ist gut, beim Thema Texture2D, gibt es da auch etwas zum Mischen oder Überlagern per Maske?

    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:Dgewust wie klappt's auch:thumbup:


    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^^


    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 werden^^


    In den Prefab's sollte man kein Rigidbody benutzen, das verzieht die LocalePosition und ist nicht Muliplayer Tauglich, eine Syncrone Physik kommt aber noch?:D
    Oder fehlt nur die getWorldPosition()?

    Um das Hintergrundbild zu ändern:

    einfach Integrieren;)

    Hi, can you please show your log output?

    Das ist der Teil vom Code:

    ---

    This is the part of the code:

    Code
    [Java] ModellModel={OBJ=wurfel2.obj, Normal=würfel-normal.png, Texture=würfel 3.png}
    [Java] OBJ wurfel2.obj
    [Java] Normal würfel-normal.png
    [Java] Texture würfel 3.png
    REGISTER ASSET ASSETBUNDLE (2) FROM FILE: F:\SteamLibrary\steamapps\common\RisingWorldDedicatedServer\Plugins\0ToolsAPI\Model3D\würfel.bundle (EXT: bundle, CH: e7afa2461d3ced311d05bccd701cb993)


    Are 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:

    Java
    AssetBundle bundle = AssetBundle.loadFromFile(file.getAbsolutePath());
    MaterialAsset ma = MaterialAsset.create("MaterialName");
    ma.setTexture(TextureAsset.loadFromAssetBundle(bundle, Texture.toString()));
    ma.setNormalMap(TextureAsset.loadFromAssetBundle(bundle, Normal.toString()));
    MeshAsset me = MeshAsset.create("MeshName", 0, 0);
    ... ??? ...
    Model mo = new Model(me, ma);

    I 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.


    Nabend red51 ,


    Ich versuche gerade das Lade Bild zu ändern:


    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^^

    Oder ist das vom Client fest?


    Als nächstes habe ich das Bild als Hintergrund im loadingscreen eingesetzt und dort wird es normal angezeigt:thumbup:



    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 Importieren:Daus 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:lol:


    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

    :thinking: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 sind


    Und 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:dizzy:
    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-Editor8)

    Hi red51 ,

    :DIch 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 dazu


    Ist 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?

    "Vieleicht wehre hier eine Liste mit den Style-Phaden nicht schlecht, am ende für die Komponenten im UITarget."


    Das wird eine gewaltig lange Liste :D 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:D

    LoadingScreen.mp4



    Ich bekomme Folgende Fehlermeldung:

    Code
    [12:43:51] Java RegisterEvent - Event not found: Events.General.UpdateEvent
    UnityEngine.Logger:Log(LogType, Object)
    UnityEngine.Debug:LogError(Object)
    RisingWorld.PluginAPI.PluginEventHandler:OnRegisterEvent(IntPtr, JObject, JString)

    Ich mache da noch nichts besonderes