Announcement

Collapse
No announcement yet.

Disable pawn spawn on level load and spawn via blueprint

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Disable pawn spawn on level load and spawn via blueprint

    Im trying to make a game that is all within the same persistent level including the main menu via sub levels. ive got my menu working fine and a camera transition using matinee to the main game level.

    In terms of spawning the playable character is where im having problems. I have the games menu set up as a streaming level that is streamed on the "event begin play". it then streams in an intro level after clicking the relevant option in the menu. the playable character should not be spawned until you get to the intro level.

    Ive got a blueprint setup for the playable character, and ive for testing purposes set its visible representation to a text renderer reading "LOL".

    As soon as the game starts and the menu map is shown this character is visible at the world origin. I can see it behind my menu*. what I am trying to achieve is not spawning the character until a menu option has been selected and the camera moves to the actual game world and then spawn the character and only accept input from then onwards.

    *ive now fixed this aspect, it now spawns at the playerstart, I had my player start set incorrectly. other issues still relevant.

    Click image for larger version

Name:	4.jpg
Views:	1
Size:	54.6 KB
ID:	1134163
    Click image for larger version

Name:	5.jpg
Views:	1
Size:	55.0 KB
ID:	1134164

    Im trying to achieve all of this through blueprints. I have a player start on the game world, it ignores this currently and spawns at world origin.

    How do I make my character spawn at the playerstart and also only spawn once I issue a blueprint command to tell it to spawn? if it has to spawn on load then how do I disable input until the game is ready to accept input? (and still allowing mouse input for the menu, ive got this currently set to disable mouse input once the camera pans to the game world).
    Last edited by lawlorz; 04-22-2014, 08:55 AM.

    #2
    I am still learning everything myself, so I apologize if I am incorrect here. You should be able to have things set up the way you want by just not setting the pawn as the default, and instead setting up a separate pawn that is used for the input controlling the menu and setting that as the default. You can then spawn your other pawn manually (using the spawn actor by class node), then bind your player controller to the new pawn actor. Of course creating a separate map for your menu is also an option, but I assume you didn't want to go that route.

    Edit: I see you mentioned that you don't want to change maps, have not had my coffee yet.
    Last edited by ThatGuyNex; 04-22-2014, 09:50 AM.

    Comment


      #3
      Originally posted by ThatGuyNex View Post
      I am still learning everything myself, so I apologize if I am incorrect here. You should be able to have things set up the way you want by just not setting the pawn as the default, and instead setting up a separate pawn that is used for the input controlling the menu and setting that as the default. You can then spawn your other pawn manually (using the spawn actor by class node), then bind your player controller to the new pawn actor. Of course creating a separate map for your menu is also an option, but I assume you didn't want to go that route.

      Edit: I see you mentioned that you don't want to change maps, have not had my coffee yet.
      thanks for the response. I initially had it left on the default pawn and such, in these cases it would spawn a sphere as the default pawn in the same location and use default input of wasd. I had to create my own versions of these blueprints to overrule these values. so currently im getting the pawn to spawn at the correct playerstart I just don't know how to tell it to not spawn the actor on initial map load and to tell it to wait until I want it to spawn via blueprint.

      Comment


        #4
        Originally posted by lawlorz View Post
        thanks for the response. I initially had it left on the default pawn and such, in these cases it would spawn a sphere as the default pawn in the same location and use default input of wasd. I had to create my own versions of these blueprints to overrule these values. so currently im getting the pawn to spawn at the correct playerstart I just don't know how to tell it to not spawn the actor on initial map load and to tell it to wait until I want it to spawn via blueprint.
        If you do not have the blueprint placed in the world it should not be spawned automatically, unless it is assigned as the default under your world settings. Could you take a screen shot of the world settings and your default pawn's node setup for me?

        Comment


          #5
          Originally posted by ThatGuyNex View Post
          If you do not have the blueprint placed in the world it should not be spawned automatically, unless it is assigned as the default under your world settings. Could you take a screen shot of the world settings and your default pawn's node setup for me?
          this is my world settings:

          Click image for larger version

Name:	6.jpg
Views:	1
Size:	47.7 KB
ID:	1050198

          and this is my pawn:

          Click image for larger version

Name:	7.JPG
Views:	1
Size:	37.9 KB
ID:	1050199

          I have mappings in my project settings for movement and jump.

          Comment


            #6
            Originally posted by lawlorz View Post
            this is my world settings:

            [ATTACH=CONFIG]1126[/ATTACH]

            and this is my pawn:

            [ATTACH=CONFIG]1127[/ATTACH]

            I have mappings in my project settings for movement and jump.
            It looks like you still have the gameplay pawn set to the default under your game mode settings. Go ahead and make a new blank pawn with just the basics, and set it to the default. Then under the node graph (for example's sake) drop in an input event, for example when the enter key is pressed, and link that into your matinee event and have it spawn the pawn you have set now, bCharacterGame. You can then switch then have the player posses the newly created actor after you spawn it.

            Comment


              #7
              Originally posted by ThatGuyNex View Post
              It looks like you still have the gameplay pawn set to the default under your game mode settings. Go ahead and make a new blank pawn with just the basics, and set it to the default. Then under the node graph (for example's sake) drop in an input event, for example when the enter key is pressed, and link that into your matinee event and have it spawn the pawn you have set now, bCharacterGame. You can then switch then have the player posses the newly created actor after you spawn it.
              my blueprints for game mode and pawn etc are all completely blank atm. I haven't set anything in any blueprint apart from the level ones and the playercontroller which ive only set mouse input active. so I don't understand why its spawning the character (it will do that as a sphere even if I don't have a blueprint set) that's what my question is.

              Comment


                #8
                Originally posted by ThatGuyNex View Post
                It looks like you still have the gameplay pawn set to the default under your game mode settings. Go ahead and make a new blank pawn with just the basics, and set it to the default. Then under the node graph (for example's sake) drop in an input event, for example when the enter key is pressed, and link that into your matinee event and have it spawn the pawn you have set now, bCharacterGame. You can then switch then have the player posses the newly created actor after you spawn it.
                Ok ive managed to get some of this working. I set a blank pawn as my default and then set a "spawnactor" node to spawn my bCharacterGame at my player start. I am unable to control it though, even with the axis mappings set up correctly as per one of my previous screenshots. How do you have it "posses" the character? I tried using a "posses" node, and while it gives no errors, it makes no difference.

                I also threw it some print string nodes on my input graph to see why my input is not working and it appears as though it is in an endless loop of firing without me touching anything. The "inputaxis move" event should only fire when I press the relevant mapped key in my project settings right? if I add the print string between this event and my "add movement input" action it prints an endless stream.

                any further help with these last few issues?

                EDIT: with some further playing I have managed to get this to work. the player controller now posses bCharacterGame and I noticed jump input was working fine but moving wasn't. Changed the name of my "Move" axis mapping to "MoveSide" and it has fixed it, so must be a conflict with the name "Move".
                Last edited by lawlorz; 04-26-2014, 05:08 AM.

                Comment


                  #9
                  Simple Stop Spawn on level

                  Just cast to the character in the level blueprint on play and then destroy actor.

                  Comment


                    #10
                    Originally posted by ThatGuyNex View Post
                    I am still learning everything myself, so I apologize if I am incorrect here. You should be able to have things set up the way you want by just not setting the pawn as the default, and instead setting up a separate pawn that is used for the input controlling the menu and setting that as the default. You can then spawn your other pawn manually (using the spawn actor by class node), then bind your player controller to the new pawn actor. Of course creating a separate map for your menu is also an option, but I assume you didn't want to go that route.

                    Edit: I see you mentioned that you don't want to change maps, have not had my coffee yet.
                    i had this same issue and after i set the default pawn class to none in the map this stopped happening for me. thanks!

                    Comment

                    Working...
                    X