Double Negative

March 29, 2015

Speed and other fringe benefits

Three characters running in real time. That’s the challenge facing Double Negative chief technical officer (CTO) Graham Jack. It’s all part of the drive to take the London-based effects house beyond VFX and into full-length feature animation. The team is being assembled and Jack has been challenged with building the technology framework. It’s a long-term goal, he admits, but he’s already well on the way to achieving it, with the help of Fabric Software.

Graham Jack

Graham Jack

Jack joined DNeg in 2002 “when it was a small company” and has moved up through the ranks, from technical artist to artist management. However, he was much more interested in the technology – and better at it, he says – so after becoming head of 3D, he was promoted to CTO. “My remit is to be the main strategic decision maker when it comes to the technology we use, whether that be in-house R&D or products that we buy,” Jack explains. “One of the main things I’m trying to make sure of is that we don’t spend a lot of time developing technology that’s already out there.”

He talks about separating the framework from computationally intensive tasks and the pipeline. “The pipeline bit we’ve got covered – and it always needs to be very bespoke to the studio so I don’t think there’s anything off the shelf that can replace it. There are bits we can buy like Shotgun that fit into it but there isn’t a one-stop shop for a pipeline. But it feels like the thing our fur guys were trying to do, and the thing that the fluid guys were doing, is kind of the same thing – they need an underlying framework that they can build operators into and it’s the operators that do the clever stuff…Fabric fills that gap.”

Faster Rigs

Tom Jacomb

Tom Jacomb

Jack explains that it was Tom Jacomb, managing director (MD) of feature animation, who set the goal of getting three characters running in real time. “With that you can animate characters having a conversation, doing lipsync, things like that,” Jack says. This becomes significant when you’re talking about large animation teams. With the current Maya set-up for effects work, where they are “destroying things rather than animating creatures”, having slow rigs affects 5-10 people. “It’s a pain but not the end of the world,” he says. “But with feature animation, you’re affecting a hundred people and you’re losing man years of work.” Already, he is up to two characters running in real time – and he attributes it to Fabric Engine: “In our first tests, we got our rigging performance up from 9 fps to 50 fps – a significant leap. That alone makes the business case for Fabric.”

Theo Facey heads up the rigging team. According to him, the performance gains are even higher, reaching 58 fps. He says it’s one of his personal goals to get really fast animation rigs for the animation team because it’s the easiest way to increase their productivity. “Speed and interactivity are really important,” he says. “A lot of our technology is not just about solving deformation problems, it’s also about solving it in a smart way – making it fast and interactive for the animators, giving them good feedback and helping their productivity.”

What’s great about Fabric is that you can make the case we just need this thing to speed up our rigs —That in itself is worth the cost of entry – but there are so many other fringe benefits.
Graham Jack

Francesco Giordana, who is the R&D lead for the Double Negative creature team, explains they’ve moved beyond the evaluation phase and are now working on a real production scenario, albeit a small test project: “It’s a test to see if our tools are good enough to take on an entire production. Right now, only two animators at certain times have been using the Fabric-accelerated rigs. The plan is in the next month or so to have it as the default so that the animators can use it whenever they want on the test characters. And through this year, the plan is to replace our Standard rigs with Fabric rigs.”

Ease of Use

The feeling is that it will be quite easy to make the transition. “Ideally, we want to mask, up to a point, that we are using Fabric underneath,” says Giordana. “What we’re doing now, we’re actually replacing the rig under the animators feet and they know only because we tell them. For them, they have the same controls, the same animation work but it goes faster.”

Theo Facey

Theo Facey

Facey agrees, saying he hasn’t really had to ‘sell’ the idea to his rigging team as they are excited about the possibilities Fabric Engine offers: “A few of them definitely feel it’s a chance to simplify what we do, and by simplifying our core technology, we can spend development resources on other areas, and that excites people.” He says there’s quite a lot of repetitive work at times that Fabric will help eliminate: “I was talking with one of the riggers about this the other day. Because of the granularity of the Maya graph, he finds he’s doing the same thing quite a lot of the time and so it makes sense to move the baseline up a little bit, so the same things he’s building all the time become a centralized piece of the technology, and that will free him up to do more on top, whether that’s creature effects or simulation.” Given the challenge of ever-tighter budgets, Facey welcomes the opportunity to consolidate and simplify, saying Fabric “gives us a way to adjust the level of granularity that our technology is built upon”.

One of Facey’s team members – rigger Gabriele Pelegrini – was clearly a little more sceptical at first. “To be honest, when I was first asked to switch the core functionalities into Fabric, I was like, okaaaaaay. I know why it must happen because we are relying on technology in our core that was developed 20 years ago, it’s just that usually the first month is like, hmmm, ok. But everything went smoothly in one week,” he admits. “I’m really happy with the way things are going.”

Rapid Prototyping

Another benefit Facey sees is in rapid prototyping, explaining how Fabric can augment the development process. “All our clever technology, all our heavy lifting, is done in C++, which is pretty slow coding,” he explains. His team works closely with the R&D teams and there’s quite a bit of overlap but generally, his guys are not C++ coders, nor are they expected to be. Instead, they have to spend time explaining to R&D what it is they’re trying to achieve, so the combination can result in a pretty slow development process. “Whereas with Fabric, because the KL language is something a rigger can pick up and use with the same ease as Python, they can rapid-prototype their own plug-ins then hand that back to the R&D person to fine-tune and finesse.”

Sylvain Brugnot, lead R&D for core technology, is responsible for the integration of Fabric into existing tools. He agrees that Fabric is a great tool for prototyping but initially thought that would be where it ended – that they would need to code in C++ for the final application. He has since changed his mind: “At some point during the evaluation phase we were thinking, ‘this is much easier – writing new nodes, new tools in Maya, using Fabric – than if you had to do it using C++’ but we still had concerns. We thought ‘maybe it’s great for prototyping but we’ll prototype an idea and if it works, we might take it and code it in C++ to make it run faster’. But, as it happens, performance is such that we don’t need to do that, we can just keep it in Fabric as it is.”

Fringe Benefits

It’s a bit early to discuss details but the plan within DNeg is to extend Fabric beyond the rigging team into areas such as fur and fluid simulation. Jack describes it as “a gradual spread” and that he expects to see developers doing “more value added things” as a result. He also calls out the way Fabric uses the GPU as another area of interest: “The other thing that’s really interesting is the way that it allows us to get access to speed ups from new hardware technology without having to do anything. For example, we wrote our own skinning module that works with the GPU, which took quite a bit of effort. If a new GPU comes along, we’ll have to go back to that and rewrite it but if it’s built into Fabric, then the Fabric guys do that and we just upgrade.”

“What’s great about Fabric is that you can make the case we just need this thing to speed up our rigs,” he concludes. “That in itself is worth the cost of entry – but there are so many other fringe benefits.”