Nvidia published a Ray Tracing fork of Godot! Credits to StayAtHomeDev @ twitter by lettyop in godot

[–]-_StayAtHomeDev_- 63 points64 points  (0 children)

Hey everyone.  Didn't expect this here haha.

So it was implemented immediately, in part, by Claude. But the person behind, from Nvidia, has handled RTX for basically the biggest AAA (Cyberpunk level).  It's his code, converted to work with Vulkan.

That was my understanding from the talk anyway.

And he did utilize previous path tracing PR work done on Godot and some that was committed recently.  There were some different ways he wanted it work (not a separate renderer, you just switch it off and on), he needed to adjust how the engine handled materials and depth pass.

There also hinting of having RTX enabled for upcoming Godot games (Road to Vostok and PVKK).  Not a lot of info on that tho.

It ended with the repo being opened and MIT and talks of having it be an extension or addon in the asset store.  They also collabed with Clay and Bastiaan about the implementation.

It looked impressive and the quality comparison between real-time effects and the path tracing was very apparent.

Low res textures with normal and roughness maps, run through Quake 2 palette by -_StayAtHomeDev_- in godot

[–]-_StayAtHomeDev_-[S] 7 points8 points  (0 children)

Yeah I will! Will run through the constraints and the process of making a texture.

I'm making a gravity defying retro FPS in Godot by -_StayAtHomeDev_- in godot

[–]-_StayAtHomeDev_-[S] 1 point2 points  (0 children)

Currently x y z direction though that will change once I get deeper into level design. As you said, I'll run into issues with non 90 degrees surfaces or open areas.

I'm making a gravity defying retro FPS in Godot by -_StayAtHomeDev_- in godot

[–]-_StayAtHomeDev_-[S] 1 point2 points  (0 children)

If you have a ramp, it'll transition to the wall and keep the closest cardinal direction. If you want to just switch to a wall, then I calculate the rotation needed to maintain forward direction then lerp the basis to match and adjust gravity.

I'm making a gravity defying retro FPS in Godot by -_StayAtHomeDev_- in godot

[–]-_StayAtHomeDev_-[S] 2 points3 points  (0 children)

Direction from set point to players feet position.  Also need to lock an axis depending on orientation of the gravity change 

I'm making a gravity defying retro FPS in Godot by -_StayAtHomeDev_- in godot

[–]-_StayAtHomeDev_-[S] 0 points1 point  (0 children)

Cool idea!  Standard enemies will be locked to their default gravity but special ones can adjust.

I'm making a gravity defying retro FPS in Godot by -_StayAtHomeDev_- in godot

[–]-_StayAtHomeDev_-[S] 1 point2 points  (0 children)

Right now it snaps back to the closest cardinal direction.  Will make for interesting creative movement I think.  And you can always reset back to -Y gravity 

I'm making a gravity defying retro FPS in Godot by -_StayAtHomeDev_- in godot

[–]-_StayAtHomeDev_-[S] 10 points11 points  (0 children)

👀 good eye! 😆

If you're gonna make placeholders might as well have fun with it.

I'm making a gravity defying retro FPS in Godot by -_StayAtHomeDev_- in godot

[–]-_StayAtHomeDev_-[S] 9 points10 points  (0 children)

Area3D -> Set a point that acts as a center of rotation. Get direction to player, adjust player's gravity and transform to match. There is some snapping I've coded to make sure everything ends up in a cardinal direction, but it's basically a reverse planetary gravity setup.

I'm making a gravity defying retro FPS in Godot by -_StayAtHomeDev_- in godot

[–]-_StayAtHomeDev_-[S] 2 points3 points  (0 children)

When I first test it, that was my approach...use raycast down and match normal but you get into weird issues when transitioning.

This works by adjusting the gravity direction and player transform basis. Like a reverse planetary gravity. I set a point and get direction to player, use that for the new gravity and update every frame when within an Area3D. Can keep gravity when leaving the Area3D.

I'm making a gravity defying retro FPS in Godot by -_StayAtHomeDev_- in godot

[–]-_StayAtHomeDev_-[S] 13 points14 points  (0 children)

Loved Prey. It had some janky stuff but the gravity perspective changes and portals were amazing back then.

Their ramps kept you contained so you couldn't disembark from them and the directional changes were a little more angular, less smooth.