Welcome to Repopulate DevLog 4!

Firstly, and I’ll mention this in the first few posts; I am writing this about 5 months into development. So, these first few posts are more retrospective, looking back at key stages up to here. Anyways, onto the post!

I needed a way to get around my ship. My ship, where gravity is an ever-changing variable, and the ship itself can be at any orientation, with any kind of velocity and angular momentum at any given time. Coda, why not just have stairs? I hear you say. Shhhh. Stairs are boring. We’re on a massive sci-fi space craft, why would we use stairs?
Those of you paying attention (wait, people are reading these at all??) will remember my first iteration on 3D had those gravity lifts. Lets do that!

The older gravity lifts no longer worked at all. Thanks gravity, very cool. Those lifts were very simple to be fair; if player is in collider and direction is up, add up force. If the direction is down, add less up force so they fall slowly. You’d think its just a case of switching Vector3.up (the world up) to transform.up (the object’s local up) to change it, but no. I don’t wanna talk about it, but no.
I think the code alone took me about a week to get working here, and its still not 100% what I want. It’s close enough for now but I’ll certainly be revisiting these in the future… in fact even as I write this I’m thinking of ideas of how to better implement it. But the long story short and dumbed down version is my gravity lifts A) move the player upwards vertically based on their orientation, and B) apply a gentle force that moves the player to the center. If the player tries to leave they feel a bit of resistance before breaking free; this is just so you dont drift out while absent-mindedly flying up the entire ship.

However, we’re here to learn right? And I didn’t feel like I’d learned anything new that week. So I decided to really go for it, really punish myself, and do the visuals for it too. I’m no artist, so this was going to be an entertaining task for sure.

The first step was upgrading the project to HDRP. This was something I probably needed to do anyway – the standard render pipeline only allows like 4 lights at a time or something (maybe a few more but its a huge limit which would be horrible in my new, much larger, warehouse-style modules), but it also gave me access to the fancy shaders.
I put these to good use. Combining a reversed fresnel effect and a vertex displacement system, a tube area light, and a particle emitter, I created a reasonable gravity lift:

However, I think where it really starts to shine is implemented into my more developed ship model, especially when motion is applied. Here is the main lifts, running through the core of the ship (with rings removed for visibility)

Very sci-fi!

Now, I’m certainly no artist but I had fun making this and I think it looks reasonable – at least compared to the rest of the ship.
Speaking of the rest of the ship, I’ve got a much better blockout on that done too now. It’s a subject more for the next post, but here it is as a preview!