I’m trying to make an FPS game, and I feel like I encountered the biggest problems so far.
Here’s what I have: A character BP with a skeletal mesh attached to the camera, a grip point on the mesh where the guns that I pick up are attached to, and the bullets are not line traces, they are sphere collisions(of course with a mesh attached).
Here’s what I need: I want to fix the gun that clips through the walls and other objects and the camera FOV so that when I’m trying to change it, the mesh is still rendered the same. Currently when I change the FOV to a lower one, it’s just a zoom in. I don’t have another camera for the gun. I’m not planning to add a scope in.
For the weapon clipping I tried placing the gun inside the character’s capsule collision but if I move forward while shooting there is a collision between the bullet and the character. I tried to make the camera and the mesh smaller, but it looks weird when you look down at your legs.
If I find a fix for one thing, something else breaks. I want to keep things as simple as possible.
How would you fix these issues? I want to know more about your thought process when it comes to this kind of problems. Thanks!
Gun clipping: Usually the games use some kind of custom stencil or a similar method to always render the waepon in front of everything. So it still clips but for you it looks like that the weapon is in front of the wall🙂
It’s not just that… It seems like I forgot to mention. If a wall is too thin and I’m getting as close as I can, the bullet will spawn inside of the wall and ignore it. Also the bullet hole decal wil now spawn on the wall…
Thanks for the reply!
What about setting the bullet and weapon to overlap all and set GenerateOverlapEvents for the bullet? So when shooting you set your pawn / character as the owner / initiator / user / parent / etc … of the bullet so when the bullet overlaps something it checks if it is not equal to you and then makes damage? And when you are near a wall create a line trace from your weapons forward vector and move the BulletStart back so the bullet gets fired in front of the wall independet from the gun clipping?
I don’t want my bullet to overlap all. It has a penetration system. I am currently trying to make the bullet only ignore the player using the “Ignore Actor when moving” node, but it doesn’t seem to work… or I’m not using it properly.
So… I managed to implement the “Ignore Actor when moving” node correctly(It required that both actors have the same node), and it still doesn’t work. However if I’m ejecting from my character and then I possess it back it works… 99% of the time… I have no idea what is going on. I’m pretty sure my game is not about blueprint and unreal engine ghosts…
I suggest downloading the fps complete project made by unreal, it is called “shooter game”
you find it in the epic launcher unreal tab in the samples section. then go down at the bottom
it has a fps, weapons, shooting collision everything. just look how it was built or use it as a starter framework to build upon.
Thanks for the suggestion! I’ll look into it!