Beiträge von Janinus

    Ein Float belegt meines Wissens nach 4 Bytes, ein Double hingegen 8. Ein Float kann 6 bis 7 Dezimalstellen speichern, ein Double 15.


    Und afaik gibt es bei Blueprints keinen Double (keine Garantie!). Vielleicht kann man sich aber einen aus 2 Integern basteln, wobei einer die Vorkomma- der andere die Nachkommastellen darstellt.

    Je nachdem wie viel das Schieferdach bzw. die Textur verwendet wird, wäre meine Idee vielleicht noch ne' Displacementmap zu nutzten (bzw. Tesselation + Displacementmap). Damit spart man sich dann ggf. unnötiges modelling.

    Allerdings muss man dann eventuell aufpassen, weil das sonst die Performance in Mitleidenschaft zieht.

    Jo, stimmt ^^ . Ja, hab das selber noch nicht benötigt, wusste nur noch den Begriff Depth of Field, und hab das Video dann auch nur überflogen.

    Einfach ein Material mit Depth of Field Function erstellen, und auf ein Post-Process-Volume (unter Depth-of-field) packen.


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Ich kann bei dem Thema aus eigener Erfahrung sprechen, und dir nur empfehlen es so zu machen wie Annubis und Geloscht es beschrieben haben. Es gibt meiner Meinung nach auch keinen Grund es anders zu machen, mal abgesehen von Fällen wie bei Geloscht was aber wohl eher ein Problem der Engine ist, als ein Problem der Art der Durchführung. Das macht dir dann nicht nur das designen einfacher, sondern auch das (zufällige) spawnen der Actors einfacher. Also wenn du z.B. eine neue Eigenschaft der Bücher haben willst, fügst du einfach einen neuen Eintrag ins Struct ein, passet das schnell im Data Table an und fertig. Sonst müsstest du in jedem einzelnen Actor die Eigenschaft hinzufügen, und mühselig in den Code einbinden.

    Also ich hab den Aufbau mal bei mir nachgebaut so gut es ging, aber das funktioniert alles wie es soll. Vllt. war das wirklich einfach ein Fehler der Engine, und beim kompilieren ist einmal was schiefgelaufen.


    Hast du diesen Fehler denn öfter bekommen, oder nur einmal?


    Die letzten Ideen die ich heute noch aus meinem Schädel krieg, ist, dass das Main Menu Widget mit einem anderen kollidiert, oder es beim Input irgendwelche Probleme gibt (insofern du den links-Klick der Maus ein weiteres mal zugeordnet hast).

    Ich hatte auch eher daran gedacht, dass wenn du z.B. auf den Button für ShowSettings klickst, und dann wieder auf den für "Zurück", dieses Event, ggf. den Wert einer Variable verändert, und dann wiederum das andere. Den Beide Methoden teilen sich ja "Main Menu " bzw. "set main menue". Hätte jetzt geraten, dass das vllt. daran liegt, aber wenn du sagst, dass du vor und nach den Methodenaufrufen nichts stehen hast, wird es das wohl nicht seinl.

    Eine gute Frage, mit der sich wahrscheinlich schon allerhand Psychologen und Verhaltensforscher beschäftigt haben. Ich bin zwar keines von beiden, will dazu aber auch meinen kurzen Gedankengang teilen:



    Wenn ich ein Spiel mache, in das der Spieler möglichst viel Zeit stecken soll, braucht dieser selbstverständlich einen Anreiz. Wichtig ist hier, dass ich mich nur auf die Anreize konzentriere, die vom Spiel kommen, nicht aber vom Spieler. Also Anrzeize wie, der Spieler will sich nur ablenken, seien hier rausgenommen. Jedenfalls gibt es für solche Anreize ein beliebtes Konzept: Den Wettbewerb. Und diesen kann ich im Grunde auf zwei verschiedene Arten erzeugen. Durch Wettbewerb gegen andere Spieler, oder durch Wettbewerb gegen sich selbst. So oder so geht es darum das man selber besser ist als der andere, wobei dieser andere auch man selbst sein kann, getreu dem Motto "Schneller, Höher, Stärker". Man will das Gefühl von Macht haben, dass Gefühl etwas zu verändern.



    Und um so etwas in ein Spiel zu bringen ist eine Sache enorm wichtig: Feedback. Der Spieler will Veränderungen sehen. Nur liegt genau darin die Schwierigkeit. Veränderungen dürfen nicht zu schnell "sichtbar sein", sonst denkt der Spieler ihm wird alles geschenkt. Auf der anderen Seite dürfen Veränderungen nicht zu lange auf sich warten lassen, weil man sonst direkt zu Anfang frustriert ist. Da haben viele Spiele, speziell Aufbauspiele im Stile von Clash of Clans etc., nen' guten Mittelweg gefunden. Der Anfang ist leicht, im Laufe wird es schwierieger und deutlich zeitintensiver (das Pay-to-Win sei hier mal ausser Acht gelassen).



    Es gibt aber auch deutlich extremere Varainten davon, siehe Glücksspiele. Dort ist man selber sein schlimmster Feind.


    ich würde gern noch wissen ob das ok ist, das die steuerung hier in der pawn bp mit drin ist? es gibt ja die player controller. ich weiss nicht genau wann man welche bp vorlage benutzen sollte.

    Das hängt ganz vom Zweck ab. Wenn sich z.B. der Pawn während der Runtime ändert, ist alles aus dem vorherigen Pawn BP weg. Wechselt also dein Pawn des Öfteren würde es sich anbieten die Mechaniken in den PlayerController zu schreiben, da der meist gleich bleibt. Außerdem würde ich darauf verzichten komplexe Mechaniken in den Pawn selber zu schreiben, und dann eher den Controller zu benutzten. Da Snake jetzt aber kein sonderlich komplexes Spiel ist (zumindest in der Grundvariante), ist das auch voll in Ordnung die Steuerung direkt in den Pawn zu schreiben.

    Du erstellst ne Bool-Varaible "Swim", oder so. Diese setzt du Standard mäßig auf "false". Den aktuellen Wert der Variable, lässt du durch dein Event Tick immer checken (Ich weiß, nicht sehr performant, aber wichtig ist erstmal, dass es irgendwie läuft).

    Sobald du dann im Wasser bist bzw. du anfängst zu schwimmen, setzt du die Bool-Variable auf "true". Der Branch bei deinem Event Tick, wird somit den Zweig ab "true" ausführen. Und dort veränderst du dann einmalig (do-once) die Rotation der Capsule, so wie du es fürs schwimmen brauchst. Wenn du das wasser wieder verlässt, wird die Bool-Variable wieder auf "false" gesetzt, und die Rotation der Capsule wird zurückgesetzt.

    Das könnte auch bedingt sein, durch ein paar Physics-Probleme. Guck mal bei deinem Character-Movement nach "Enabled Physics Interaction", und schalte das ggf. mal aus Testzwecken aus.

    kann man den editor so einstellen das er in den massen arbeitet

    Vorrausgesetzt, dass Verhältnis von Charactermesh zu anderem ist immer gleich.


    dann brauch ich auch nichts importieren

    Glaub mir: Es ist 1000-mal schneller kurz das Mannequin zu importieren, und deine Objekte daran anzupassne, als sich da Maßstäbe auszurechnen. Ich würde beim importieren in die Engine, auch so wenig wie möglich der Engine überlassen. Es ist immer besser, seine Models im 3D-Programm fein zu justieren, als das nicht zu tun, sich dann aber mit den sperrlichen Importeinstellungen der Engine rumzuschlagen.

    mit anderen worten ich bin, egal wie ich es mache unzufrieden mit den größen der möbel im bezug zu figur größe.

    wie macht ihr das den wenn ihr das an die figur anpassen wollt? oder gibt es ein tip.... ein versteckter zollstock ^^?

    Das Mannequin des Characters einfach in eine 3D-Software (z.B. Blender) importieren, und dann in Blender die Möble etc. skalieren.

    Du darfst das OnSuccess bei Find Sessions nicht falsch verstehen. Das sagt nur aus, dass es bei der Kommunikation mit Steam keinen Fehler gegeben hat und du alle Sessions in deiner Umgebung (Die Steam Test ID ist Lokal eingeschränkt) gefunden hast (selbst wenn da keine sind).

    Ah...Verstehe. Gut zu wissen. Dachte bis jetzt immer, dass das bedeutet, dass er auch wirklich eine Session gefunden hat. Danke.

    Hat Unity nicht auch ein Visual-Scripting-System? Zumindest als Plugin, meine ich. Und ich meine auch, dass es einige Gemeinsamkeiten zwischen Blueprints der UE und denen der Unity-Engine gibt.