I seem to be going around in circles with this one so I thought I’d post here…
I’m building a space game where you are a third person player with a jet pack. I’ve got player movement working just how I want, see blueprint. Notice I’m using “Add force”. Based on my research, this might be part of my trouble. But the jetpack movement really does work fine (and is fun) so hopefully I don’t have to change anything here.
Then I have a spaceship that moves around the level. It is a mesh with custom collisions (collisions setup in 3ds max where i then export to fbx). You can land your player on top of it or you can walk around inside it.
Mostly, this all works great. I can fly around and collisions work. HOWEVER, there is some weird behavior that I can’t seem to fix.
Example: If my ship is moving up and I am hovering above it, collision is not detected and I clip right through the ship (instead of “landing on” the ship when it gets to my foot). See screenshot. Note, this does not happen if I accelerate quickly downwards towards the ship and “land” on it, the collision is registered and I can then walk around. So light to neutral force does not register the collision while strong force does.
This behavior is also repeatable if I stand inside the ship and boost up – I hit my head on the ceiling, bounce down and right through the floor. Really it’s repeatable anywhere on the ship, and any direction it’s moving. But not if it’s stationary; when stationary, clipping occurs exactly as expected.
I read a post that suggested converting the spaceship blueprint to a character blueprint so I could use Add Movement Input, set velocity, add force, and/or add impulse. None of these work, the behavior is all the same–the ship moves around, but it passes through me if I am hovering with approximately “neutral” force in 0g.
See third picture for how I’m handling ship movement–this works currently, but again, the problem with clipping.
I’m going to sleep on this, but if anyone has any suggestions I would be very grateful!