I am making a first person horror game set on a abandoned boat, in the middle of a storm.
and i want the whole level to have the rocking motion one would expect from a boat in a storm.
I would also like to have loose physics objects rolling around on the floor, falling over etc, as the boat rocks.
does anyone know a way to accomplish this ?
googling hasnt given me anything so far :S
The only thing i can come up with is making the entire framework of the level (walls, floor and ceiling) a static mesh and then wobbling it in level blueprint.
but that would mean i can only use dynamic lighting, and would probably also introduce alot of other problems.
Using the timeline/matinee way where you move the entire level around the player, and run normal physics on the objects, wouldn’t that be wierd when it comes to all sorts of volumes, and lights, since it would all have to be linked to the animated level geometry?
can you use static lights at all with this method? what about nav mesh?
What i had in mind is the first person version of what the game “Cold Fear” did for theire interior levels movement.
I come from a artist backround so not all that into codeing side yet, but in my head this would leave me with only dynamic lights, since all static lights would stay put when my level geometry moves (except the prebaked lighting ofc)
and arent dynamic lights way to expensive to be used as the sole way to light a game?
If you want it to be an actual moving level with updating navmesh, you would need to write your own system I believe (Someone asked about navmesh on spherical levels and got an answer from the staff). If movement isn’t incredibly steep, you could use the built in rebuild at runtime option but I haven’t tested its speed on full scene rebuilds every frame.
My recommendation would be to use a static boat and have the environment move around it. This would allow you to use static lighting.
You could then use physics impulses to simulate the objects falling around and have much more control as how they behave. Then, use a camera animation for all the wobbling and with a clever setup, you could sync impulses, camera animations and the environment animations.
Navmesh would also not be an issue this way.
It’s probably easier to tie the camera, the skybox, the gravity vector, and the sea surface to a single up vector, that you can animate. The rest of the level can be still. If you tilt gravity with the animation, then tilt the camera to be “up” related to gravity, and then tilt the skybox and sky around the center of the level based on the same, things will behave as if the level tilted.
You may want to add animation behaviors to your characters so that they lean with the gravity tilt, too.