Most Recent


Community Spotlight: Yu Ueda on scripting new tools in Harmony

Tags: Harmony Professional Animator Community

Yu Ueda is an animator and self-described workaholic who co-directed the short film Starlight, which won the grand jury award for best animated short at the Atlanta Film Festival. He is employed as a digital 2D rigger at an animation studio in Austin, Texas. While Ueda is not a software developer by trade, he shares the scripts he makes for automating tasks in Harmony with other artists on the Toon Boom Community Discord Server.

We invited Yu Ueda to talk about his scripts and projects for the Toon Boom blog.

Hello Yu, and thank you for making yourself available for this interview. What led you to write scripts for Harmony and how long have you been writing these scripts?

I used custom scripts before I started scripting. Knowing how powerful these scripts can be, I wanted to make one for myself. I also wanted to learn something new and make myself competitive in the field. There is a website called Toonboomscripts.com by William Saito who shares about a dozen scripts. He is my hero, and I learned how to use expressions in Harmony using his tutorial as a starting point.

When I got my job as a 2D technical artist at Rooster Teeth, I finally started taking free, online JavaScript courses. While programming didn't click for me the first time (I am a visual artist), by this spring I finished courses that were necessary to start writing my own scripts for Toon Boom Harmony. I have been making custom scripts non-stop since then.

Which of your scripts are you most proud of, and what do they do?

I recently started making scripts with user-friendly interfaces. Move Art Between Art Layers script is my personal favorite since I have to move art from one art layer to another frequently at work.

Move Art Layer

Move Art Between Art Layers is a macro script Yu Ueda wrote for swapping, replacing, duplicating, merging or deleting art between art layers for all exposed cells.

In terms of technical achievement, I wrote a function which can give me the x, y coordinates of points on cubic Bézier curve based on the given timing. I'm not an expert at mathematics, so I spent several weekends on converting a cubic Bézier curve equation into a JavaScript function. I'm glad that I didn't give up because the experience gave me the confidence to take on challenges that are seemingly scary.

How have you made use of your scripts in your own projects?

I rig my own characters at home, which often end up becoming prototypes for 2D rigs I build at work. In fact, most scripts I made are for reducing time rigging characters. For example, I made a script that can create new chains of deformers, which have in-between values of key deformers. I also made a tool that can mirror and symmetrize deformers since I wanted that function to rig the flipped views of 360 puppet rigs.

Flip Symmetrize

Flip/Symmetrize Deformers is Yu Ueda's dialog script to mirror, flip and symmetrize envelope deformers. The script can also flip curve and bone deformers.

When did you begin to notice that other artists might be interested in your scripts?

When I started writing scripts, the only user who tested my scripts was a co-worker. We learned basic coding and bounced around ideas between each other. I received a lot of suggestions and encouragement from him. When he co-founded a Discord channel for Toon Boom technical artists, the situation changed. Suddenly, I had a place where I could share my scripts with people who work in the industry and get feedback. To be honest, I’m not sure how many people use my scripts. I was contacted to make some simple tools for other users, and they seem to be happy with the work I made for them.

What feedback have you received from other animators about your scripts?

It's always refreshing to see how animators use my script since most of them are written with a rigger's needs in mind. Move Art Between Art Layers, for instance, is a tool for processing multiple frames during rigging. Until an animator on Discord told me, I didn't realize it would be useful if the script could process one frame at a time. I had coding friends on Discord channels who gave me advice on improving the user experience, such as reducing the number of clicks for users. The knowledge being shared on discord is pretty mind-blowing. I saw someone's post about making views or setting shortcut keys to user scripts. There are so many aspects of UI that I want to explore.

For the future, I would like to start incorporating scripts for the animation pipelines we use at work. That way I can work more closely with other animators and post-compositing artists.

 

While we have you, we noticed that you recently published a film called The Isle of Decoys, in which you attempted to replicate the look of frame-by-frame animation with 2d rigs. What drew you to this approach to animation?

The film was a part of my MFA thesis project. My personal drawing style is heavily inspired by manga artist as well as western cartoonists, like Ralph Steadman, so I really wanted my animation to be in my style. It was also my long-time goal to figure out a 2D rigging pipeline for Japanese anime, so I used this project as an opportunity to dive in.

The rig originally had too many looped envelope Deformers. It got so heavy that my MacBook overheated and I had to cool it down inside my refrigerator. I am curious to see if I can reduce the rigging time by using my scripts alongside new features in Harmony.

What advice do you have for animators, riggers and compositors who are curious about writing scripts of their own?

I can only speak for riggers but scripting can automate so many repetitive tasks. You can create pipelines that would be too time-consuming to do by hand. If you have been curious about scripting like I was, you should start taking free courses online!


Interested in seeing more of Yu Ueda's scripts and animation? Be sure to visit his portfolio and watch The Isle of Decoys. If you would like to share scripts with other Harmony users, visit the #Script-Sharing channel on the Official Toon Boom Community Discord server.

Harmony