logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Unity For Technical Art: Advantages, Tools & Workflows

Technical Artist Kacper Szwajka told us how he shifted from concept art to technical art, spoke about the advantages of Unity when it comes to his work, and shared some details about the recently released guide on GPU-boosted run-time procedural placement on terrain in Unity.

Introduction

My name is Kacper, and I'm a Polish Technical Artist with a keen interest in procedural issues and real-time improvement using the GPU. For the past five years, I've been deeply involved in The Inquisitor, evolving from a Concept Artist to an Art Director. It's been a journey of constant learning, especially in 3D and technical aspects. Alongside, I've had the opportunity to work on some exciting yet-to-be-released projects for companies like Netflix and Disney.

From Concept Art to Technical Art

My transition stemmed from a deep-rooted curiosity. I was doing a lot of enviro concepts in The Dust, and when we were prototyping these locations in the engine, I didn't fully get why we could not achieve the desired look. Where is the limitation? In our skill, engine, or something else. So I started delving into it more and more, doing some basic stuff in HDRP, working with lighting, texturing models from time to time, etc. Over time, I realized that I could contribute more effectively on the technical front than pure concept art. 

Another case that also motivates me a lot is optimizing workflow/process. When I first saw the possibilities of Houdini, I immediately started learning it. That was also my first software to learn some basic coding with VEX (I still highly recommend it for beginner Tech Artists).

Choosing Unity

The main reason why I picked Unity was its compute shaders. When I first saw an old video of Sebastian Lague doing some stuff with compute shaders, I immediately started learning them. Unity has a really good background for learning things like this. You can easily find a lot of tutorials and more advanced implementations on GitHub, etc.

My first attempt was some basic work with real-time texture masking, as seen in this trailer:

I was also doing some Total War-style armies with compute shaders:

But probably the first more advanced stuff was this grass simulation I did:

Building on my Unity experience, I find its VFX  capabilities, particularly the VFX graph, to be remarkably user-friendly and powerful. The ability to see real-time changes and the GPU-based architecture are standout features. I highly recommend playing with it for people who don't know how to program. I did my grass demo with a usage of VFX. Unity also has some very high-quality demos that get the most out of VFX. Shader Graph is also worth mentioning. If someone plans to delve deeper into technical things and doesn't know how to program yet, this is a very good tool.

The Engine's Main Advantages

Ease of implementation and lots of ready-made tools.

It is common knowledge that the larger the game, the greater its technical requirements and the more custom solutions it requires. Unity's big advantage is its low entry threshold. You can make a basic prototype of the game very easily, but on the other hand, it also allows for more custom solutions that will be dedicated to a specific type of gameplay. I use this a lot in the game I'm currently working on. 

Procedural Placement in Unity

I recently published an article about Unity's GPU runtime procedural placement, and here's a bit of insight: Unity's strength lies in its low-level customizability. This is vital for creating efficient tools. The real game-changer for me has been leveraging GPU features like compute shaders. I used it a lot.

But probably the biggest game changer is advanced rendering functions like Graphics.RenderMeshIndirect(). I wrote more about them in the second part of the article – GPU Rendering Architecture for Dynamic Instances.

How to Get Started?

If I were to start over, I would probably start with YouTube. You can find tons of free knowledge there. Next, it is a good habit to look for solutions on the Unity forum. I didn't appreciate it for a long time, but most of the problems were probably already encountered by someone who wrote about them. If not, write about it yourself and someone will almost certainly have a solution. Personally, I also highly recommend browsing other people's repositories. You can find a lot of inspiring projects/tools etc. on GitHub and usually everything is available for free.

Conclusion

The easiest way to find me is on Twitter and LinkedIn, that's where I post most of my stuff. As for my plans for 2024, it's all about dedicating myself to my current passion project – a Survival/Strategy game set in Medieval Scotland. I don't want to reveal details yet, but in short, it's a blend of third-person survival and classic RTS castle-building, reminiscent of The Forest meets Stronghold Crusader. All tools and solutions I share are mostly related to this project, and I plan to use them in it.

Kacper Szwajka, Technical Artist

Interview conducted by Theodore McKenzie

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more