CustomCharacterCreator

  • Hallihallöchen,

    hab mir vor ein paar Tagen den CustomCharacterCreator vom Marketplace besorgt. Schien sehr interessant zu sein und wirkte gut. Hab da leider nun ein kleines Problemchen mit, bei dem ihr mir vielleicht helfen könnt. Habe schon versucht den Support zu kontaktieren, hat auch gut geklappt, nur konnten sie mir bisher leider auch nicht helfen.


    Der CustomCharacterCreator ist kein Plugin, also habe ich ein Projekt mit dem Content gestartet und in Windows aus diesem Content die Dateien in mein eigentliches Projekt kopiert. Hat super geklappt, alles wird angezeigt. Nun mein eigentliches Problemchen.

    Ich versuchte mich daran, den Creator, der eine eigene Map besitzt, als StartupMap in den Project Settings zu deklarieren, funktioniert nur leider nicht so wie gewollt. Wenn ich im Editor ein anderes Level offen habe, so lädt er mir dieses auch im PLaymodus(gleich welcher) und nicht das Angegebene(ExampleMap). Wie bekomme ich es hin, dass die Engine mir die ExampleMap als erstes lädt?

    Weiteres Problemchen: Wenn ich die ExampleMap im Editor offen habe, lädt er mir diese im Playmodus, soweit so gut, ich sehe auch das Widget, nur leider keinen Pawn zum erstellen, klicke ich dann auf Start im Widget der ExampleMap, so erscheint zwar ein Character, der fällt jedoch durch die geladene Mainmap, die geladen werden sollte, da ein Node ein LoadStreamLevelbyName, an den BtnStart angehängt ist, jedoch nicht an dem PLayerstart-Punkt sondern etwas versetzt(ca.5-10Meter) und naja, ich falle eben durch die Map hindurch.

    Weiß nicht ob ich hier Blueprint posten darf, ist ein gekauftes Asset, aber vielleicht habt ihr ein paar Denkanstöße oder hattet schon einmal ähnlichere Probleme.

    Danke fürs Durchlesen und alles Gute und viel Erfolg,


    Euer Marc

  • Wenn ich im Editor ein anderes Level offen habe, so lädt er mir dieses auch im PLaymodus(gleich welcher) und nicht das Angegebene(ExampleMap).

    Das ist normal, im Editor wird immer das Level gestartet, welches geöffnet ist.


    Im gepackten Spiel wird das Level beim Start geöffnet, welches du in den ProjectSettings gesetzt hast ^^

    (Kannst auch Launch im Editor klicken, ist so ziemlich das selbe)


    nur leider keinen Pawn zum erstellen

    GameMode gecheckt?
    Wenn du alles einfach nur ins neue Projekt kopiert hast, könnten die Referenzen kaputt sein (Migrate wäre der richtige Weg gewesen)...

    Evtl. auch im BP checken, ob da direkt ein Character drin ist, wo die Referenz fehlt.


    fällt jedoch durch die geladene Mainmap, die geladen werden sollte, da ein Node ein LoadStreamLevelbyName, an den BtnStart angehängt ist

    Wenn ein Stream-Level geladen wird, sollte man nen Delay dran hängen (Ladescreen), da es ja erst geladen werden muss, und nicht sofort verfügbar ist.

  • Habe das einmal ausprobiert. Den Charakter bekomme ich noch nicht zu sehen im Creator, jedoch im Mainlevel meines Games.

    Hätte da nur eine kleine Frage. Im Projekt des Creators ist nach dem Press Startbutton des Widget(ist der Teil wo man den Charakter erstellt), ein Load Level. Nutze ich diesen, so wird zwar das Level geladen, aber meine Figur fällt durch die Map. Nutze ich ein Loadstream Level(by Name) und ein Unload Stream Level(byName) so wird die Creatormap erst gar nicht unloaded, sondern mein erstellter Charakter bleibt in diesem bestehen. Obwohl nicht einmal ein Playerstart dort vorhanden ist. Kann die Figur dann aber auch nicht bewegen. Irgendeine Idee, was ich da anders machen könnte?

    Alles Gute

  • Ich glaube ich habe ein Hauptproblem gefunden. Immer wenn ich die Map lade in dem der Creator ausgeführt wird, so befindet sich diese außerhalb der World bounds. Habe schon versucht durch verschieben das Level in die Bounds zu bekommen, wurde aber nach erneutem Laden wieder nach außen verschoben. Gibt es da eine Möglichkeit das Level in die Bounds zu verschieben und auch dort zu lassen. Der Support des Creators hat mir geschrieben, dass ich die Creatormap nicht in die WorldComposition aufnehmen soll und als eigenständige Map wie im eigenständigen Projekt benutzen soll, so habe ich aber das Problem "Acessed none trying.....is pending kill" vermutlich weil außerhalb der Bounds. Verschieben geht nicht, ich nehme an, da nicht im World Composition, so ist aber immer der Charakter tot.


    Nun meine Überlegung. Ich setze den Actor der mir den Character erstellt irgendwohin auf meine WorldComposition Map(am Besten die ich gleich zu Beginn lade), erstelle dort den Charakter und caste diesen dann nach Betätigen der Start Taste an den Player Start. Leider habe ich kaum bis keine Ahnung wie ich das Bewerstelligen könnte und möchte nur ungern herumprobieren und mir vielleicht etwas kaputt machen.


    Vieleicht gibt es Anregungen oder Ideen.


    Im Prinzip ist es ein Actor(CreatorPlayer) an dem der Character(CustomizableChar) hängt. Weiß leider nicht wie ich die erstellte Figur von dem einen Punkt zum Anderen casten kann und auch noch spielbar machen, da ich als Default Pawn leider den Creator PLayer brauche, aber in der spielbaren Map, dann den CustomizableChar).

    Vielleicht könnt ihr mir ja wieder einmal helfen. Schönes Wochenende euch allen auf jeden Fall und viel Erfolg,


    Ciao und guten Tag, euer Marc

  • so ist aber immer der Charakter tot.

    Wenn ich richtig liege, musst nur den "Kill-Z" Wert ändern:

    Alles was unter diesem Wert liegt, ist automatisch tot.

    Wenn es also z.B. auf -1000 steht und dein Character hockt auf -1001, ist er tot ^^


    Ich hab das bei mir auf nen Millionen-Wert gesetzt und mein eigenes Volume als "Kill-Z" benutzt, da ich keine Ahnung hab, wie man nen Character, der durch die Landscape glitched und durch dieses "Kill-Z" gekillt wird, neu spawnt...

  • Danke für den Tipp. Das Level des Creator PLayer liegt auf Z:0 und der KILL-Z auf -1048575, weshalb auch immer dieser Wert. Sollte also reichen, hoffe ich. Charakter ist trotzdem kill.

    Alleine im Creator Player wird der Charakter nicht angezeigt. Ist aber alles wie im Projekt des gekauften Contents. Irgendwo muss da der Haken drin sein. Irgendwo wird da mein Charakter gekillt. IM OutputLog schreibt er:


    LogActor: Warning: BP_CustomizableChar_C_0 is outside the world bounds!


    Wenn ich aber unter Windows-Levels-LevelDetails nachsehe ist in der entsprechenden Map, dass Level in diesem orangen Kasterl drin. Meine WorldCompositionMaps liegen auch in einem orangen Kasterl drin, einem anderen, beide sind so voneinander getrennt dass weder das eine Level noch das andere Level in einem der orangen Kasterl der anderen liegt. Ich nehme an, dass ist das Problem der Engine. Habe aber keine Ahnung wie ich das ändern kann, da er mir immer wieder die erste Map, wieder zurückverschiebt.

  • Hallöchen miteinander, hätte da mal wieder eine kleine Frage an euch.

    Da ich nicht weiß wie ich einen Delay bei mir beim Openlevel einfügen soll, dachte ich mir ich kann dies über den Gamemode-overridableFunction-Choose PLayer Start bewerkstelligen. Leider kann ich da keinen Delay, bzw. weiß nicht welchen ich einfügen soll, einsetzen. Vielleicht könnt ihr mir ja dabei helfen.


    Das Ganze setzt sich bisher so zusammen. Ich habe ein Level in dem der Charakter erstellt wird. Nach betätigen eines WidgetButtons soll das Mainlevel(in dem sich auch der PLayer Start befindet und anschließend ein Loadstreamlevel by Name) das bestimmte Level laden. Funktioniert eigentlich alles einwandfrei, außer dass mein Playercharakter zu früh gespawnt wird und durch den Boden rast.


    Butter Fly Games gab mir schon den Tipp einen Delay einzusetzen, jedoch bin ich ein wenig ratlos, wohin damit. Denn vor dem openlevel, bringt es mir ja nix, nach dem openlevel ist es zu spät. Daher meine Überlegung das Ganze PLayerStart gespawne zeitlich zu versetzen. Wäre für jede Anregung dankbar.


    Schänen Abend und erfolgreiche Woche,

    Alles Gute, euer Marc

  • dachte ich mir ich kann dies über den Gamemode-overridableFunction-Choose PLayer Start bewerkstelligen. Leider kann ich da keinen Delay, bzw. weiß nicht welchen ich einfügen soll, einsetzen.

    In ner Function kann man generell kein Delay rein machen ^^
    Du könntest aber im GameMode einfach das Feld "DefaultPawn" frei lassen und dann denn ganzen Spawn übern PlayerController bewerkstelligen.

    Musst du sowieso früher oder später, wenn der Character auch sterben und neu starten können soll...


    Daher meine Überlegung das Ganze PLayerStart gespawne zeitlich zu versetzen. Wäre für jede Anregung dankbar.

    Alternativ gibts noch die Möglichkeit, dass du in deinem Character_BP, bei BeginPlay, nen Delay rein machst und dann deinem MovementComponent nach dem Delay sagst, dass GravityScale = 1 ist (nicht vergessen, im MovementComponent auf 0 zu setzen).


  • Hallöchen und guten Morgen,


    hätte da noch eine Frage. Ist es möglich den Gamemode während des Spieles zu ändern. Ich habe da einen Gamemode im CharacterCreatorlevel und einen Gamemode in der eigentlichen spielbaren Welt(RPG). Letzteres nutzt levelstreaming, ersteres ist ein allein stehendes Level.

    Falls nicht möglich, dann sollte ich für beide denselben Gamemode verwenden oder? Beide benutzen aber andere Default Pawn Classes. Mein problem ist nämlich, wenn ich vom Character Creator ins andere Level komme, dann öffnet er mir trotzdem den CharacterCreator mit vorher aufpoppendem Mainmenu. Keine Ahnung wie ich das wegbekomme. Dachte es könnte am Gamemode liegen.

  • Wie kommst du nur auf solche Lösungen?

    Ich hab immer wieder dumme Ideen...
    Andere nennen es auch Phantasie ^^


    Ist es möglich den Gamemode während des Spieles zu ändern

    Nein


    Falls nicht möglich, dann sollte ich für beide denselben Gamemode verwenden oder?

    Ja


    Beide benutzen aber andere Default Pawn Classes.

    Du kannst das Feld auch leer lassen und ne eigene Logik aufbauen, wo der jeweilige Character gespawnt wird (schon mal geschrieben) ^^

    Oder du baust das ganze einfach so um, dass in beiden der gleiche Character genutzt werden kann...


    Schon mal bei beiden GameModes, den gleichen Character rein gesetzt?

    Wenn der Creator jedoch seinen eigenen Character hat und in deinem Streaming ein anderer drin ist, könnte es sein, dass das ganze Zeug aus dem Character-Creator nicht mehr funktioniert, da die Logik dahinter, fehlt...


    Mein problem ist nämlich, wenn ich vom Character Creator ins andere Level komme, dann öffnet er mir trotzdem den CharacterCreator mit vorher aufpoppendem Mainmenu.

    Dann ist der Creator wohl dort irgendwo verlinkt...

    Oder du hast den Creator im gleichen Ordner wie dein Level-Streaming, alle Level die im gleichen Ordner mit dem Haupt-Level des Level-Streamings liegen, gehören automatisch zum Level-Streaming.


    Hier zum lesen:

    https://docs.unrealengine.com/…ingWorlds/LevelStreaming/