I have been playing around with the glider from the landscape mountains example.
Here is how I set it up:
1.) right click the gliderBP and then migrate it into a new project,
2.) then put the nodes I pasted below into the level blueprint.
(You just need to tweak the location and rotation nodes on makeTransform to where you want to spawn the glider on your map)
3.) Hit play
Push K - and You can possess the glider, fly it around,
Push J - You are back your own pawn, and you will fall from mid air wherever the glider was.
I like the concept, and it could be fun if done the right way.
I want to put something in my map
Make the player get in fly over something for a little bit and then jump off before it crashes.
But I want the player to see his character hanging from the glider,
and I don’t want to have to destroy him spawn him.
The little example I wrote works, but it is very crude and I want to improve it.
Problem is, I have no idea exactly how the glider possesses the player.
I looked at the blueprint and I couldn’t figure out how as soon as I spawned it,
I am possessed by it.
Since I couldn’t figure out how anything was working I just made those 2 crude get all actors of class and destroy all actors of Class.
It showed me that the concept can be fun. but I want more control.
I want to do this for a third person character.
I want better control and transitioning of both my camera and animations.
I would really like is for my character to become attached to the glider
How should I do this??? ** I have no idea how to temporarily make a pawn a child
of the new pawn (which I have no idea how it became the pawn the player is controlling
in the first place)
You probably just want to Spawn 2 Pawns, the Glider and the PlayerCharacter.
When you are flying the Glider you possess it, but the PlayerCharacter will need to become attached to the Glider or at least force the PlayerCharacter to be at the same position as the Glider at all times until you execute the Drop logic.
Once you use Drop, you possess your PlayerCharacter and have it no longer attempt to follow the Glider and continue to use its own Physics and Control systems.
I want the player to be walking around,
get to the edge of something, see the glider, get on it
take it for a ride and then jump off somewhere.
and then the player is back to walking around
As soon as I spawn that glider into any level, I immediately possesses it.
And I have no idea why. I don’t see it in the level blueprint, worldsettings, and
I didn’t see a different game mode.
I understand how to do this:
1.) make a dummy glider BluePrint that is just a mesh and not really the glider.
2.) On overlap destroy the dummy , spawn a modified version of the real one
that includes another version of the player or a mesh that looks like him attached.
3.) On Eject destroy the part of the glider that looks like the player.
4.) Respawn the player midair at the last location, and let the glider crash somewhere.
It just doesn’t feel right to do it that way. Smells to me like bad code
just because I don’t understand how the glider possesses me.
I want to do as little spawning and possessing as possible so I can have tight control
on the animations, and camera transitioning.
I looked over the blueprint carefully, and couldn’t really figure out what
was doing that.
First I want to stop that immediate possession so I can control what is going on.
and I can’t figure out how.
Assuming I can get past that,
Is it even possible to Attach the Player Pawn to another Pawn and switch controllers at runtime.
then detach him again later and switch controllers again. If so how do you do that?
I thought have seen this done in many games whenever a player gets in a vehicle.
Only now I am not really sure what I was looking at.
But Did they destroy one pawn, and spawn another that had a different version of the player as a child?
or do they switch the parenting of pawns during runtime?
I know you mentioned world settings etc… but there is an option in Project Settings > Maps and modes check default pawn/character class there. I am not sure how this is set up entirely whether you have a separate blueprint for the glider and character. It may be the Glider BP is the default under the project settings mentioned above. If not check the Construction script to make sure it doesn’t possess that first. Failing this check the Player Controller class.
I would handle this like below.
Have 2 character BP, one for the glider and one for the character, and let the player controller handle the logic for swapping/possess/unposses them. This means you can have 2 different control schemes for one.
You might also want to look into the logic of Characters getting into land vehicles because the logic should essentially be the same. I believe there are a few tutorials online for this.
EDIT: I won’t change my original message but I noticed the swapping was done in the level blueprint and you do indeed have 2 BPs for the Char and Glider so I would definitely check the project settings mentioned above.