Beiträge von Tankbuster

    Die Umwandlung von einem Zahlensystem ins andere ist eigentlich recht einfach. So kann man zum Beispiel binär in Hexadezimal umwandeln, ect. Ich hatte dazu mal einen Beitrag geschrieben. Mit diesem System ist es quasi möglich, beliebig große Zahlen dazustellen:

    RE: Hohe Zahlen mit Float/Int

    Und Nachkommastellen können einfach z.B. die ersten beiden Indicies sein.

    Zitat

    GUID used to associate a light component with precomputed shadowing information across levels. The GUID changes whenever the light position changes.

    Es bezieht sich auf LightmapGuids.
    Scheint so, als ob du das Licht mal neu bauen müsstest. Diese GUIDs sollten eigentlich nicht gleich sein, eventuell hilft es auch, die Objekte mal zu verschieben um es zu updaten und dann das Licht neu zu bauen.

    BIOS Einstellungen? Ich denke jetzt schon du machst etwas falsch....

    Die Engine bringt normalerweise ein Installationsprogramm für die sdk mit, du kannst sie natürlich auch extern installieren. Android Studio sollte auch installiert sein für weitere Schritte unten.

    Nunja, nachdem du die jdk und sdk zuweißt, und den Terms of services zustimmst, kannst du für Android exportieren. Du solltest ein Android phone mit dem PC verbinden und android debug bridge (adb) sollte installiert sein, falls es nicht bei Android Studio oder dem ganzen kram dabei ist. Ich kann mich nicht erinnern, dass man sich dafür bei Java oder NVidia anmelden musste, aber evtl wurde da etwas geändert?!
    Dann kannst du aus der Unreal Engine direkt auf deinem Gerät testen. Beachte die Limitationen, was features, ect angeht.
    Dafür musst du auf deinem Mobiltelefon den Entwicklermodus aktivieren und USB-Debugging zulassen, und evtl weitere Einstellungen am Smartphone vornehmen.

    Wenn dieser Schritt erreicht ist, und dein Projekt auf deinem Mobiltelefon läuft kommt die nächste Hürde.

    Willst du es dann in den Google Play Store laden, musst du die App signieren. Dazu benutzt du einen key Generator (Android keystore) und gibst die daten ebenfalls in den project settings ein.


    Wenn das alles funktioniert, kannst du das Projekt eigentlich ohne Probleme bauen und im Playstore hochladen. Die Google Play Console wird dir sicher auch einiges an Kopfschmerzen bereiten, aber eigentlich erstellst du dort nur einen Release-Branch und fügst deine App hinzu. Beachte dabei, das bei jedem Update die Versionsnummer in den Project Settings um mindestens 1 erhöht werden muss, ansonsten gibt es nach dem Hochladen einen Fehler.


    Der Google play store unterstützt leider keine normalen apks mehr, daher müssen diese zu einem Bundle hinzugefügt werden. Dazu hilft dieser Link vermutlich:
    https://forums.unrealengine.com/t/android-app-bundle/126314



    Ich hoffe Ich konnte dir helfen. Die meisten Ressourcen sind leider nur auf Englisch verfügbar, daher ist jedem gut geraten seine Englisch-kenntnisse zu verbessern ^^

    Nunja, für BP-Structs ist das etwas komplizierter.
    Ich nehme mal an, dass du das Inventarsystem nicht selbst gebaut hast?

    Ich würde die gewünschte Funktion dort einbauen, wo das Item oder ein Item ins Inventar kommt.
    Das Inventar-System benutzt ja eventuell eine Funktion um ein Item einzusammeln, zu sehen ob es schon im inventar ist, um es gegebenfalls zu stacken, und an diesem Punkt könnte auch etwas getriggert werden, dass zum Beispiel ans Quest System weiterleitet, dass diese Quest jetzt abgeschlossen ist.
    Das wäre der optimale weg.


    Der nicht-optimale weg, ist so wie du es machen möchtest. Du kannst das Struct Array durch einen Foreach loop laufen lassen und die Einträge mit einer Liste von Questgegenständen vergleichen. Normalerweise macht man das per ItemID (Integer) oder sowas, Ich denke daher müsstest du von deinem "Array Element Item" -> GetID falls es diese funktion oder eine ähnliche gibt benutzen, da dort ein objekt mitgegeben wird, oder alternativ über Item Name den Vergleich machen.

    EDIT: Schau doch mal, wo das Inventory System nachprüft, ob schon Items drin sind um diese zu stacken. Sowas ähnliches musst du ja bauen um zu sehen ob das Item vielleicht zu einer Liste von Quest Items gehört :)
    Daher muss das Inventory irgendwo auch eine Referenz/Schnittstelle zu den Quest System haben. Hoffe Ich konnte helfen.

    Aber das passiert doch. Installier die Engine neu, erstelle ein neues Projekt, starte .... 5000 Engine shader oder so werden kompiliert (4.25)
    erstelle ein neues projekt -> 0 shader werden kompiliert, weil die Engine Shader schon im Cache liegen.

    Wenn das immer wieder neu passiert, gibt es vielleicht probleme mit dem Cache. Vielleicht zu wenig Festplattenspeicher oder sowas in der Art. Den SharedCache manchmal zu leeren kann auch helfen. Ich glaube mein Folder war mal ca 30GB groß <_<

    Wenn man Beispielsweise einen Firmenrechner benutzt, wo so ein Antivirenprogramm bei jedem Start alles resetted, und eben auch diesen Folder, muss bei jedem Neustart alles neu berechnet werden.

    Das mit dem Shader kompilieren hatte ich auch in der UE4...
    Leeres Projekt. Alles rausgelöscht. Beim neustart musste er dann trotzdem über 5000 Shader kompilieren...
    Keine Ahnung was da genau gemacht wird.

    Die Engine compiliert alle Shader, die eventuell benötigt werden. Und dazu zählen auch Materials, die im Engine-Folder stecken. Daher dauert es ziemlich lang, wenn man das erste mal eine neue Engine Version startet, egal ob das Projekt leer ist oder nicht.

    Ein Shader ist kein Material. Ein Shader ist eher wie ein instruction-set, das zu jedem Material erstellt wird.

    In jedem Material gibt es zudem Settings, wie das material genutzt werden soll. Standardmäßig handled die Engine es selbst, aber wenn du zum ersten mal ein Material von einem Static auf ein Skeletal Mesh ziehst, müssen diese instructions neu erstellt werden und daher die Shader kompiliert werden, außer du hast die "Usage" Informationen im Material bereits bearbeitet.

    Änderst du irgendwelche Project-Settings kann es auch sein, dass alle Shader des Projekts neu erstellt werden müssen. Wenn du zum Beispiel den Haken bei "Support Atmospheric Fog" oder "Support Stationary Skylight" rausmachst, werden alle Shader neu erstellt, ohne diese Optionen. Denn sie brauchen dann weniger instructions. Daher ist auch ein neustart der Engine erforderlich um diese Shader zu kompilieren.

    Was für eine Grafikkarte hast du denn?
    Was für Assets? Das Laden des Contentbrowsers ist schon suspekt. Sind es viele highpoly assets mit 8k texturen oder sowas in der Art?
    Benutzt du irgendwelche neuen tollen Dinge wie Nanite oder Lumen?
    Bedenke, dass UE5 noch offiziell eine Preview Version ist, und es daher zu Fehlern kommen kann.

    Eigentlich solltest du keine Probleme mit UE5 haben, wenn das gleiche in UE4 funktioniert. Allerdings sind wohl in UE5 einige default Einstellungen etwas ressourcenfressender. Reflection Capture Resolution ist wohl standardmäßig auf 2048 (verglichen mit 64 in 4.25), was bei einigen für Probleme sorgt. Ich würde auchmal die anderen Rendering Settings überprüfen, ansonsten mit der scalability mal runter gehen, shader compilieren, neustarten und sehen ob es besser wird.

    Uhm, Ich weiß garnicht, wo das Problem ist. Einfach mehrere Buttons mit Index spawnen, und diese Buttons rufen zum Beispiel im "Main-Widget" (das widget, wo sie z.B. drinstecken) ein Event auf wenn sie geklickt werden. Anhand der ID lassen sie sich unterscheiden. Das ist alles.
    Du musst blos beim spawnen der Buttons eine Referenz zum "Main-Widget" mitgeben. Garnicht nötig, irgendwelche Events zu binden :)

    Blos eine allgemeine Frage:
    Besteht für eine Portfolio Website eine Impressumspflicht?

    Ich denke, man könnte soeine Website als geschäftsmäßig definieren und somit müsste ein Impressum vorliegen, bin mir aber nicht ganz sicher ob es unter die private nutzung fällt, da Ich sie ja nur privat zum zeigen meiner Fähigkeiten benutze. :saint:

    Zitat

    Anbieter, die geschäftsmäßig Telemedien anbieten, unterliegen nach § 5 TMG@ der Pflicht zur Anbieterkennzeichnung. Keine geschäftsmäßige Tätigkeit besteht bei einer Website, die ausschließlich privaten oder familiären Zwecken dient.

    Diensteanbieter, die geschäftsmäßig Telemedien anbieten, haben für den Nutzer bestimmte Anbieterdaten mitzuteilen, z.B. Namen und Anschrift (siehe Anbieterkennzeichnung).

    Für kommerzielle Kommunikation gelten neben der Anbieterkennzeichnung zusätzliche Informationspflichten.

    Mit kommerzieller Kommunikation ist nach § 2 Nr. 5 TMG@ jede Art von Werbung und Selbstdarstellung gemeint. So müssen Angebote zur Verkaufsförderung (z.B. Preisnachlässe) oder Gewinnspiele und Preisausschreibungen klar als solche erkennbar sein. Die Bedingungen für ihre Inanspruchnahme müssen leicht zugänglich sowie klar und unzweideutig sein (§ 6 Abs. 1 TMG@).

    persönlich halte Ich die derzeitige Impressumspflicht für schwachsinnig und Ich weiß nicht, wie sie mit dem Datenschutz für Privatpersonen vereinbar ist.

    Kurz: Ich möchte mich ungern selber doxxen.

    Zitat

    Das Grundrecht gewährleistet insoweit die Befugnis des Einzelnen, grundsätzlich selbst über die Preisgabe und Verwendung seiner persönlichen Daten zu bestimmen“. Das Recht auf den Schutz personenbezogener Daten ist aber nicht nur ein deutsches, sondern auch ein europäisches Grundrecht

    Wie komme Ich da herraus? Es gibt doch Agenturen, die gerade dafür gemacht wurden, und zum Beispiel Streamern oder Influencern erlauben NICHT Ihre Privatadresse zu verwenden. Kann Ich mir einen coworking-space besorgen, und einfach diese Adresse angeben? :)
    Das ist allerdings wieder mit unnötigen Kosten verbunden.


    Bei der Impressumspflicht geht es ja hauptsächlich um Verbraucherschutz und Ich denke nicht, dass man jemanden vor einer Portfolio website beschützen muss :S

    Ist schon merkwürdig, dass Ich bei meinem Arzt eine Datenschutzerklärung unterschreiben muss und auf der anderen Seite gezwungen werde, meine Daten öffentlich zu posten... das kann ja nicht sein :saint:


    Da mit dem Feuer spielen aber nicht umbedingt gesund ist, wollte Ich mal nachfragen, was Ihr davon haltet. Diese Abmahnungen könnten ja unter umständen recht teuer sein.

    Sind alle Inputs der Funktion valid?
    Ist das GetOverlappingActors->Get(0) wirklich der Actor, den du erwartest?

    Dieser Code ist ziemlich fehleranfällig, und könnte nichtmehr funktionieren wenn du keine Ahnung... einen Baum mit Kollision irgendwo plazierst oder ein character über das Feld läuft <_<

    Ich denke mal in "FlipOrNotFlip" wird die Farbe geändert? Warum rufst du diese funktion zweimal auf? Bezieht es sich auf zwei unterschiedliche overlapping actors / Felder ?

    Ich würde dafür sorgen, das garkeine Fehler passieren können. Schon das benutzen des Klassenfilters by GetOverlappingActors würde es um 50% verbessern ^^

    Bonus frage - kann ich mir den Delay sparen? Gibt es eventuell so ne art "On finished playing animation" event oder sowas? Dann könnte ich einfach die Animation schneller oder langsamer spielen lassen und gut ist, keine delays mehr...

    Animation Notifies wären hier die richtige Lösung. Vermutlich gibt es sogar ein on finished playing animation event

    Für dein Problem würde Ich vorschlagen, den Bogen wie gewohnt bei dem Schwert abzuschießen, und den Pfeil zu replizieren. Einfach einen replizierten Pfeil spawnen. Wenn er auf dem Server trifft, verursacht er Schaden, der erst dann berechnet wird (außer Pfeile treffen immer), auf dem Client allerdings nicht.

    Ich bin blos von deiner Beschreibung etwas verwirrt. Der Server berechnet Schaden und spielt dann die Schwert-Animation ab und danach wird erst ein event auf den clients getriggert, das die Animation dort abspielt?
    Ist das jetzt zeitlich oder flowtechnisch zu betrachten? :D