Tim Lehr

Tim Lehr

Technical Director | Pipeline Developer

Hyperdrive: My approach to pose-based rig caching in Maya

This blog posts covers my approaches on the topic of posed-based rig caching, which I prototyped as a Maya plugin during my TD studies at Filmakademie. I called this project Hyperdrive and recently published the source code of the most recent prototype on Github. It’s heavily inspired by the pose-based rig caching solution developed and presented by… Continue reading

Use Python Wheels with Houdini / Nuke in 2019

During development of Scarif, I came across an issue with DCC Applications and certain Python packages. Since we are using quite a few open source Python modules to power our pipeline tools, we resort to a virtual environment in combination with pip to install and manage all these packages. Today, the almost all popular packages… Continue reading

Nuke: Environment Variables in Read / Write

In my job as a Pipeline TD I often resort to old school environment variables to make my life easier. Not only are they really easy to work with, they are also a commonly supported way of keeping file paths relative to a dynamically changeable directory. This is super helpful, as you will be able… Continue reading

Export all Maya render layers as ASS files using Python

You would think exporting all render layers in Maya to Arnold Scene Source (.ass) files could be done without much hassle. So did I. To be fair, any confusion over this matter is a result of Mayas new render setup introduced a few years ago. At the time of this writing, Arnold can only export… Continue reading

Python Scripting in DaVinci Resolve

Starting with DaVinci Resolve 15, Developer Blackmagic added new Scripting functionality to the popular Editing / Grading Suite. The Scripting API (Fusion Script) is implemented in a separate executable called fuscript, which supports two languages at the time of writing: Python 2.7 / 3 and Lua. The integration of Python is especially exciting for any… Continue reading

Lazy database initialization with peewee proxy subclasses

If you are working with a SQL database in Python, I highly recommend to take a look at peewee. It’s a small, but very powerful ORM (Object relational mapping) tool that makes the interaction with your database very pythonic, convenient and quite easy to learn (especially for the SQL beginners among you). I personally use… Continue reading

Auto-mount Samba / CIFS shares via fstab on Linux

I’ve been a happy Linux user for quite a while now, but even I cannot deny that it’s sometimes quite hard to get things running smoothly – especially in a Windows dominated environment with little control. One of the things that breaks once in a while on my workstation is the automatic network share mounting… Continue reading

Python exception hooks with Qt message box

When you develop complex applications or toolsets with Python, a good logging module and proper exception handling can save you a lot of headaches. Especially when those tools go into deployment, they are never bug-free and sooner or later people will tell you about all the unexpected issues they have. With proper logging you can… Continue reading