[Tutorial] 6-DOF Flying Pawn (Like Descent)

Hello all. After being asked a bunch about making a flying Pawn in Blueprints, I’ve gone ahead and spent some time making a step-by-step tutorial covering the process.

I’ve posted the tutorial on the WIKI, so if anybody finds errors or has additions, please don’t hesitate to add 'em!

And, here’s the video of the Pawn in action:

Tom… you’re the man!

Thanks so much!

I’ll give you feedback once I’ve implemented and tested.

BTW: All we need now is to figure out the roll function. I managed to do it in UDK using quaterions but I don’t know if this is possible in BP - I’m sure it is, but it all depends on the right math functions being available.

Nice one! This is awesome. Thanks.

No worries.
For roll, I was thnkining of doing an axis bind with the Q and E keys and simply extending the rotation bit to add roll to the local rotation, like I …
Okay so I just did it and added it to the tutorial :stuck_out_tongue:

Descent on UE4 awesome Tom

only joking thanks for the tutorial

Brilliant work Tom! :slight_smile:

Thanks for all the effort you put in with this tut. It’s going to really help me realise my vision for my project.
I’ll be sure that you get a mention!


I added an Extra Credit showing how to make the rotation physics based as well:

Hi Tom,

I think I actually prefer the feeling of this setup -it feels more weighty like my ship has actual mass!
I couldn’t hack for very long though as I was starting to feel ill haha :wink:

Looking forward to getting some footage out there of this in action once I’ve got the proto up and running.

I suspect once I’ve mapped this model to a gamepad it might feel a lot more natural for the player.

Hey everyone,

I know i am missing something, but when i follow that tutorial using a skeleton mesh. the mesh wont move.
Does anyone have any suggestions?

No, you’re not. I can’t get a skeletal mesh to move correctly either! I got it to twitchedly move about but gave up and used a static mesh. :confused:

That’s bad.
I need bones to get the proper placement of accessoires.

If that’s all you need bones for, you can use sockets in static meshes now. In the static mesh editor, go to Window>Socket manager and place your sockets, then you can access the sockets in your blueprint!

I managed to get a skeletal mesh to work by going into the pawn components tab and in the Details tab, under Collision, I checked:

Collision Presets: Custom

then expanded that and checked:

Collision Enabled: Collision Enabled
Object Type: Pawn

I left everything under the Block column checked, since I have no reason to change any yet.

Somehow it works, though when I tried to do the physics rotations, I couldn’t get pitch and yaw to work at the same time. Roll never worked for me - I thought I had it set up right, dunno what went wrong. I disabled pitch since I want to turn it into a hover vehicle and I don’t really need it. Under physics, I enabled gravity, and gave the pawn lift movement with a jump input. Linear damping works, but making the value >1 doesn’t seem to have any effect. Angular damping has no effect, it simply stops rotating whenever input is stopped.

So, it is possible, though I don’t quite have it working right…

That’s almost great :slight_smile:
Is there a way to create those sockets setup in Maya and export them?

To get the reflections are you attaching a reflection sphere to the pawn?

You talkin’ to me? There’s sphere reflection actors throughout the content example level I’m using. However, Reflection actors only work with static lighting and can’t be attached to an actor as they aren’t dynamically updated.

Hi and thanks for this epic tutorial!

I made a small modification and added Rotation at buttons Q and E instead of LookUp and Turn (In the following screenshot i name it “Strafe”).


Controls work fine but in this part I have 3 issues:

  1. When i touch a wall my pawn spins chaoticly. How can totaly reduce this?
  2. Pawn’s Forward and Right direactions are different that World’s Forward and Right. I mean, I can turn 180 degrees and by pressing W the pawn will be moving backwards like a car on reverse.
    pawn-movement.bmp (339 KB)
  3. How can I make the pawn to turn Up/Down , Left/Right with mouse? (I have axis mapping “LookUp” and “Turn” as in the tutorial). I just want to be able to dive or rise based on mouse directions.


Hmmm. Everything there looks good. the tutorial is wildly out of doubt, so I rebuilt the pawn in 4.9 and here’s the new graph:


Pay close attention to how I had to build the pawn. I replaced the “Default Scene Node” component with the static mesh, and that seems to make everything work well.

Thanks Tom!
I can now move around with mouse :slight_smile:

If I touch a wall I still spin chaoticly (this happens only in flying pawn cases).
Does this has to do with Linear and Angular velocity that we set 1.0 in the first steps?

I try to delete “Default Root Scene” and make my pawn exactly like in your example.
But when I remove “Default Root Scene” the pawn is totaly broken.

Thank you for your time sir!

Hi guys,
I have small problem with this tutorial because in newest UE is not possible to connect Actor Rotation with Up Vector like on screenshot and now i can’t move my character (apart from turning using “Q” or “E” and looking around using the mouse). How it can be resolve?