1. und 3. Person mit unterschiedlichen Player-Meshes in einem Spiel?

  • Guten Morgen,


    Ich wollte mich erkundigen, ob es möglich ist, in einem Spiel, zwei verschiedene Player-Meshes (nach dem Vorbild von Overwatch, Battlefield 1, etc) zu nutzen.
    Sprich wenn ich in die 1st Person gehe, sehe ich nur meine Arme + Waffe, wenn ich dann in die 3rd Person switche, sehe ich meinen ganzen Körper mit Waffe.


    1. Ist das in der UE4 möglich?
    2. Wo suche ich da am besten nach Infos?
    3. Wie fange ich da am besten an? Habt ihr einen Hinweis für mich?


    Vielen Dank für gute Antworten,
    Gruß, Tobi

  • Klar geht das. Lade dir beide Modelle in ein Projekt und belege eine Taste für den Switch von 1st zu 3rd. Im CharacterBP nimmst du die Taste und einen Flip/Flop und schaltest die beiden Modelle durch den InvisisibilitySwitch hin und her.


    Natürlich musst du die Arme noch über den 3rd PersonMesh legen, aber da musst du nur eine weitere MeshComponent anfügen und die Arme reinladen. Standard sollte einer aus und der andere ein sein. Die Kamera musst du natürlich auch anpassen, was du einfach durch einfügen einer weiteren Camera erreichst oder die Location der Camera einfach änderst (zweiteres ist einfacher).


    Es geht auch ohne Taste einfach durch Zoomen. Du musst beim Zoomen in der 3rd Person nur eine Abfrage erstellen, die sagt, dass du bei einem gewissen Abstand zum Modell dann direkt reinspringst. Ist ja auch nur ein Bool für den Flip/Flop.

  • Kurze Anmerkung:
    Ein Flip/Flop ist nur ein temporärer Speicher und würde seinen Schaltzustand nach neustart "vergessen".
    Dinge, die man schaltet - gerade FP/TP Modes - sollte man über eine Variable+Branch lösen.


    Da hast du rechst, sehe aber im schalten des Sicht dort kein Problem. Viele Spiele arbeiten in diesem Fall so, da berichtige mich falls ich es falsch sehe,aber du man ehh nur ne runde spielt und dann wäre es egal ob ich beim nächsten neustart Taste X wieder drücken müsste um zu spielen. Beispiel GTA komme auf Server muss taste drücken zum Cam Swap. Joine anderen Server und muss wie die Taste drücken was mir aber egal ist.
    Natürlich wenn du es so haben willst das er diesen Zustand speichern willst , dann mit Hilfe einer Var. Sehe aber wie gesagt , in diesem Fall kein Problem ;)

  • Das ist ein gutes Beispiel dafür, dass die Sicht des Entwicklers meist verzerrt ist, aber das geht mir aber ganz genauso.
    Dass dich das erneute Drücken der Taste - und wir reden ja nur von einer Funktion von vielen - nicht stört, ist deine persönliche Einschätzung.
    Als Entwickler sollte man aber davon ausgehen, dass dem Spieler der Zwang Funktionen immer wieder neu einstellen zu müssen, sehr nerven kann und letztenendes in der Masse dafür sorgt, dass ein Spiel weniger Erfolg hat.

  • @Annubis
    Die Fragen des Erstellers sind so allgemein, dass alle Antworten hier nur Tipps und Ratschläge sind.
    Ich habe explizit erklärt, was vor und Nachteil von einem FlipFlop ist.
    Wer der Meinung ist, dass es nicht notwendig ist den Schaltzustand dauerhaft im Spielstand zu speichern, kann das gerne auch über Flip/Flops lösen. Dafür ist es ja auch da.
    Ergo verstehe ich deinen Einwand nicht.

  • Frage warum zwei Meshes ?


    Warum nutz Du nicht einfach zwei Kameras...


    Brauch man im First Person nicht auch einen ganzen Char und nicht nur die Arme mit der Waffe ?
    Zumindest wenn du einen Schatten darstellen willst....?


    Gruß.....

    • Offizieller Beitrag

    Genau das wäre auch mein Gedanke.


    Warum für first person nicht eine niedige LOD Stufe verwenden und für third person die man großteils eh nur von hinten sieht mehr Details.


    Das man bei dem UE4 Shooter nur die Arme und die Waffe sieht ist im Prinzip nur Faulheit und Performance Einsparung.
    Wenn du einen Multiplayer machen willst oder deinen Charakter irgend wann man komplett zeigen willst, dann musst du so oder so eine Komplette Version deines Charakters anfertigen.
    Hier versuchen Zeit zu sparen kann deswegen manchmal auch mehr Zeit kosten als erhofft.

  • Genau das wäre auch mein Gedanke.
    Warum für first person nicht eine niedige LOD Stufe verwenden und für third person die man großteils eh nur von hinten sieht mehr Details.


    Das man bei dem UE4 Shooter nur die Arme und die Waffe sieht ist im Prinzip nur Faulheit und Performance Einsparung.
    Wenn du einen Multiplayer machen willst oder deinen Charakter irgend wann man komplett zeigen willst, dann musst du so oder so eine Komplette Version deines Charakters anfertigen.
    Hier versuchen Zeit zu sparen kann deswegen manchmal auch mehr Zeit kosten als erhofft.

    Also mal kurz zur Erklärung. Es geht hier auf keinen Fall um Arbeitseinsparung oder Faulheit. ^^
    Wenn wir faul wären, dann hätten wir gar nicht erst anfangen brauchen.
    Wir haben das ganz schön diskutiert und wir haben uns nun für eine 1stP wie in cs:go (man sieht nur die Arme, hat so eine tolle Übersicht) entschieden. Wir sind der Meinung, dass das ganze so einen shooter Flair bekommt.


    Wieso?


    1. Es ist so schwer, zu verhindern, das der Spieler in sich selbst hinein sehen kann.
    2. Es ist deutlich komplizierter, Animationen (zB. Anvisieren) zu verwenden, die sowohl in der FP, als auch in der TP gut aussehen und funktionieren.
    3. Es ist ein bewährtes Prinzip wirklich erfolgreicher und guter Spiele (CS:GO, Overwatch)
    4. Wie viele Spieler interessieren sich dafür, ob sie ihre Füße in der FP sehen können oder nicht?


    Es stimmt, es ist damit keine "True FP", aber es ist perfekt für unser System geeignet.


    Grüße, Tobi

    • Offizieller Beitrag

    1. Es ist so schwer, zu verhindern, das der Spieler in sich selbst hinein sehen kann.
    2. Es ist deutlich komplizierter, Animationen (zB. Anvisieren) zu verwenden, die sowohl in der FP, als auch in der TP gut aussehen und funktionieren.
    3. Es ist ein bewährtes Prinzip wirklich erfolgreicher und guter Spiele (CS:GO, Overwatch)
    4. Wie viele Spieler interessieren sich dafür, ob sie ihre Füße in der FP sehen können oder nicht?

    1. Da hast du recht :(
    2. Wie Aragom schon sagte: First Person und third person ist doch das selbe nutzt doch zwei Kameras. (Ein einziges Mesh)
    3.Woher willst du den wissen das sich das Prinzip bewährt hat ? Da können sehr komplexe Shader dahinterstecken die verhindern das die Kamera durch die Wand oder durch den Charakter fahren. Da steckt oftmals mehr dahinter als man denkt.
    4.Die Frage ist nicht wie viele Spieler es interessiert sondern ob man es sieht oder nicht sieht. Der Rest entschiedet unser Gehin: Ob etwas glaubwürdig ist oder nicht. Du sagst ja selbst das du Flair haben willst dann musst du ihn aber ganz nehmen mit allen ecken und Kanten den dann kauf man dir den Firstperson bzw Thirdperson auch ab. Realismus oder so wie wie einen Shooter identifizieren ist keine Interpretation sondern entsteht in unserem Gehirn in dem Muster erkannt werden.


    Vielleicht solltest du Eurer System auch noch etwas genauer erklären und vielleicht auch mal erläutern was dir wieso an welchem System stört und was dein Wunsch System alles können muss.

  • Also:


    Wir machen ja ein Spiel, bei dem wir sowohl mit Säbeln kämpfen, als auch mit Musketen.
    Aus Erfahrung mit der M&B Reihe (900 Spielstunden) wissen wir, dass ein Kampf mit Säbeln in der FP nicht annähernd so schön ist, wie in der TP - in der man da einfach mehr Überblick hat. (So unsere Erfahrung und unser Plan.)


    Das bedeutet im MP:


    Für Mich selbst ist der FP-Mesh aktiv und bei den anderen Spielern sehe ich den TP-Mesh (Stichwort: Replication).


    Was uns aber in den Musketen-Schlachten der M&B WFaS Reihe fehlt, ist das FPS-Gefühl. Dieses wollen wir in unserem Spiel aber haben. Einer der bekanntesten und beliebtesten Shooter hat das von uns gewünschte System: CSGGO.
    In CS:GO hat der eigene Charakter, außer den Armen, keinen Körper. Die Arme und die zugehörigen Animationen sind genau auf die FP Camera ausgelegt und sehen großartig aus - und das man seine Beine/Füße nicht sehen kann, stört uns (und im Grunde Alle, die ich kenne) kein Stück. [Auf den Schatten hab ich hier nie geachtet, kann daher dazu gerade nichts sagen, da ich auf der Arbeit bin.]


    Deshalb möchten wir 2 Character-Meshes verwenden - eines, das auf die TP ausgerichtet ist und eines für die FP.
    Wir möchten definitiv nicht nur 1 Modell, welches mit zwei Kameras ausgerüstet wird.
    Wir wollen keine "TrueFP" sondern nur eine "FP" - Erfahrung.


    Und deshalb war meine Frage: ist es möglich zwei Character-Meshes für jeweils die FP als auch die TP zu verwenden?


    Jo, bei weiteren Fragen, bitte fragen ;)


    Gruß, Tobi

    • Offizieller Beitrag

    Und deshalb war meine Frage: ist es möglich zwei Character-Meshes für jeweils die FP als auch die TP zu verwenden?

    Wie oben bereits schon gesagt: Verwende doch einfach Lods.


    LOD_1 Ist ein TP Mesh und LOD_2 ist dein FP Mesh


    Jedes LOD ist ein separates Mesh (genau so wie du das möchtest. )



    Wenn du das einfach setzen willst das sehe ich folgendes Problem:


    Du bist Kampf und schlägst gerade mit dem Säbel und wechselst im Kampf die Waffe, so muss erstmal die (Säbel Wegsteck Animation) gestartet werden und wenn diese beendet ist die (Muskete rausholen) Animation gestartet werden. Stribt der Charakter innerhalb dieser Zeit wird die Sterbe Animation erst am Schluss angehängt oder die Animationen werden sehr abgehakt aussehen. Speziell dann wenn die Musketen Animation einfach mitten drin beendet wird und der Charakter einfach um fällt weil er tot ist.
    Ich glaube nicht das ihr einfach so zwischen den Animation einfach so ein anderes Mesh einblenden könnt ohne das es jemand merkt.


    Bei CS:GO sieht man doch immer den gesamten Player es ist ja auch ein Multiplayer spiel oder sieht man beim Gegner nur einen Arm und ne Waffe rumrennen ?


    Warum wollt ihr auf den restlichen Körper komplett verzichten vor allem wenn ihr derartige features ich finde euren Weg den ihr geht sehr umständlich und verwirrend und verstehe wie gesagt nicht warum ihr euch bei der Umsetzung so festgefahren habt.

  • @Sleepy

    Für Mich selbst ist der FP-Mesh aktiv und bei den anderen Spielern sehe ich den TP-Mesh (Stichwort: Replication).

    1. In CSGO siehst du natürlich den ganzen Körper, das meine ich ja mit "Replication" oder wie DiamondShard sagte:





    Wichtig ist dabei owner no see und only owner see




    2. Für das Problem mit den Animationen hab ich schon eine Lösung, die aber zu ausführlich für eine Nachricht ist - vllt mache ich dafür mal einen eigenen Thread auf.
    3. Weil es total schwer ist Animationen hinzubekommen, bei der der Spieler (ich) zB über Kimme und Korn zielt und für die Mitspieler meine Muskete aber nicht in meinem Oberkörper steckt.
    Außerdem kann ich dann die Arme auch weiter oben anordnen - so dass diese (fast immer) sichtbar sind.
    Zum Thema "festgefahren" - das ist einfach eine Design Enstcheidung, die wir so getroffen haben. :)

    • Offizieller Beitrag

    2. Für das Problem mit den Animationen hab ich schon eine Lösung, die aber zu ausführlich für eine Nachricht ist - vllt mache ich dafür mal einen eigenen Thread auf.

    Du müsstest die Animationen warscheinlich überblenden und die Animationen vom einen Mesh aufs andere übertragen aber das geht auch nur wenn das Rigg beider Meshes identisch sind.



    Weil es total schwer ist Animationen hinzubekommen, bei der der Spieler (ich) zB über Kimme und Korn zielt und für die Mitspieler meine Muskete aber nicht in meinem Oberkörper steckt.
    Außerdem kann ich dann die Arme auch weiter oben anordnen - so dass diese (fast immer) sichtbar sind.

    ich vermute mal dir fehlen allgemein Kenntnisse zum Thema Riggen, Animieren usw ? Du willst nur den Arm oder ein Teil Mesh verwenden weil du glaubst es wäre dann einfacher ?
    Wenn ich dich richtig verstanden habe brauchst ja so oder so ein komplett Mesh + Rigg + Animationen. Oder wie wollt ihr das dann umsetzen wenn du einem anderen Player beim Schießen zuschaust sieht man dann bei dem auch nur den Arm ohne Füsse etc ?



    Zum Thema "festgefahren" - das ist einfach eine Design Enstcheidung, die wir so getroffen haben.

    Ich finde mit Design Frage hat das doch nichts zu tun das ist eher ne technische Frage.


    Ich glaube du versuchst zwar dem ganzen komplizierten aus dem Weg zu gehen aber machst es dir dadurch noch komplizierter !
    Wenn es einen einfacheren Weg gäbe als der reguläre weg, warum machen das dann nicht alle so ?