I know that posts looking for guidance might not always be the best first post, but here I am anyways!
I stumbled across the tech art field a few months ago and just recently found this community of tech artists (thank god this exists). Resources are really rare and you all seem like a nice and helpful bunch of people! So, I open this thread with the intention to get a bit of a roadmap on how I could get started in the field and what courses I might be able to take.
A bit of background: I graduated in May with my Bachelor’s degree in Computational Linguistics (which lives at the intersection of linguistics, computer science, and a whole lot of machine learning). During my studies, I have worked as a Data Scientist and as a UX consultant for SAP. The latter for almost 3 years. During my studies, I was able to already gather ~5 years of experience with Python, which I can develop comfortably in. Occasionally I worked with C++, Javascript, and Java, while writing some Lua on the side for Neovim plugins and configurations. I am an avid lover of art and animation and I keep my sketchbook close to me. Now I have started my Master’s program in Cognitive Science to learn more about the mind and its role as an information processor. As I am currently able to pick my courses I want to reach out and ask for a bit of guidance, on which courses might be beneficial as a preparation for the role of a tech artist.
Do you have any other pointers on getting started? Literature would be super welcome. Right now I am unfortunately missing the understanding of most lingo that are being used in the field, like UV, Baking, etc. is there a glossary available somewhere?
I have looked a various job postings, but it is quite overwhelming and it’s hard to extract a good starting point. Any advice is so much appreciated!
From my personal experience, the techart field has grown with the demand of the industry and I feel that more and more techArtists specialize in particular disciplines with some bleeding between them.
Graphics/Art development
Performance Analysis
Animation/Rigging
Tools/Pipeline
Other?
thanks for your reply.
I’d say I would be somewhere in-between Graphics and Tools. I could imagine myself writing shaders, but also doing some tooling.
Can you explain what the general understanding is when you say pipelining? Is it streamlining the process from content development to the implementation itself, i.e. hand-off between artists/content creators and developers? Or is it the whole game/media development pipeline as suggested in this article?
For now I really want to be a generalist and dive into the specializations to see what suits me. How would you describe a common skillset for a generalist?
Pipline techartist is one who helps to guide and influence the game dev process for a specific project. It’s a big task so it is likely something that involves input from multiple people/disciplines.
I think that the best way to be a generalist is to find a small development group. But hopefully one that has a techartist that you can learn from. I would say to learn how to be a good generalist you will need the following:
Understanding of 3d related math concepts (Trig)
Programming capabilities (python/hlsl…)
Ability/Desire to work closely with a lot of people/disciplines and grow with them. You will need to intimately understand their workflow and habits and build trust.
Pipelining seems to be something more complex and advanced, at least it sounds like it is not for an entry-level position.
What kind of DCC would you recommend learning first when one wants to learn how to write tools? I have seen a lot of jobs for Maya, Houdini, Substance, and obviously Photoshop. Is there an obvious choice for a tool that one should learn and be able to abstract from that?
Maya, Houdini, and Substance all offer a Python API while allowing one to dig deeper into functionalities using C++. Photoshop is using UXP with web standards and offers a C++ SDK.
The obvious choice would be to stay with Python and C++. What about C#? Right now it seems that C# is more likely a special case if people are working with Unity. How and in which cases did you need to extend or change behaviors in Game Engines such as Unity and Unreal?
Lots of follow-up questions, but I am getting closer to building a roadmap to get an entry-level position.
Pipelining is a long tedious process and requires lots of planning and then likely deviation from the plan
As far as DCC, if you asked me the question a few years ago I would say Maya for sure, but now there is Blender (free), and Houdini is great for procedural content creation and fx. I would also recommend that you learn The substance suite. (which I still have to do myself)
Python is fantastic all around and both Maya and Unreal have a python api. C# is great especially if you intend on using Unity. Both are fairly easy to get into because they don’t require Visual Studio knowledge.
thanks a lot, yet again!
As I am currently enrolled in a university I have free access to Maya, so I think I will tackle this first. Houdini has an apprentice version that can be used non-commercially. I have used Blender in the past to do some Geodata 3D visualizations, but I am unsure if it is such a big player in the commercial world.
I did not know that Unreal had a Python API. This is crazy everyone is providing Python bindings nowadays. It seems most of the time one can stick to Python. Astonishing how far its use cases are reaching.
Substance looks somewhat similar to other node-based tools. Perhaps I will stick to Houdini before getting into Substance.
What about Perforce? Does it work similarly to git?
So let’s summarize:
Learn basic 3d math concepts
Python, C++/C#, and shaders as HLSL (or GLSL?)
Empathise with your end users → long live the human-centered design process!
Learn a DCC → Maya, Blender, or Houdini
Learn a Game Engine → Unreal and/or Unity.
What about art education? I have seen some requirements, especially for VFX and Shaders.
This is gonna be about the 5th time I’ve said this on this forum, but I don’t care!
The basics of 3d math are all centered around matrices, which means learning at least a little bit of Linear Algebra. And if you’re gonna learn some linear algebra, I highly recommend getting your feet wet by watching the Essence of Linear Algebra series by 3Blue1Brown on Youtube. It’s spread over 16 videos, and it explains vectors, matrices, how they work together, and why they work the way they do while stressing the visual intuition of the math.
I’m not sure about spending some time to learn a game engine and hlsl, this will completely depends on the company you want to work with.
While Unreal Engine is used more and more, a lot of VFX/animation studios still use render engines like Arnold or Renderman for instance.
As a generalist you must understand what is path tracing / ray tracing.
Also, it’s important you understand that pipeline TD are generally not asked to do a lot of artistic tasks, they mostly handle data management, versionning, scene building, etc.
@tfox_TD Agreed and this is no problem at all, right now doing computational linear algebra and vector calculus is my job. That’s at least how I would see Machine and Deep Learning. I resorted to this playlist so many times.
@BenWall this is niche knowledge and I am glad that you mentioned it, as I don’t know if I will be ending up in film or game industry. Very much appreciated!
With your background in Computational Linguistics you might find a role with a facial animation specialisation. (There are a number of procedural audio-to-lipsync animation solutions out there; I find it quite exciting, with potential to make facial animation easier for animators, more compelling for audiences, and for better quality facial animation to appear in a wider range of productions.)
Hey @BenWall thanks for the clarification on TD (I also just saw that it might be the next step on the ledge). I certainly build generative networks that could be applied to the arts and @emeraldsong just pointed one of these options out.
However, I am really indecisive on applying deep learning to the arts. As I don’t want to see automatisation in this area that might be causing even more competition and/or stress for the artists out there. I really can’t stress enough that I don’t want to eradicate jobs, but I want to play a part of making stuff that artists can take to create their awesome artworks.
What are your thoughts on these worries and potential changes in the industry?
Hey Ben. Sorry it took some time to respond. I think you have a great plan. Def get your foot in the door as soon as possible. On the job experience is the best. Not only does it push you to get better, but you will also be able to learn from others (if they are cool)
Good luck and please reach out if you ever get stuck!
Thanks Richard for the guidance and answers. I now got started diving into the API of Maya, going through the tutorials of Autodesk and watch some live streams of 3D artists working to extract common workflows. With next term’s introduction to graphics programming and graphics pipeline I think I will have a good start.