Beiträge von Jogl

    Hi Leute, ich sitze gerade dran in einem Spiel den Wechsel zwischen verschiedenen Pawns zu ermöglichen.
    Dabei gibt es verschiedene Möglichkeiten, zum einen das beiden Pawn bereits vorhanden sind (z.b. Spieler und Auto)
    oder dass ein Spieler gespawnt wird (Spieler und spawnt eine zusätzliche eigenständige Kamera)


    Mein Problem tritt aktuell beim 2ten auf (das erste habe ich noch ned versucht)
    Also ich habe einen Spieler. Dort erzeuge ich ein neuen Pawn, auf den ich dann rüberwechsel, das funktioniert so rum auch ohne Probleme.
    Beim Spawn speicher ich gleich welcher Pawn die Kamera erzeugt hat.



    Wenn ich dann zurückwechseln möchte, dann tritt das Problem auf. Ich wechsel (scheinbar) wieder auf den Spieler zurück.
    (Ich habe mir auch mal von dem Character den zugeordneten Controller ausgeben lassen, das stimmt auch)
    und auch wenn ich im Gamemenü mir den verwendeten Pawn ausgebe zeigt der auch immer das richtige an.
    Aber mein Problem ist, ich kann gar nix machen, der nimmt von mir keinerlei Input entgegen.
    (Eine Enable Input-Funktion bringt da auch nix, es muss noch an etwas anderem liegen)


    Beide Pawns sind replicated und ja so wie der mir das ausgibt scheint das Possessing auch theoretisch zu funktionieren.
    Dieses Problem tritt aber nur auf wenn ich auf den Spieler zurückwechseln möchte, bei dem Versuch dort erneut eine
    weitere Kamera zu spawnen hat ohne Problem funktioniert.
    Außerdem tritt das Problem nur auf wenn ich als "dedizierter Server" Spieler. Wenn ich selber als Server spiele funktioniert der
    Rückwechsel auch.


    Ich habe mir übrigens vorher das Projekt "GTAVehicleSetup" angeguckt k.a. ob das wer von euch kennt. Da funktioniert es.
    Ich habs genau so bei mir gemacht, und es funktioniert nicht, bzw. nicht auf dedizierten Servern.


    So sieht dasim Blueprint des Spielers aus:
    http://gyazo.com/3d52026236c2a6f363307ffd46ff3932


    Und hier in der freien Kamera:
    http://gyazo.com/e7bd15fb9735b193d97f84e9f2e899db



    Habt ihr ne Idee was ich ändern muss, damit es klappt ?

    [Blockierte Grafik: https://forums.unrealengine.co…mentid=43741&d=1434383107]
    Über RenegadeLine
    RenegadeLine ist ein "Free2Play" Multiplayer 3rd Person cartoon Shooter, welcher in der Zeit nach dem zweiten Weltkrieg spielt.
    Die beiden Fraktionen "Wickeds" und "Residents" stehen sich im Kampf auf einer Vielzahl von unterschiedlichen Karten und in verschiedenen Gamemodi gegenüber.
    Jedes Team besteht aus verschiedenen Klassen, die sich jeweils durch eigene Fähigkeiten, Waffen auszeichnen. Der Spieler hat die Möglichkeit seinen Charackter
    individuell mit unterschiedlichen Outfits zu präsentieren. RenegadeLine wurde von Spielern für Spieler erstellt.
    Wir wollen die Community so weit wie Möglich in die
    Gestaltung und Entscheidungsfindung mit integrieren und peilen ein faires Spiel mit Auslegung auf ein umfangreiches Wettkampfsystem
    an.


    » Official RenegadeLine Website: http://renegadeline.com/
    » Official RenegadeLine Facebook page: https://www.facebook.com/rgline
    » Official RenegadeLine YouTube page: https://www.youtube.com/channel/UCN15EijZRNlU1HTSoL1Um9g


    [Blockierte Grafik: https://forums.unrealengine.co…mentid=43747&d=1434383682]
    [Blockierte Grafik: https://forums.unrealengine.co…mentid=43748&d=1434383699]



    Wer sind wir ?
    Wir sind RawVengeance Games. RV Games wurde Anfang 2014 gegründet. Wir sind ein qualifiziertes Entwicklerteam, mit Sitz in Deutschland und internationaler Kooperation und arbeiten mit der UnrealEngine 4. Unser Team besteht aus 13 Mitgliedern, mit guten Kenntnissen und Erfahrungen in den verschiedenen Bereichen der Entwicklung, wie Programmierung, Grafikdesign, Modelling, Animation, Marketing usw. Unser Ziel ist es mit unserem GameStudio auf die Ideen, Vorschläge und Kritiken der Community einzugehen.


    [Blockierte Grafik: https://forums.unrealengine.co…mentid=43750&d=1434384033]

    Arbeit bei RawVengeance Games

    Wir suchen ständig nach engagierten und talentierten Mitgliedern, als Ergänzung für uns Team. Wir sind bemüht um unsere eigenen Ansprüche und Kenntnisse ständig zu erweitern
    um so neu interessante und inspirierende Welten zu schaffen und das Spielgefühl auf eine neue Stufe zu bringen. Falls du nach einer neuen Herausforderung suchst, eine Chance um deine
    Ideen, Visionen und Ziele in ein offenes Team einzubringen, und du Computerspiele und 3D Entertainment genau so liebst wie wir dies tun, dann bist du bei uns genau richtig.



    Was wir euch bieten
    » Ein hochmotiviertes, kommunikatives und aktives Team
    » Gut strukturierte und organisierte Arbeitsweise - zur Sicherstellung des Projekterfolgs
    » Erfahrung in den Verschiedenen Bereich der Gameentwicklung
    » Große Unterstützung/Communityinteresse hinter dem Projekt
    » Die Arbeit erfolgt auf Royalty-Basis, also eine Bezahlung und Gewinnbeteilung bei Erfolg

    Offene Stellen/Jobs

    » Leveldesigner
    Als Leveldesigner ist es deine Aufgabe taktische Karten zu entwerfen und diese in der Unreal Engine zu erstellen.


    Anforderungen:
    » Mindestens 6 Monate Erfahrung im Leveldesign
    » Gute Kenntnisse im Umgang mit der UnrealEngine 4
    » Fähigkeit taktisch strukturierte Karten zu erstellen
    » Fähigkeit English flüssig zu sprechen
    » Kommunikationsmöglichkeit wie Skype & Teamspeak3 inkl. eines funktionstüchtigen headsets
    » Möglichkeit und Motivation mind. 10h in der Woche zu arbeiten
    » großes Durchhaltevermögen, Motivation und Lernbereitschaft



    » UE4 Engineer
    Als UE4 Engineer ist es deine Aufgabe mit UE4 stabile und effiziente Skripte oder Blueprints zu erzeugen und neue Funktionen mit c++ für die Anwendung
    in den Blueprints zu schreiben.


    Anforderungen:
    » Good knowledge of the Unreal Engine 4
    » Mindestens 6 Monate Erfahrung mir Skripting und Blueprints
    » Gute Kentnisse in C++
    » Fähigkeit English flüssig zu sprechen
    » Kommunikationsmöglichkeit wie Skype & Teamspeak3 inkl. eines funktionstüchtigen headsets
    » Möglichkeit und Motivation mind. 10h in der Woche zu arbeiten
    » großes Durchhaltevermögen, Motivation und Lernbereitschaft



    Wenn du denkst, dass du unser Team ergänzen und bereichern würdest, dann schreibe uns einfach eine Mail.
    » E-Mail: jobs@rawvengeance.com


    » Official RawVengeance Games Website: http://rawvengeance.com/

    Hi Leute,
    ich habe ein großes Problem, komischerweise habe ich dazu noch nichts im Forum gefunden.
    Und zwar habe ich als HUD einige Texturen eingebaut, die mit mittels DrawTexture aufs HUD zeichne.
    Ausgelegt sind diese Texturen auf eine 7680x4320er Auflösung des Bildschirms.


    Jetzt wird also automatisch abhängig von der Bildschirmauflösung die Grafik runterskaliert.(Also bei FUllHD auf ein viertel der Auflösung)
    dabei habe ich jedoch deutliche "Stufeneffekte" gerade wenn ich z.b. Runde Objekte darstelle, sieht es sehr verpixelt aus.


    Ich verwende ein png-Bild mit Alphakanal und die Methode Masked beim DrawTexture.
    An den Textureeinstellungen selber vom Bild habe ich noch gar nix geändert.


    Gibt es irgendeine Einstellung die ich ändern kann muss damit dieser Pixeleffekt nicht Auftritt und das Bild schön "weich" dargestellt wird.
    Oder wie sähe eine Mögliche Lösung für dieses Problem auf ?

    Auch wenn das Thema inzwischen ja schon etwas älter ist trotzdem mal 2 Bemerkungen.
    1. Wenn du dein Inventarwidget ancastest, dann musst du deinem BP schon sagen WAS er denn ancasten soll (auf sc3). Im mom wird das Casten immer Failen, da er versucht ein nicht existentes objekt anzucasten.
    Also entweder mit "Create Inventory" oder wenn es bereits vorhanden ist, dann musste dir die Referenz von dort holen.


    2. Für den Fall dass du das mit dem casten behebst wird nun folgendes Problem sein. Du hast deine Textarray mit einer Länge von 11 Einträgen, du fügst ein neues hinzu ( das Array hat nun 12 Einträge) und du greifst auf das 0te Element zu, was genau so heißt wie du es am Anfang gesagt hast, da dies nicht geändert wurde. Wenn du es verändern willst, dann musst das das mit " Set Element Array" machen.


    Und noch nen Tip. Wenn du zugehörige Elemente hast, wie Name, Beschreibung und Status, die Arrays sind, die alle gleichlang sind, dann mach dir ein "Struct" und bau ein StructArray. So kannst du sichergehen dass du immer die gleichen inhalte bekommst und haste diese schön in einer Structur sortiert. Das macht die ganze Sache übersichtlicher und einfacher.

    Hallo Leute,
    ich habe mal wieder eine Frage, auf die sicher die meisten von euch ebenfalls schon gestoßen sind. Es geht um die Speicherung vieler Informationen.
    Es geht mir (aktuell) nur drum wie kann ich denn Daten am Besten in der Unrealengine abrufen. Es geht mir nicht drum wie ich Daten aus einer MySQL Datenbank in Unreal importiere (das kommt später).


    Das Problem relativ praktisch erklärt. Ich gebe meinem Spieler vom Beginn an eine Liste von "ID´s". Hinter jeder ID verstecken sich nun eine Summe an Daten. Wenn ich ihm die ID 1 gebe, dann soll er aus dieser "Datenbank/Tabelle" also rausgreifen, wo das Element mit ID steht. in den anderen Spalten sind dann sowas wie "DMG-Wert, Kategorie, Soundeffect, Inventarimage, Gewicht" usw. gespeichert.


    Was ist denn da die beste Möglichkeit ?
    Mein "Idee" wäre es halt ein "Datenbankobjekt" zu erstellen, welches ich anspreche/caste und auf welches ich dann in großen Arrays von Structs sämtliche Daten speichere.
    Ist dies aber wirklich die beste Möglichkeit oder gibt es da noch andere/effektivere Möglichkeiten ?

    Nachdem ich nun etwa 1 Monat lang mich mit diesem Problem rumgeärgert habe, habe ich letztendlich eine recht "simple" Lösung gefunden.
    Die Arbeit an dem Problem hat dazu geführt dass ich noch deutlich tiefer in das Gebiet Server/Client und Replication eingetaucht bin als vorher.


    Die Lösung ist relativ einfach:
    1. Man setzt von allen eigenen Spielern eine BoolVariable auf true. Die Variable selber muss natürlich replicated sein. Dies wird auf dem Server gerunnt.
    2. Nun wird in den Funktionen (EventTick) geprüft, dass bei wahrer bool das Material geändert wird. Die Funktion soll nur auf dem eigenen Client gerunnt werden.


    Soweit so klar, das war auch das Ergebnis auf das ich jedesmal kam. Nun aber der Knackpunkt. Wenn die Variablen replicated sind, dann sehen die boolwerte wiefolgt aus:
    Server: S1 true
    Server: S2 false
    Client1: S1 true
    Client1: S2 false
    logisch das erwartet man auch. Dabei läuft auf dem Server Spieler1 (S1) und auf dem Client Spieler2 (S2). Die Sache dabei ist nun, dass der Client1 zwar der Spieler2 ist aber er berechnet und gleich den Spieler S1 ebenfalls mit sem Server ab. So läuft also auf dem Client auch eine Berechnung mit der Variable "true", obwohl der Spieler, der auf dem Client läuft in echt die Variable false hat. Die Veränderung eines Materials kann nun aber beim Client nur einmal dargestellt werden, da der Client ja nur 1 Rechner mit 1 Monitor ist.


    Die Lösung ist nun einfach so, dass man sagt, berechnet diese Farbänderung nur, wenn der Spieler, dem der Client gehört auch die Variable selber auf "true" hat. Also mit einem get Player Character -> Cast to PlayerCharacter, -> get bool -> Branch, hat man dieses Problem dann endlich behoben.



    Dieses Problem tritt häufig nicht auf, da Variablen veränderungen richtig repliziert werden. Dies tritt nur auf wenn eine Funktion an den Besitzer eines Characters gebunden ist (so z.b. auch möglich das Aktivieren und Deaktivieren der Eingabe)

    Hallo coding_nexus,
    mit Destructable Meshes habe ich bisher noch ned gearbeitet, daher keine Ahnnung ob es da auch funktioniert, müsstest einfach mal testen.


    Erstmal um zu sehen ob ich es richtig verstanden habe. Du hast ein Mesh welches zerstört werden kann. Wenn dieses zerstört wird, dann sollen die die Bruchstücke immer noch eine Collision und Physik tragen ?
    Da frage ich mich aber wie willst du das hinbekommen mit einer Box ? die müsste ja transformiert werden und würde ggf viele Bereiche blocken, wo es keine Bruchstücke gibt.


    Geh einfach mal in die Detailansicht deines Meshes. Dort hast du ein Fenster das heißt Details da findest einen Punkt "Collision Complexity", wähle da einfach mal Use Complex Collision as simple. Dann benötigst deine Collisionbox auch ned mehr sondern das Mesh selber wird als Collisionbox genutzt.

    Bzw. ich habe jetzt nen ziemlich komisches Problem mit dem RepNotify.
    Ich teste immer mit 2 Clients und 1 Server also nicht dediziert.


    Der Server selber ändert nun NIE sein Material.
    Sprich wenn ich auf beiden Clients das selbe Team habe, dann wird es korrekt angezeigt.
    Wenn aber der Server in dem Team aus 2 Spielern drinne ist, dann ändert sich die Farbe trotzdem auf beiden Clients, was sogesehen doppelt falsch ist
    1. Sieht der eine aus dem gegner Team sich selbst in Farbe
    2. Sieht der Spieler auf dem Server den Gegner nicht in Farbe.


    Zustätzlich wird noch nen Fehler ausgespruckt, irgendwas mit AccessNone, obwohl beide Variablen Replicated und global/editierbar sind.

    Ich habe mal versucht das so zu bauen, wie du es geschrieben hattest, also bis zum repliziertem Bool-Wert hatte ich es im Screenshot auch schon.


    Also habe ich jetzt den Bool auf RepNotified defineirt.
    Leider tritt aber wieder das selbe Problem auf. Der Gegner sieht sich selber ebenfalls in dem anderen Material

    Moin moin, ich habe da ein Problem mit Replicated Variablen


    Ich habe ein Spiel, mit 2 Teams aus jeweils einigen Spielern.


    Wenn jetzt einer aus Team 1 eine bestimmte Funktion nutzt, sollen alle Spieler des Team 2 das Material wechseln.
    Das gewechselte Material soll jedoch nur Team1 sehen und Team2 soll sich selber komplett "normal" sehen.


    Dass der Verursacher das feindliche Team in nem anderen Material sieht, ohne dass sich das feindliche Team selber in diesem Material sieht funktioniert.
    Dafür brauch ich einfach nur ne lokale nicht replizierte Funktion, die das macht. Aber wenn ich jetzt anfange und sage, dass diese Funktion bei allen Teamkollegen
    ebenfalls aufgerufen werden soll funktioniert das nicht. Egal ob ich das Casten der Funktion auf Server,Multicast oder ownning Client mache.


    Auch über nen Umweg, dass ich ne replizierte Variable setzt funktioniert dies leider nicht. Dann tritt der Fehler auf, dass die Spieler von Team 2 sich selber
    plötzlich auch mit nem anderen Material sehen.


    Vlt noch als Erklärung zur bool.
    Es gibt noch ein Event Tick, mit einem Branch wo die Variable abgefragt wird, wenn das True ist, dann wird die Funktion "Change Material" aufgerufen.
    Ich habe mir die bool-Variable ausgeben lassen, die wird auch so angezeigt wie es entsprechend der Teams sein muss. Also bei allen aus Team1 auf true
    bei Allen aus Team2 auf false.



    http://gyazo.com/290c5e706c6cb74f0ff8ca6a5410976b

    Vielen Dank für dein Vorschlag, allerdings nur für den Vorteil einer Maskenlosen Textur würde ich jetztkeine 90 € ausgeben wollen, die Maske daran ist ja das kleinste Problem. Ich wollte halt die verschiedenen Texturen umgehen.


    Es gibt beim Material soetwas wie ein "Font Expression" ich könnte mir gut vorstellen dass das vlt damit geht, aber ich finde dazu kein Beispiel, kein Hinweis wie man den verwenden könnte. Vlt hat ja schonmal wer damit gearbeitet und weiß 1. ob das wirklich ne mögliche Lösung ist und 2. wie man es anwendet

    Hi Leute, ich habe da mal ne Frage mit der ich mich aktuell beschäftige und für die ich nur eine Umständliche Lösung gefunden habe.


    Und zwar möchte ich Zahlen in einem dynamischen Material darstellen.


    Warum mit einem Material und nicht mit Draw Text oder einem Widget:
    -> Ganz einfach die Zahlen sollen maskiert werden. Es soll wie eine Art "Einarmiger Badit" sein, wo die Zahlen vlt auch nur Teilweise zu sehen sind.
    und ich kann kein Texturband nehmen, weil die Zahlen variabel sein sollen.


    Ich könnte die Zahlen als eigenständige Grafiken von 0-9 speichern und dann bei Bedarf immer die Zahl richtig zusammensetzen, das ist die Umständliche Lösung.


    Ich suche aber eine Möglichkeit wie ich die Zahlen einfacher über eine Variable in das Material geben kann und diese Zahl dann in das Material gezeichnet wird und
    wie gesagt wichtig ist,dass ich die Zahl auch durch eine einfache Schwarzweiß-Grafik maskieren kann. Wisst ihr da eine Möglichkeit ?

    Generell würde ich dir auch die Variante von Darkentik empfehlen.
    Grund ist ganz einfach, wenn du es im MyCharacterscript machst und angenommen du hast 50 verschiedene Objekte wo du Schaden erhalten kannst, musste du alle 50 Objekte "ancasten" was ziemlich unübersichtlich wird.


    Andersrum hast du dann in jedem Objekt ein einzigen Cast zu "MyCharacter" was die Sache sehr übersichtlich macht.