Kelvin van Hoorn's Avatar

Kelvin van Hoorn

@kelvinvanhoorn.com

Working on a platformer game at @smallleapstudio.com Experienced Technical Artist πŸ§™ MSc. of Applied Physics 🧲 Loves stylized rendering πŸ–ŒοΈ Personal website: http://kelvinvanhoorn.com #GameDev #IndieDev #Godot #Shader #VFX #TechArt #TechArtist

1,322
Followers
702
Following
287
Posts
19.10.2024
Joined
Posts Following

Latest posts by Kelvin van Hoorn @kelvinvanhoorn.com

Thank you! It definitely was the main inspiration for it 😌

11.03.2026 10:10 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Made some cool VFX πŸŽ‡

#GodotEngine #VFX #Shader #GameDev #IndieDev

10.03.2026 16:10 πŸ‘ 137 πŸ” 7 πŸ’¬ 3 πŸ“Œ 0

That is the plan πŸ˜‰

10.03.2026 20:46 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I feel like audio is always like this, though not sure if that's just because I'm not that familiar with audio engineering πŸŽ΅πŸ€”

10.03.2026 16:29 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

Made some cool VFX πŸŽ‡

#GodotEngine #VFX #Shader #GameDev #IndieDev

10.03.2026 16:10 πŸ‘ 137 πŸ” 7 πŸ’¬ 3 πŸ“Œ 0

There's also the scope roller coaster, where you get the excitement of constantly adding new things and then relief of cutting it away again πŸŽ’πŸ™Œ

10.03.2026 12:32 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

For me it also tends to be easier if it feels fast (even if it actually took quite a while), or if the time was specifically allotted for experimentation.

10.03.2026 12:29 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

While definitely true, it remains hard to convince monkey brain that it wasn't wasted time πŸ™ˆ

10.03.2026 12:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

That appears to be the issue, thank you! πŸ™‡

This was with Eevee, so I'll need to look into reducing the number of quads or set it up with cycles.

09.03.2026 15:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Another clip where I move 1 of the faces.

09.03.2026 14:55 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Anyone with more #Blender experience know what's going on here?

I got a bunch of quads instanced through a particlesystem. It looks okay in perspective view, but when you go orthographic you get these black parts. I think it has to do with quads being exactly on top of each other?

09.03.2026 14:55 πŸ‘ 7 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

If it was made as a modern TV series they probably wouldn't have left the shire until episode 3 πŸ˜…

09.03.2026 11:14 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Happy birthday πŸ₯³

08.03.2026 14:19 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Moving Scaling and Rotating UVs in Godot Shaders | Tutorial A guide to moving, scaling and rotating UVs in Godot shaders

I wanted to make my shader beginner guides focus on one topic so it isn't overwhelming. That topic is UVs.

In Part 2 we go over some simple math to offset, scale, tile and rotate textures using UVs. Let me know if you find it helpful;

bun3d.com/tutorials/uv...

#godot #godotengine #indiedev

07.03.2026 18:01 πŸ‘ 103 πŸ” 21 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

Working on some interactions with the world transition, by adding a `shout` ability and shrines that can be activated to reveal the world.

Don't mind me misjudging that jump πŸ˜…

#ScreenshotSaturday #GameDev #IndieDev #GodotEngine

07.03.2026 08:39 πŸ‘ 47 πŸ” 7 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

Working on some interactions with the world transition, by adding a `shout` ability and shrines that can be activated to reveal the world.

Don't mind me misjudging that jump πŸ˜…

#ScreenshotSaturday #GameDev #IndieDev #GodotEngine

07.03.2026 08:39 πŸ‘ 47 πŸ” 7 πŸ’¬ 1 πŸ“Œ 0

The grass instances are created through multimeshes.

The interaction takes place in the grass blade's shader, which uses its world position to read from the 3D interaction texture. Here it just reads the value and scales down accordingly.

05.03.2026 08:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Portal's out! The base is free of course (including all the shaders, controller script and animations), but if you want to support me I made some presets too!

Link: binbun3d.itch.io/godot-portal...

#godot #godotengine #shader #vfx #gamedev #indiedev

04.03.2026 12:57 πŸ‘ 142 πŸ” 25 πŸ’¬ 2 πŸ“Œ 2

The heart is also generated πŸ€–

04.03.2026 07:20 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Guess I'm making portals now. Maybe I could use the stencil buffer somehow here.

#godot #godotengine #godotshaders

03.03.2026 09:48 πŸ‘ 555 πŸ” 64 πŸ’¬ 15 πŸ“Œ 3

They look good, but it might be tough to get them optimised and still looking crisp.

02.03.2026 14:30 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Are those raymarched clouds? πŸ˜Άβ€πŸŒ«οΈ

02.03.2026 14:18 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Chonky triangle rat

02.03.2026 12:46 πŸ‘ 14 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

New updates for my interactive guide about tweens!!!

Very excited about this one because it explains whats the deal with "if tween: tween.kill()"!

There are now 15+ fun pages that covers almost everything you need to truly understand #Godot tweens, for free!

qaqelol.itch.io/tweens

#GameDev #Dev

01.03.2026 13:48 πŸ‘ 225 πŸ” 57 πŸ’¬ 3 πŸ“Œ 1

πŸ‘‹

28.02.2026 20:09 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Without the snapping you get issues as a pixel gets spread out over several pixels on sub-pixel movement (there's probably a name for this).

Currently only 2 channels of the texture are used. One for the transition effect and one for interactor effects (such as grass being pushed down).

28.02.2026 14:09 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Some interesting titbits. The texture in the top left is a slice of the 3D texture.

It is centred on the camera, with currently a resolution where 1 pixel corresponds to 1m in the world.

The texture/camera movement happens in jumps of 1 pixel (i.e. the movement is snapped to a 1m grid).

28.02.2026 14:09 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

You can do a lot of neat things with it, but there are also a million minute things that can go wrong with no clear errors πŸ˜…

28.02.2026 12:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Reworked how I keep track of points that interact with shaders (the colour transition and grass interaction) to a compute shader that writes to a 3D texture.

It can now handle a lot more points, and because it's a texture I can create trails πŸŽ‰

#ScreenshotSaturday #GameDev #IndieDev #Shader

28.02.2026 07:45 πŸ‘ 40 πŸ” 6 πŸ’¬ 4 πŸ“Œ 0
Video thumbnail

Reworked how I keep track of points that interact with shaders (the colour transition and grass interaction) to a compute shader that writes to a 3D texture.

It can now handle a lot more points, and because it's a texture I can create trails πŸŽ‰

#ScreenshotSaturday #GameDev #IndieDev #Shader

28.02.2026 07:45 πŸ‘ 40 πŸ” 6 πŸ’¬ 4 πŸ“Œ 0