First Person Rig V5

this is a work in progress but has

Reloading with a bullet stockpile

Raycast bullets



Left click=fire

Right click =zoom



mouselook soon.


FPSSetupX2.blend (690 KB)

-thats a lot of properties running on the side there :p, makes it look quite heavy to run.
-Ray cast bullets are sorta cool, but you can’t really see where the bullet is going, using a Ray cast on the bullet itself lets you see where it is going and allows you to still add bulletholes/sparks etc.
-zooming takes a bit long, and you get a little too close to the front of the gun.

extra additions:
-you could possibly add some rigged hands? without too many physics calculations, that would make the gun sway more obvious and make it look more awesome!
-increase the speed of the sway so its just offset by one or 1/2 of a second!

Looks cool otherwise :smiley:

It uses .10 ms of logic on my pc. All of those values are for debugging, and you can grab bullets and stock for the UI,

I can rig the hands, and speed up zoom, just grab the logic that is

If zoom min:0 max:99-------and-------add 1

And change it to

Zoom min:0 max:98-------and-------add 2 to Zoom

This will double the zoom speed,

The hands rotate using a property and python to apply the property, so you can just adjust the application or the rotation, for the gun rotation lag. You can adjust the logic that manupulates the property rot, or you can adjust the python in the empty the gun is parented to,

The red line drawn when shooting is just for debugging,
There is a “poof” added where the bullet hits, but a bullet hole that aligns its axis to face normal would look better, also a static ghost bullet that deletes itself if its further away then the sens.hitPos would make the bullet strike look convincing and would also be able to run each frame if ownGetDistanceTo(Player)>hitPointDistanceFromPlayer = endObject , add bullet hole.

Added changed file with discussed changes


FPSSetupX3.blend (708 KB)

bullets would not fire without a raycast target- fixed it


FPSSetupX3B.blend (708 KB)