Python For Feature Film
gfx.dev
gfx.dev
Updates: * Added some more projects that I'd written up a while ago but not posted about * Updated the content in the old posts to be a little more detailed * Added more behind the scenes videos * Moved to a new site (using Gatsby instead of WordPress)
* A PyCon Canada presentation: https://www.youtube.com/watch?v=HuV0_AbDgYk
* EuroPython: https://www.youtube.com/watch?v=bPNGn1XHCKw
Fwiw, a lot of the images / references aren’t showing up for me (Mobile Safari). Hug of death?
Edit: looked it up https://news.ycombinator.com/showhn.html) and it says "blog posts, sign-up pages, newsletters, lists, and other reading material. Those can't be tried out, so can't be Show HNs. Make a regular submission instead."
And I am not sure why the images aren't loading. The server isn't under any undue load it looks like, but Someone did mention that if javascript was blocked some content would 404. It could be that perhaps?
I'll have to test the site more, but thank you for letting me know!
Thanks for writing this !
In Vancouver for example, a programming job in the film industry and outside it will net you 90-150k on the high end, and film pays equally well in that area.
In LA, you have a lot of FAANG companies entering the film industry too with FAANG wages. Netflix in particular is bonkers high.
Maybe it wasn't the right roles but it was, IMO, much lower than a senior software dev in a big studio Vancouver as far as cost of life goes.
Maybe they've petered down since but it was a significant amount when I spoke to them
I guess I'm just saying that I agree with this thread.
This is the best summary of the situation. Sadly, there doesn't seem to be any levels.fyi data from any of the studios. Anecdotally, film, like the game industry, has a history of paying less than the overall market rate for software engineering because there are a lot of people who love it.
Some of the [animation] studios (e.g., Pixar, PDI) have also historically issued annual bonuses based on how the films performed. Visual Effects, however, isn't like that because the work is done for other studios. For example, MPC did much of the visual effects for both Jungle Book and The Lion King, both of which were produced and distributed by Disney.
This is not a business you want to be in, if you care about making money.
If you do this kind of thing because this is who you are, what you eat, breathe, drink, and dream, and there is no other thing you are capable of doing on the planet, then you might be able to make enough money to eat ramen for dinner.
Artists is a different world and can feel very sweatshop-y around delivery dates for sure. There's a lot of crunch time -- probably similar to the gaming industry.
I wouldn't recommend being an artist in VFX unless you're extremely passionate about it.
I've worked at places (not the movie biz) that had quite long hours but they always pretended it was 40h weeks and the extra was going "above and beyond," which everyone did who cared at all about ever getting a promotion or raise.
On the plus side if you're young and single you'll be happy to get a "free" dinner.
The film industry employs lots of people in infrastructure roles. Building services for task and asset Management. Websites. Data flow.
There's a lot of the bread and butter programming jobs as well
https://pypi.org/project/photoshop-python-api/
But it would be cool to hear about what someone does in real life with Photoshop and Python, and with which libraries.
Doesn't surprise me that it is also very scriptable
One example is optimizing the workflow of a special effects director. They described how a typical person spends one day of their week reviewing scripts to determine which scenes are going to require CGI. They're traditionally had to read every page in the script. Netflix built a model that filters scenes to just those that are likely to need effects, saving time.
Of course, it's hard for me to independently verify the effectiveness of this model. If some false negatives get through (scenes that ought to have effects that aren't noticed until too late), I can imagine an effects supervisor not trusting the model and just reading everything.
It doesn't seem to have been recorded, but there's the description: https://www.kdd.org/kdd2018/applied-data-science-invited-tal...
I get where you're coming from, though. given the topic, the range of potential header/hero images goes into a ton of interesting territory. it'd be more fun to see some wireframes from Maya and Python code to match, or something.
It's definitely a lazy design on my part but I just threw it together since I figured it got the point across well enough.
I may revisit it in the future though.
I understand that Blended is also seeing more use in real professional studios, and its cool that python is such a big part of it.
I see Blender as one of the best examples of an open source project succeeding.
Or I guess a better question is, do artists who have programming skills get higher pay, attention,etc from employers in this field?
I guess I’m curious to the state of the field of digital artists wrt programming.
Great read!
The question isn't as much do you get higher pay for this, it's more about you can't even do most of the high tier CG work without knowing this style of programming.
Zbrush may be one of the last things where you can just sculpt things, but even that can get really technical really quickly.
https://www.jerthorp.com/ is one such well known example.
Knowing programming can make them more effective but it is not the job, you want something that your CG Supervisor approves and that looks beautiful in the screen.
There are usually Technical Directors (TD) that work close to the departments and know programming more to help the artists.
That said, some artists can be quite technical and know programming. The tool Houdini which produces FX (simulations for fluid, debris, fire, etc.) usually has a couple of programming wizards. They can be quite good in algorithms / hacking stuff together to make it work well in a scene, but not necessarily software design.
But some camps have more programming skills than others.
For example, matte painting _tends_ to be more artistic,
where as FX and procedural tends to be more programming.
However, the artistic mindset is still equally important, regardless of how technical you are, its still got to look good.
But that's largely why I created the course (at the bottom of the posts). I had a lot of artists asking to learn to code, and it was easier to make the course than to do it 1:1 with each of them.
With regards to pay and attention, people who can code are definitely more stable in regards to their careers. They are more likely to be kept on after projects, and generally have greater demand.
The downside is you'll have less attention than artists. You're not really creating the final imagery, so you're a bit in the background. That means you will be better off in the early and middle parts of a career, but it's harder to make it to the really high end jobs like Visual effects supervisors etc...however that's usually 10-15 years into someones career as an artist, and only for a select few, so it's not really a negative IMHO. Though on the flip side, it's easy to jump to traditional tech roles as well, if you find you are hitting a ceiling.
Could a regular person making YouTube videos benefit from using Python in their production?
A single person making a YouTube series though or something might find a lot of value in the structured asset pipeline, publishing new versions and so on. But most of the production animation/film tooling is quite heavy weight.
Given that, what could one specifically automate on the production side to help with this effort?
And as for whether Python can help, it most definitely can but it depends on your domain. When I do any repetitive operation, I'm always looking to automate it.
Some examples:
* publishing
* converting between file formats
* simple compositing pipelines
* sending/archiving files
* validation
* organization
* tracking (approval/completion)
* script repetitive tasks in programs to shelves or hotkeys
My first "useful" script was pre-composing an email that sends following a successful FTP send. My second was a helper to relink project mediafiles (which might be on another's desktop) as relative paths so I could open them on my computer. As you scale up, your tools will likely grow more formalized - writing code to glue programs filetypes and departments together, tracking, approval, publishing/rendering pipelines.
I think this post highlights something important - programming and automation have a very broad applicability, and it doesn't matter what industry you work in, there's likely some aspect of it that would benefit from some understanding of what computers do well and being able to take advantage of that.
Generalised, industry agnostic versions of examples from the article.
* Applets that integrate with your tool of choice.
Practically native to the world of Finance, showcased here with modelling and animation tools, but the principle could be applied to any industry tool with an API. Video editing, CAD, Word Processing - every industry has their boilerplate or composable tasks which could have some assistance from scripts and extensions that fit your use case outside of what the programme would natively support.
* Workflow automation
We see here the 'pipeline' of storyboards becoming assets, becoming scenes, becoming films - however every job has processes, documents to review, authorisations and oversight that needs to occur.
A friend of mine once said 'Just use JIRA'. It doesn't matter what it is, track with JIRA. In contrast. a colleague of mine once opined: "having a system that passes documents around is the easy part. Having a system that allows all the right people the right access at the right times, enforces all the restrictions you need it to and asserts that all requirements are met and tests are passed is hard. And I believe him. He's currently the architect on a £20m project that is essentially just a workflow/pipeline system.
* Tiny one-off tasks
One of the key parts of why I recommend 'Automate the Boring Stuff with Python' [0] to beginners is the books central thesis: anyone can program, anyone can benefit from programming. It shows how creating small, throwaway scripts can greatly reduce some manual tasks. I think the world would be a less stressful, more efficient place if more people knew about shell commands, regular expressions etc. I've seen people spend hours, even days painstakingly doing tasks that could have been done in seconds by a well placed `sed` or a short perl script. To that end:
* Applying programming concepts to everyday life.
Notably here we have dependency trees shown in the form of the workflow tools, but 'compilation time' checks could be useful in so many industries that currently don't use a lot of technology. Change a part of a document that is depended on by other documents/sections? Flag that the downstreams need review.
In short, this article gives a good answer and some excellent examples to the question 'why should I learn to program' or, even, 'why should everyone learn to program? why should we teach coding in schools?'.
I was expecting an open source pipeline and tool chain description.
The aim of the post was more to bring visibility of Python involvement in the process, not to be an explicit deep dive