Currently, I’m early into an attempt to create a first-person game along a similar play style as “Guns of Icarus”, where players take the role of crew members aboard various spacecraft, in a large scale combat.
However, I’m running into a major issue while designing the movement, as I need both the ships, and the players inside of them, to move simultaneously.
Currently, the ships run on a fairly standard movement system, using forces and torque on non-kinematic rigidbody objects. To add “Star wars” style gravity system, where players are attracted the the floor of the spacecraft at all times, I parented the players to the rest of the ship.
I attempted to duplicate this sort of system into the players, only to discover that adding rigidbodies cancelled the parenting of the players. As a result, the moment the ship begins to move, they are thrown around violently, and all control is practically lost within seconds.
I tested using a translate/rotate movement system on a Kinematic rigidbody, and was pleased to find that the players could now move freely no matter how violently the ships moved. While it was nice to no longer get thrown around as the ship moved, I’m now passing through the walls of the ship, due to the removal of physical effects on the players.
I’ve tried to find a workaround, but it feels more and more like I’m caught in a Catch22: If I use the former option, I can move around effectively, but the characters are thrown around like bouncing balls the minute I move the spacecraft. If I fix that problem, I have the characters staying with the craft, but unable to collide with the walls.
Essentially, my question is this: Does anyone know of a way to either make non-kinematic rigidbodies move along with their parents, or to make kinematic rigidbodies collide with objects?