INTERVIEW: Adrian Pueyo // Senior Compositor

Categories Interviews

“I am a digital compositor from Madrid, Spain, who has been living in different countries and working in different studios in the recent years, and who is really passionate about the technology of VFX and the technical part of image manipulation and learning something new every day. I’m fascinated by the world of compositing and although I’m an artist I keep getting attracted to programming. I am currently working as a freelance senior compositor in Trixter (Munich).”

Tell us about the first person or studio who paid you to do VFX. How did the opportunity come about?

I always really liked filmmaking so I started making videos as a hobby when I was a kid. Eventually, I ended up doing web spots for companies where I gradually started incorporating CG stuff while I shifted my interest towards visual effects, so it wasn’t at a specific point in time that I did “charge for VFX for the first time” in that sense.

My first actual paid thing in the VFX industry was an internship as a prep/roto artist for a studio named Twin Pines, in Madrid. They were working on Extinction, a zombie film. I had the opportunity through U-Tad, the university where I was studying a masters in VFX at the moment. They offered internships in studios quite often, and as soon as I saw this one for a 2D entry-level position I applied for it.


Why did you decide to learn to program, and how did you go about learning it?

Again this started from a nerd kid’s hobbies: at age 11 I got drawn into Photoshop digital effects and web design, and I figured out I needed to be able to code if I were to make the websites work. So I learned the web languages and Actionscript (good old Flash days) and a few years later I was doing proper websites! It was a nice source of income for a kid haha. Later on, I learned some C and related languages in university (studied the first 2 years of industrial engineering before I left it for VFX), nothing too practical but at least it kept me interested.

The main passion for programming really developed once I learned Nuke and saw all that can be done with python and how simple the code is structured. I tend to get interested in the technical part of things and here I saw a rabbit hole with so much to learn. That led me to explore the gizmo world, the UI stuff, and then I went back to learning some C++ for Blinkscript kernels and plugins.

The approach I follow tends to be:

  1. Get obsessed with something (i.e. python) and want to do it myself.
  2. Just learn the super basics, and stop before I get bored.
  3. Mess with my new basic superpowers until I find a practical and concrete challenge that maybe I can try (i.e. a python script editor).
  4. Work on the new little project just for fun, and learn on the way by looking at other examples and google searching all my problems, and only what’s necessary to complete the challenge. I do get the need to finish the stuff I start so that’s the main driver to learn whatever’s necessary to complete it.

I find that by doing only one little project at a time, I always have an approachable goal, by the end of which I’ll know a bit more about something in particular, and I’ll be in a position to either move on to something else (and come back to this area in the future) or take on a new challenge that puts me out of that specific knowledge area again.

In summary, I always start learning by practice and make the practice drive the theoretical knowledge. Whenever I try to learn too much theory of anything without learning how to apply it, I end up forgetting in a week and it’s wasted time. So for me, willpower is out of the equation!


You’re one of few who are currently utilizing Blinkscript in your Gizmos. Where should people start if they want to follow in your footsteps and learn more about Blinkscript?

Unfortunately, there aren’t any “Blinkscript for Nuke artists” nice tutorials that I know of, and as you said not many people get to use it, which is a pity because the concept of Blinkscript and writing kernels directly inside of Nuke is so incredibly powerful. I was thinking of maybe doing a basic course myself. Compositors and TDs should know that the Blinkscript node is simply an Expression node with a lot more options and not too difficult to learn… really you can do a lot of stuff only by combining variables and looping through pixels.

What I did was first learn the basics of C++, just how to write if’s, work with variables, and make loops and simple functions. That took just a few hours with a phone app or some youtube videos. Then, I read the blinkscript reference guide on Foundry’s website. It’s literally a one-page document that tells you everything you need to know about Blinkscript. That’s how simple it is. However there are quite some concepts in there that you won’t get a grasp on until you start actually needing to use one option or another, so I needed to keep going through that one document again and again for like a year. And finally, looking at other people’s blinkscript kernels and the example ones on Foundry’s website also helps incredibly. Especially the easy ones. I encourage anyone interested, to look for example at the code of my ColorSampler, as it’s really simple and lets you do something there’s no standard way to achieve in Nuke.


What tools or processes have you implemented for yourself that make you a faster, better and/or more efficient Compositor?

A little habit that was quite inefficient at first but really paid off in the long run, is I always tried to solve the same problems in new ways. “Would it work if I try to key in this weird way?”. Basically whenever I had a strange idea simply test it straight away. Most times I found that my new approach was nothing but the normal one, which is also a good thing to find out. Other times I found that after spending quite some hours using my brilliant idea, it had major drawbacks or just didn’t work, and for example, if I had simply done a roto I would’ve finished a lot faster than trying to reinvent the wheel. At that moment this was a waste of time but I think it’s invaluable, as it’s not only more fun to keep producing and exploring new ideas, but it also expands your toolset with many possible ways of solving problems. There’s really no other way to become a more technically capable compositor than knowing as many ways as possible to do and not to do something.

In terms of actual workflows, trying to stick to the fundamentals organization-wise I think is really important: Making sure the way your nodes are laid out makes sense. If A goes over B, put it lower on the node graph even if that means you need to reorganize a few nodes, etc. Then if someone else opens your script, or simply if there are changes you didn’t expect requested on your shot, everything will be in place to react painlessly. I really think it’s worth getting used to invest time in structuring the comps properly, and the rest of the team (especially production and the supes) will really appreciate it when everything’s in place and you’re able to create new iterations really fast.

Finally, a tool that has made an incredible difference in the way I work is called Stamps, and will be out in Nukepedia really soon! It’s based on a tool that Alexey  (comp supe in Trixter) made some years ago called Postage Stamp Kit, combined with the callback, tags and id functionality from Comma, a gizmo I uploaded last year. Stamps will basically be a connection system that encourages a way of working where all your assets are together, and you avoid duplicating any cameras, read nodes etc. It also makes opening scripts from other people a lot easier as you know you don’t need to fish for assets all over the node graph. Most of the major studios have their own approaches at solving this problem, like a node that connects to a camera, hidden dots, etc. but I think on this one we managed to solve most of the drawbacks of these hidden-input tools quite elegantly! Stamps took a final shape recently and it’s a core part of how we work in Trixter now, so I’m super excited that we’ll be sharing it soon.


What are your favourite tools for Nuke, created by others, that you use on a daily basis?

Neat Video is the best noise reduction plugin for Nuke and that’s a really crucial part of a compositor’s workflow. I also use pgBokeh a lot for defocusing CG, as the level of control and physical accuracy it gives is nice too. KeenTools are also super powerful for object tracking.

Moving on to the free tools by the community… DasGrain has been a game-changer in my regraining workflow. It makes the best combination with Neat Video. W_Hotbox is definitely one of my favourites. I also use a lot BlacksMatch and CardToTrack. In general, I tend to use and make my own tools whenever possible and look for something specific on Nukepedia right in the moment I need it. It’s awesome to have a community that helps each other so much.


Are there any snippets of knowledge or wisdom you wish you knew earlier in your career?

Some advice for my past self, that has proven valuable for me:

  1. It’s always really worth communicating with the supervisors or managers ANYTHING that bothers you or goes through your mind. Any tool that might not be setup properly, any thoughts you have on the project, if you feel you could take on something more challenging, anything you think could improve, your goals, etc. All of this is really nice as long as it’s your honest thoughts and you say it nicely. I’ve had situations like these many times over the years and still have never regretted any conversation with the supes/managers where I shared my honest thoughts. They were for the better, 100% of them.
  2. The time spent learning at home makes a huge difference. Even some minutes every day, will accumulate over time and make you such a better compositor, programmer, whatever. Being 8 hours a day in a studio with Nuke open doesn’t mean you’re learning anything relevant, you might actually be forgetting stuff at a faster rate.
  3. Focus on enjoying work every single day and valuing the fact that even the worse days are better than other jobs could be. Also, try to perform your best all the time even if it’s not needed (like in downtime), it will pay off sooner or later.
  4. Not career-related: If you’re in a new country, start exploring it from day 1! Time flies and you might be in a completely different place soon and never get this opportunity again. So weekend trips, rent a car, or whatever.


When you get stuck on a problem, what does your thought process or inner-talk sound like? What’s your process for starting to solve said problem?

The first thing I try to do is look at the problem from different perspectives. Most times I find that the reason I got stuck is that I didn’t know what the problem was exactly, even if I thought I did. Also, I find that talking to the people around me about the problem I’m facing is extremely helpful. Not only because they might know exactly a nice solution for it or one I couldn’t have thought myself, but just the fact of saying it with words many times clicks something in my head and suddenly I know what to do. This goes back to the previous point I mentioned which I believe is super important: know what the problem is exactly.

Then for workflows which are a bit more complex (i.e. programming something), I tend to start by writing down a road map for the steps I need to take. That way I separate the planning process from the working process itself so that when I’m working I don’t need to look at the big picture anymore and I can concentrate on a single thing at a time. That works really well for me 🙂


Tell us about your most productive failure — something that didn’t quite go to plan, perhaps in a negative way, that you ultimately learned from.

Changing companies too fast for too long! At first, I was so eager to learn about the different places, different cities and the different tools and workflows of the big studios, that for some years I moved a lot from one place to another. What I didn’t consider as much is that some aspects of this profession also need “maturing” in order to develop and the best way for that is to settle for a bit in a single company and establish a deeper connection with it.


Who inspires you, and what can we learn from them and apply to our lives?

Not too original here but I am really inspired by the people that are great at conveying practical knowledge, complex concepts or a passion for something. These include Tim Ferriss, Jordan Peterson, or the guy from this youtube channel. There is so much to learn from people like them just because of how good they are as a vehicle for information, and therefore they are in my opinion a super-efficient way of learning stuff. Thanks to people like them I have learned a lot about cool productivity tricks, nutrition, sports, finances, etc. in such an efficient way that I can still invest the biggest part of my brain energy into VFX. The internet era is amazing.

In the VFX world, I’m constantly inspired by literally everyone around me. I’m surprised how even on the little areas that I believe I have under control, every day someone around me (junior or supervisor) is able to shatter them by giving a new idea or approach I would’ve never thought. That’s pretty humbling, haha.


You’ve had broad experience working for different studios in London, Canada, New Zealand, and now Germany. Which country balances work & life best, and what are some of the benefits of said country?

They were completely different experiences for me. Being Spanish, London was my first contact with the international industry. It’s such a crowded city where every possible event is always going on. If you really enjoy the city life and culture it might be a great place. However I am a lot more into open spaces and a quiet and outdoors lifestyle (plus overtime is generally not paid in London) so I found Vancouver, Wellington and Munich have been a way nicer fit for my preferences.

I loved my time in Vancouver. It’s a really modern city but small at the same time and surrounded by infinite mountains and sea. It’s a sort of British culture in a context where you have lots of space for yourself and do not need to spend much time in public transport. You have all the big VFX studios so there’s always work to do, and if you get hired in crunch time it’s all paid so you feel that your time is valued at all times.

Wellington was surprisingly similar to Vancouver in the main things I look for in a city. Nature is incredible, and it feels more like a town. All surrounded by sea and plants, and taking the car you can be out of the city in 5 minutes and only see landscapes. Also, Weta as a company is a great, super talented bunch and I felt that the artists around me were quite technical in general so I learned a lot too. Depending on the project you can do really long hours but it’s also compensated.

What I like about my current situation in Munich is we don’t do overtime work in general, the projects are not stressful so far, and Trixter being a not-too-big studio it relies mostly on experienced compositors, so I’m learning a lot from my colleagues all the time, and not having as many dedicated developer positions in the studio, you really have to sort some stuff out yourself which pushes you to learn all the time. It’s also super close to my country, so that’s a big plus for me and my partner.

So yeah, each place has its own qualities but there’s something cool in all of them. I also made some really good friends in every country, both locals and VFX artists from all around the world that I now keep meeting in different cities. The VFX world feels really small.


Where can people find out more about you and your work?

I try to upload the stuff I make on my website. I tend to be busy programming or making stuff so hopefully, my website will redirect anyone interested to my main projects, as well as the social networks where I’m more active. I will also be co-directing a masters in digital compositing (taught in Spanish) in U-Tad, a university in Madrid, starting next October, and organizing that is also taking a big part of my time currently.