At the moment I am confused. I realize for foundational theory and the possibility of graphics programming/research I will want to study computer science, but for 3d and 2d animation, people often go to formal art schools. I don’t know how I’d find a school that allows for both, and even moreso If I can get into school due to finances. Anecdotes from both computer science majors and art students describe dual wielding studying cs or animation theory/production as difficult, I’m mainly worried how I’ll dive into the theory of graphics programming/engineering and the mathematics used to describe it on my own, but I’m equally worried trying to understand animation production self learning. I’m not sure how to find a situation that allows me to dive deep into the theory of both to do this idea of animation technology, and don’t know how to cross this issue of self planning, being my own teacher and student for things such as understanding linear algebra in order to finally even just make a ray tracer. What should a high school student do in this position? Thanks for the advice.
I overheard our lead rendering programmer discuss interview candidates who had been through indusrty schools like Full Sail or Digipen. Paraphrasing, he said:
“The ones who come from schools will have a certain set of skills, but you can just coast through most school. I’ll take the person who taught themselves to program graphics in thier bedroom, just because they were curious. Because you know they have both the the intelligence the tenacity to figure stuff out.”
Broadly speaking Techart breaks down into:
- Rigging & skinning
- Art / Anim tool and UI programming
- Art / Anim pipeline tools
- Shader & Render programming
- Animation programming
Specializing in any one of these areas can help narrow down your choices -and makes you hirable. So my first advice would be to think about which area you have the most active curiosity about.
Most Programming and Math resources online are not directed at games or computer graphics specifically, so get used to adding “…for games”, “…for animation” or “…for graphics” to your google & you tube searches. I still use “…tutorial for beginners” after years on the job
Some on the job self teaching things I have done:
- posting here
- vector math at Kahn Academy
- matrix math via various you tube videos and old game dev FAQs
- linear algebra from “for dummies” pdfs
- tool and ui programming from this forum, Yasin Uludag’s you tube
- python for Maya from Maya Python for Games and Film & Practical Maya Python
- c / c++ from Casey Muratori( Hand Made Hero) and Caleb Curry You tube videos
- MS Visual Studio C++ Maya plugin from Cult of Rig
- Java Script for Adobe crap from various blogs and forums
The pool is wide and deep. Specializing and choosing very focused, bite sized problems to solve can help guide your research. “how do I get a CG shader to load in unity?” “how do I export an animation from Maya to Unreal?” “how do I code a pixel on screen?” “how do I skin weight a character in 3DS Max?”
I would also recommend you take an animated asset from end to end: Model, texture, skin, rig, and export to Unity/Unreal, drop it in a level and light it etc (or, light and render a shot if Movies are your goal) You’ll want a passing familiarity with the overall process.
Sorry for the info dump, hope it helps.
The field remains pretty ad-hoc.
There are programs, and some are pretty good – but most roles are so specific to particular production environments that formal education remains a relatively small fraction of the total work of professional formation. Schools are great at teaching things which are very broadly applicable: math, for instance, or good python programming, or even color theory and composition. But they rarely have the ability to prepare people for the full swathe of the work being done in the field – and generally, industry hiring practices don’t lean very heavily on educational criteria: there’s no degree that guarantees you a golden ticket into the field, and few jobs actually set a requirement around a particular education credential.
A program focused on computer graphics covers a lot of important tech bases – good programming practice, the fundamentals of how modern graphics hardware works, and the math needed to work with them. That’s all concrete and useful and a good entree into the tech-oriented side of tech art. It won’t teach you how to work with artists or wrangle data – but it does provide marketable skills (and being a graphics programmer is better paid than being a TA!) Graphics coding is however pretty hard core: it’s a lot more than you get in those "become a coder in 2 weeks " bootcamp classes. It will demand some serious focus.
A generic art or game-art school is more of a gamble: it’s usually less rigorous (I would definitely NOT go to an art school that didn’t have high standards! Only go to an art school where you think “This place is so hard core! I’m so lucky they took poor little old me!” – a non-selective art school costs a lot and doesn’t really give you much of a credential. I’d look really carefully at the admission rates and industry connections of any art school. Given the unfortunate state of production artist pay scales, an art degree is less bankable than a graphics degree.
A really good, and free (!) option while preparing is to learn enough python and enough 3d math to experiment in Blender or a student copy of maya. Project based learning is much closer the spirit of the field than most academic programs anyway. Obviously you’ll need to make some kind of choice when it comes to schooling but this is something you can do on your own, for free, with good resources available… and you’ve already found a good place to ask questions