Kacper Szwajka Profile Banner
Kacper Szwajka Profile
Kacper Szwajka

@SzwajkaKacper

3,076
Followers
76
Following
116
Media
437
Statuses

Unity Technical Artist / Solo Gamemaker. Working on Highland Keep

Wrocław, Polska
Joined February 2022
Don't wanna be here? Send us removal request.
Pinned Tweet
@SzwajkaKacper
Kacper Szwajka
3 months
🚀 Technical Artist Available! Hey everyone! I’m currently pausing my side project and looking for some short-term contracts My expertise includes: - Shaders & Rendering Magic - VFX & Procedural Content - Art Direction - 3D Modeling Your shares are appreciated! Thanks!🙏
13
52
408
@SzwajkaKacper
Kacper Szwajka
3 months
The main reason why I use particles for wind instead of scrolling noise #unity3d
42
154
2K
@SzwajkaKacper
Kacper Szwajka
2 years
Goshhhh.... FINALLY !!! 3rd attempt to fluid simulations 🫠 Big thanks to @IRCSS for detailed explenation of GPU fluids simulation and @_kzr for clean and simple implementation ( Links in thread ) #madewithunity #gamedevelopment
12
235
2K
@SzwajkaKacper
Kacper Szwajka
7 months
Added support for splines :) #unity3d
27
114
2K
@SzwajkaKacper
Kacper Szwajka
2 months
Impostors workflow #madewithunity
21
126
1K
@SzwajkaKacper
Kacper Szwajka
7 months
Been working more on 'GPU Run-time Procedural Placement' – with some tweaks in lighting and new tree models. Keen to hear your thoughts on how to enhance this further! #unity3d
35
112
1K
@SzwajkaKacper
Kacper Szwajka
27 days
Custom Grass Renderer Recently, I had a chance to create a custom grass renderer for @dinolordsgame Here`s how it works #indiegames #strategygame
23
95
1K
@SzwajkaKacper
Kacper Szwajka
3 months
Fixed the motion vectors, so no more TAA smearing! 😊 Big thanks for all the comments and shares on the last posts—it’s super motivating! #unity3d
12
65
802
@SzwajkaKacper
Kacper Szwajka
7 months
Wrestling with wind physics 🙃 Branches are doing their own funky dance - pretty sure I overdid the complexity. But it's shaping up... sort of. In the meantime also added ambient fog particles. #madewithunity
19
70
766
@SzwajkaKacper
Kacper Szwajka
7 months
Finally, managed to make it work ... Example of custom force injectors. Currently, the whole system takes around ~0.26 ms. It's not bad, but I think this might be easily improved to some ~0.1 ms( Tested on GeForce 2080) #unity3d #madewithunity
8
65
694
@SzwajkaKacper
Kacper Szwajka
7 months
"Efficient GPU Rendering for Dynamic Instances " Uploaded the second part about rendering all this vegetation. If you've ever wondered how to get those dynamic instances running smoothly without frying your GPU, you should check it: #madewithunity
12
84
612
@SzwajkaKacper
Kacper Szwajka
7 months
"GPU Run-time Procedural Placement " Have to say that I`m quite surprised by last response. Thanks for all shares <3. Here`s a version where was testing wetlands ecotypes #unity3d #gamedev
16
68
593
@SzwajkaKacper
Kacper Szwajka
7 months
Reworked Wind system (Thread) #madewithunity
6
50
547
@SzwajkaKacper
Kacper Szwajka
6 months
One more example showing the workflow with projected meshes height. Now need proper rock models cause these are just pebbles scaled 1000x times #unity3d
14
56
510
@SzwajkaKacper
Kacper Szwajka
7 months
" GPU Run-time Procedural Placement " making of is available. Tried to include the main 'idea' and the process behind it. You can read it here: I'd love to hear any feedback or suggestions you might have! #gamedev #madewithunity
11
71
412
@SzwajkaKacper
Kacper Szwajka
4 months
Taking a break from the VirtualTexture headache, implemented nature's collision logic #unity3d
10
27
412
@SzwajkaKacper
Kacper Szwajka
2 years
Frustum Culling, Stream compaction, GPU sorting ... my brain will not dispatch for a while 😶‍🌫️ Last week I were struggling a lot with understanding exactly how to implement all this fancy stuff ( more in Thread ) #madewithunity #gamedev
8
50
395
@SzwajkaKacper
Kacper Szwajka
6 months
Implemented feature for projecting meshes on terrain ( These white blobs are supposed to be rock formations etc.). Also, Terrain blend per object is added :) #madewithunity #gamedev
7
30
384
@SzwajkaKacper
Kacper Szwajka
7 months
Inspired by the work of @GhislainGir decided to give a try his method. Created custom particle system and rendered these into flat 2d textures. This gives quite natural natural-looking velocity map + it's simpler to think of the particles as wind waves
3
27
228
@SzwajkaKacper
Kacper Szwajka
6 months
🛠️ Excited to unveil behind-the-scenes VFX from "The Inquisitor"! From initial stages to final cuts, dive into our journey. Note: Captured mid-production, final visuals may vary. #GameDev #VFX #TheInquisitor
5
34
226
@SzwajkaKacper
Kacper Szwajka
4 months
Tried to move to DX12 to improve sorting but its still quite unstable in Unity + it would require tons of adjustments. However... Thanks to @aras_p help I managed to improve DX11 version with "IslandGPUSort" ( adapted from Unity HDRP/SRP GPUSort code ) and its almost 2x faster
@SzwajkaKacper
Kacper Szwajka
7 months
"Efficient GPU Rendering for Dynamic Instances " Uploaded the second part about rendering all this vegetation. If you've ever wondered how to get those dynamic instances running smoothly without frying your GPU, you should check it: #madewithunity
12
84
612
4
20
205
@SzwajkaKacper
Kacper Szwajka
3 months
Added few hacks to improve lighting #madewithunity #3d
3
7
160
@SzwajkaKacper
Kacper Szwajka
4 months
Here's a sneak peek at squad mechanics: Right now, each squad uses a default line formation. I'm thinking about introducing unique formation styles for each team in the future. You might even get to customize your own team's formations etc. #unity3d
2
11
145
@SzwajkaKacper
Kacper Szwajka
4 months
Testing some first "squads" logic #madewithunity
7
7
136
@SzwajkaKacper
Kacper Szwajka
4 months
Custom animation event system to perfectly trigger hitting period or sword trials. Maybe not perfect in terms of garbage memory but working on that ... #unity3d
2
6
87
@SzwajkaKacper
Kacper Szwajka
4 months
Also replace unity animation rigging package with `final IK` and added ik for feets , heads etc. Maybe its a bit less performant but I spent way too much time repairing various buggies from the built-in IK #madewithunity
7
4
87
@SzwajkaKacper
Kacper Szwajka
1 year
Infinite Terrain Shadows without ShadowMaps. A bit hacky to inject in HDRP but algorithm itself is extremely simple. Currently working well with just 4 samples. #madewithunity #gamedevelopment
2
7
82
@SzwajkaKacper
Kacper Szwajka
7 months
Tweet media one
0
3
69
@SzwajkaKacper
Kacper Szwajka
2 years
Added Global Color Map Support 🏔️ #gamedev #unity3d
2
17
50
@SzwajkaKacper
Kacper Szwajka
2 years
Was implementing GPU instancing for grass rendering on my own, but adding LODs, frustum culling, and occlusion culling were very time-consuming. So, I decided to use the GpuInstancer package. Surprisingly it works well even in the editor #madewithunity #gamedevelopment
1
2
50
@SzwajkaKacper
Kacper Szwajka
2 years
Testing new VFX Volumetric Fog Output. Seems to have many limitations, but have to say that first results are quite impressive #unity3d
0
7
50
@SzwajkaKacper
Kacper Szwajka
4 months
Made proper textures debug mode #unity3d
1
2
46
@SzwajkaKacper
Kacper Szwajka
2 years
Things getting serious ... Helicopter is done 🚁 Implemented outward forces to wind simulation. I'm still amazed about the amount of reaction to the last post 😊 #gamedevelopment #madewithunity
0
5
45
@SzwajkaKacper
Kacper Szwajka
6 months
One more HDA Tool for "Inquisitor" project 🌿 #madewithunity #Houdini
1
6
45
@SzwajkaKacper
Kacper Szwajka
27 days
@dinolordsgame Collision system is based on top view depth map which render only around camera point of interest. ( There is only one type of collision mesh to draw to utilize indirect rendering )
2
1
39
@SzwajkaKacper
Kacper Szwajka
8 months
4x4 km Terrain Custom Renderer. Created based on GPU QuadTree implementation #GameDev #Unity3D
1
4
39
@SzwajkaKacper
Kacper Szwajka
6 months
Another example from "The Inquisitor" project: Procedural Root Tool #unity3d #Houdini
1
0
39
@SzwajkaKacper
Kacper Szwajka
2 months
Just returned from my second trip to Scotland. What a beautiful place! Gathered tons of references and tried to visit every castle I could. That was a good boost of inspiration!
Tweet media one
Tweet media two
Tweet media three
1
0
32
@SzwajkaKacper
Kacper Szwajka
7 months
@GhislainGir All data for meshes is baked with Houdini ( height, branch pivot, branch direction, branch mask, etc. )
Tweet media one
0
2
30
@SzwajkaKacper
Kacper Szwajka
7 months
Working on article " GPU Run-time Procedural Placement on Terrain". Will post it this or next week #indiedev #gamedev
2
0
31
@SzwajkaKacper
Kacper Szwajka
7 months
@GhislainGir Largest object sample velocity avg value by picking specific mip. There is still lack of randomness per tree in these kind of views but for now this will have to be enough
2
0
30
@SzwajkaKacper
Kacper Szwajka
3 months
@MarquardtGames Here you may find more about it :
@SzwajkaKacper
Kacper Szwajka
7 months
Inspired by the work of @GhislainGir decided to give a try his method. Created custom particle system and rendered these into flat 2d textures. This gives quite natural natural-looking velocity map + it's simpler to think of the particles as wind waves
3
27
228
0
2
26
@SzwajkaKacper
Kacper Szwajka
27 days
@dinolordsgame Scattering is very similar to the method I describe here: We have density/size maps and scatter instances around camera/player dynamically.
3
0
26
@SzwajkaKacper
Kacper Szwajka
24 days
Highland Keep page is live! 🎉 It took me a lot of work, but my game finally has its own website. For now, there are only a few screenshots but will try to describe more of this project soon Sharing would mean a lot. Thanks! 🙏 #IndieGame
@HighlandKe26288
Highland Keep
24 days
Step into the dark world of Medieval Scotland! - Fight and explore in a 3rd-person view - Build and fortify your castle from a classic RTS perspective - Create and manage your clan More details coming soon! Stay tuned! #IndieGameDev #GameDev
Tweet media one
Tweet media two
Tweet media three
Tweet media four
3
4
41
2
1
26
@SzwajkaKacper
Kacper Szwajka
2 years
Last few weeks struggled a lot with creating a custom terrain system from scratch. It`s so much work to do if you want to implement all fancy solutions from other AAA games. Here is WIP showcase of non-destructive stamps workflow. #gamedev #madewithunity
1
0
25
@SzwajkaKacper
Kacper Szwajka
2 years
0
13
23
@SzwajkaKacper
Kacper Szwajka
2 years
I Found some old first attempts at creating agents with compute shaders. The gif shows 2 teams of agents that can deal damage, avoid basic collision and follow enemy. Hope you can see anything because the compression is terrible. #madewithunity #gamedevelopment
2
1
24
@SzwajkaKacper
Kacper Szwajka
2 years
Just discovered "unity-toolbar-extender" and it's a game changer for creating editor tools. Super handy way to quickly enable terrain editing in my Terrain system #unitytips #gamedev
2
3
24
@SzwajkaKacper
Kacper Szwajka
2 years
1
1
24
@SzwajkaKacper
Kacper Szwajka
8 months
Just integrated a new GPU Instancer for terrain procedural placement . Currently, only a few types of objects are added but already looks promising. The next step is to refine terrain mesh generation #GameDev #Unity3D
0
1
21
@SzwajkaKacper
Kacper Szwajka
27 days
@dinolordsgame Example layers workflow. These are calculated once when the scene loads.
1
0
21
@SzwajkaKacper
Kacper Szwajka
2 years
Grass needs terrain to grow, so you know ... why don`t create a terrain system from scratch 🫠 #gamedev #indiedev
Tweet media one
0
4
21
@SzwajkaKacper
Kacper Szwajka
9 months
`GPU Rendering Pipeline` Spend definitely too much time investigating `BEST OPTION` so create discussion thread about it. Share if you can #unity3d
Tweet media one
2
5
19
@SzwajkaKacper
Kacper Szwajka
6 months
Recently I had the opportunity to talk a bit about my career path as a technical artist and how I used Unity within it. Also, got a chance to drop a few hints about my current project (super excited about this one!) 😊
Tweet media one
0
0
17
@SzwajkaKacper
Kacper Szwajka
27 days
@dinolordsgame There is also layerStamp version which inherit base logic but have option for custom bounds etc. ( Especially needed for dynamic grass adjustemnts under buildings etc. )
1
0
16
@SzwajkaKacper
Kacper Szwajka
2 months
I tried few assets and found `Impostor Builder` to be the one which seem to be most scalable and non-destructive. Had to do few hacks to integrate better in editor but these are minor changes cause it allow already for custom nodes etc.
2
1
16
@SzwajkaKacper
Kacper Szwajka
3 months
@timsoret Yup, I store current + last frame force texture. Also have buffer of size 2 where I store all wind parms ( they may change over time ) It would probably be uniform and better optimized, but I'm leaving it as it is now
Tweet media one
0
0
14
@SzwajkaKacper
Kacper Szwajka
4 months
Some first concepts for peasants level 1-3 #indiegames
Tweet media one
1
0
16
@SzwajkaKacper
Kacper Szwajka
2 years
Working on stamps with the possibility to spawn instanced with async snap to terrain 🌲 #gamedev #unity3d
0
1
15
@SzwajkaKacper
Kacper Szwajka
3 months
0
0
14
@SzwajkaKacper
Kacper Szwajka
3 months
My work mainly focuses on all things related to rendering and shaders. You can find much more of it on my profile
@SzwajkaKacper
Kacper Szwajka
7 months
"Efficient GPU Rendering for Dynamic Instances " Uploaded the second part about rendering all this vegetation. If you've ever wondered how to get those dynamic instances running smoothly without frying your GPU, you should check it: #madewithunity
12
84
612
2
0
14
@SzwajkaKacper
Kacper Szwajka
4 months
Testing shields. Just not sure how `physically` correct a missile test should be. For now, its fully based on shield collider and agents in general aim chest position. However, it is annoying when a random arrow flies right past player and hits arm. #unity3d
1
0
15
@SzwajkaKacper
Kacper Szwajka
8 months
Version without nodes blending
1
0
14
@SzwajkaKacper
Kacper Szwajka
4 months
Its mainly based on top-down depth map from custom colliders + bit of wind force which increases with player speed
Tweet media one
1
1
14
@SzwajkaKacper
Kacper Szwajka
3 months
So I wanted to give a try method from PathOfExile2 to render micro shadows using objects bent-normals and AO . However, I have absolutely no idea where to inject in HDRP. Any ideas :( ?
1
0
14
@SzwajkaKacper
Kacper Szwajka
2 months
Finally manage to find `non-destructible` and easy to use impostor workflow and decide to share it because I feel that it is something that a lot of people are missing in Unity.
1
0
13
@SzwajkaKacper
Kacper Szwajka
7 months
@GhislainGir An additional advantage of this solution is that it allows for various custom events in the game that can be triggered by the player. (wind wave during attack, etc.)
1
0
11
@SzwajkaKacper
Kacper Szwajka
7 months
@GhislainGir In short, I wanted to have something similar to the one here, but more efficient + have a little more control
1
0
11
@SzwajkaKacper
Kacper Szwajka
2 years
Was searching for best method to create some grass color variations. Turns out that baking flat color map from mesh generated in Houdini works perfectly. #unity #madewithunity #Houdini #3D #indiedev #gamedev
1
2
11
@SzwajkaKacper
Kacper Szwajka
2 years
Been a bit busy implementing farthest grass rendering. But its almost done #madewithunity #unity #gamedevelopment
Tweet media one
1
0
11
@SzwajkaKacper
Kacper Szwajka
3 months
Also have experience in VFX
@SzwajkaKacper
Kacper Szwajka
6 months
🛠️ Excited to unveil behind-the-scenes VFX from "The Inquisitor"! From initial stages to final cuts, dive into our journey. Note: Captured mid-production, final visuals may vary. #GameDev #VFX #TheInquisitor
5
34
226
0
1
10
@SzwajkaKacper
Kacper Szwajka
6 months
Procedural animation processing ( Thread )
2
0
11
@SzwajkaKacper
Kacper Szwajka
2 years
Finally, deal with updating cells positions without losing collision data while scattering new grass blades #madewithunity
0
2
10
@SzwajkaKacper
Kacper Szwajka
7 months
@GhislainGir Velocity on `leaves` level are added by small tile 3d texture.
1
0
9
@SzwajkaKacper
Kacper Szwajka
11 months
Lately, I spent most of the time refactoring code to allow players to define module `directions` more intuitively. I also divided the entire process into different `define maps` so players can preview and offset entire blueprint buildings #indiegame #gamedev
0
0
10
@SzwajkaKacper
Kacper Szwajka
27 days
@dinolordsgame Thanks a lot to the @dinolordsgame team and @flarup for letting me share some if this tech. If you are missing some old good rts like Stronghold and would like to see how it might blend with dinos you should definitely check their game 🦖
0
0
9
@SzwajkaKacper
Kacper Szwajka
1 year
Wave Function Collapse Building System #Unity3d
Tweet media one
1
0
9
@SzwajkaKacper
Kacper Szwajka
2 years
3. Added debug mode for blades joints (using them for collision pass) :
Tweet media one
0
0
9
@SzwajkaKacper
Kacper Szwajka
1 year
Some old screen space grass collision experiments #UnityEngine
0
0
9
@SzwajkaKacper
Kacper Szwajka
2 years
256 layers and 1 sample per pixel? No problem. #gamedev #madewithunity
1
2
9
@SzwajkaKacper
Kacper Szwajka
2 months
Forgot to mention one more thing that Impostor Graph does well: it captures the true scene Albedo, Normals, and other surface details. This is super helpful because usually, you have to recreate the original shader logic in a special impostor shader, which can be a real pain
0
0
8
@SzwajkaKacper
Kacper Szwajka
2 years
Optimizing grass blades texture layout for my GPU -based Grass #Houdini #madewithunity #unity3d #Procedural #3dart #HoudiniGame #indiedev
0
3
9
@SzwajkaKacper
Kacper Szwajka
2 years
4.Also implemented rendering of the farthest grass cells. (it's not on the GIF). Jeremy Moore lecture inspired me a lot in terms of arranging and linking data on the GPU ( have to admit that `writing own terrain system` is now on my checklist 😅)
0
0
9
@SzwajkaKacper
Kacper Szwajka
11 months
Prototyping tool for adding windows and doors. 🏰 I'll likely need to redo it, as it becomes hard to read with too many dots. The UI here is just a placeholder. If you have any suggestions or good references, please let me know. Thanks :) #gamedev #indiedev
1
1
8
@SzwajkaKacper
Kacper Szwajka
4 months
0
0
8
@SzwajkaKacper
Kacper Szwajka
1 year
If someone would like to dig even more:
1
0
8
@SzwajkaKacper
Kacper Szwajka
7 months
Started with a classic method: scrolling noises in one direction. But getting the physics right at different wind speeds, and making a convincing velocity map, meant juggling tons of parameters and textures
1
0
8
@SzwajkaKacper
Kacper Szwajka
2 years
Working on texture mask painter to determine grass height for my GPU Grass system. Next step is to move everything to Edit Mode. #unity #madewithunity #VFX #indiedev #gamedev #foliage
0
2
8
@SzwajkaKacper
Kacper Szwajka
1 year
Going somewhere. Added support for collections #madewithunity #gamedevelopment
1
0
7
@SzwajkaKacper
Kacper Szwajka
3 months
@SrRafles Exactly this 😅
1
0
6
@SzwajkaKacper
Kacper Szwajka
17 days
Experimenting with a modular head approach for my solo game project The goal is to render 30-40 characters on screen, so performance is key. I'm still figuring out if this is the best approach, so any suggestions are welcome!
@HighlandKe26288
Highland Keep
17 days
Working on a new facial expression system! The goal is to keep it optimized for performance, so we can have as many characters on screen as possible, while still capturing key emotions and expressions #unity3d #indiedev
0
1
7
2
1
7
@SzwajkaKacper
Kacper Szwajka
7 months
Just realized that speeding up this gif 2x wasn't the best move
0
0
6