Alexander Grishanin, Producer and CTO of Cascadeur – a 3D animation software for physics-based character animation – discussed the latest release's new features, talked about improving Blender users' experience, and shared the company's roadmap.
My name is Alexander Grishanin and I am Cascadeur’s producer and CTO. I joined the software publisher Nekki as a game developer in 2014. My first project at Nekki was a casual mobile game called Banzai Surfer. By chance, I started to talk about physics with one of the company's co-founders Evgeniy Dyabin, we shared different ideas, and he then introduced me to his project Cascadeur. He had developed a row of unique physics tools to animate Nekki’s fighting game series Shadow Fight.
I especially liked the serious scientific approach behind Cascadeur as I come from an applied mathematics background myself, closely connected to different simulations. So it was a really interesting chance for me to enter the Cascadeur team and apply what I had learned at the University.
So, I participated in developing Cascadeur, and after some time, we decided to start making a new version from scratch. That's when we eventually realized that Cascadeur was a tool that we wanted to publish and make available to all animators in the world – instead of continuing to use it only internally at Nekki.
That's my story, but I can add a bit more about Evgeniy‘s background as well: animation had always been his hobby, and after he tried out different 3D programs – I think it was around the year 2007 – he understood that most of today’s 3D character animation software doesn‘t make proper use of the laws of physics. So Evgeniy started to develop his own software solution that takes into account important physical variables like the center of mass, a moment of inertia, angular momentum, and so on.
About a year ago, we released Cascadeur’s Early Access Version 1 (2021.1EA). It was the first version where professional users had the chance to actually purchase a Cascadeur Pro license and use it in commercial projects. Before that, Cascadeur Beta was free for all kinds of users and anyone could download and try the software for free. But with the start of the Early Access stage, we needed an online store, payment processing, invoicing, accounting, sales support, and other services like that.
So that move was definitely a big game-changer for us. We still have Cascadeur Basic – a free version for the personal use of hobby animators, students, and indie developers – but at that time, we had to create some limits for the free version. We decided to make only very slight limitations to the range of functions in the free version. For example, we added a new tool exclusively for Cascadeur Pro that has never been present in the free version at all – so nobody would miss it. I mean the Scene Linking tool that allows you to see other scenes inside your currently active scene. It's useful for situations where you are working with several characters in really large scenes. The fact that such a feature is only available in the paid version does not limit an indie developer or student very much.
But we also improved IK during the last year. And with the Early Access version, we introduced what we call the Auto Physics tool. This is the main tool we plan to focus on in further development. Auto Physics is Cascadeur‘s main physics tool as it takes your animation and automatically calculates the physically correct animation that comes closest to your original animation.
Since the successful 2021.1EA release, we have issued three more versions in total: 2021.2EA in Summer 2021 and 2021.3EA in Autumn 2021. And just a few days ago, we released the new 2022.1EA version, which introduces a row of tools specifically for professional animators, such as a Node Editor and Python Scripting.
All features and the improvements of the past year fall into two different categories: one is standard animation features that you know from working with other animation software available on the market. For example, in this category, we added a tween machine and a graph editor in 2021.3EA. In that version, we also added some stuff in the rig tool, we added Spline IK and the rigging mode.
2021.3EA really changed a lot in the way rigging works in Cascadeur. Now you can always go back into the rigging mode and change something in the rig and then switch back to animating, and your information will be kept as it was. Before that, you had to do a lot of clicking to update your rig. We also added animation cycles, which is a standard feature today. It's much, much easier now to make a walk in cycles or stance animations, where the character is just standing still, breathing. Those animations were much harder to do when there were no cycles.
But of course, you can use cycles for various other tasks. You don't have to cycle the whole character. You can cycle its arms movement or any other part of the character.
In the second category of the features we're developing are Cascadeur‘s unique physics tools – Auto Physics and Auto Posing. The latter is a tool that helps a lot to create realistic poses very fast. This Auto Posing feature made huge progress throughout the last year. First, you can now use it for any human character. In earlier versions, it was limited to work only with our standard model. It has enormously improved, especially in the latest build.
Now, you can actually not only create raw drafts but also the whole animation using it.
We are still developing the Auto Posing as it's still not easy to use in the late stages of the animation process. But we're moving in that direction.
As for Auto Physics, we improved the stability and added a new secondary motion feature that helps you create additional movements. And that was a large milestone for us, too.
The Latest Version
We have been working on the current version since we launched 2021.3EA last November. First and foremost, we invested these 6 months of development into advanced features like the Node Editor and Python Scripting. To be honest, we had developed them long before but we were only using both tools internally for Nekki’s own games, so we had to polish and refactor them. For instance, for Python, we had to change our API and bring it to the common standard for Python scripting. Those two new features were mainly polished, not developed, but we also created a lot of different features for the new version, as you can see in our release notes.
One more thing I want to say is that not everything we have been working on during the last 6 months is already part of the Early Access version. There are some things left, especially a feature that will allow the user to drastically change the user interface and layout of the software. It is still in the works and it will not be released that soon. It's actually not even released internally, but we are working on it. The same applies to Parent Switching: we are also working on it, but it won't be part of the next version. It first requires a different code infrastructure that we still have to develop for the core of the software.
Python Scripting & Node Editor
I think we're at this stage when the scripts that people will write won't have to be redone when we release the next version. The Python API is more or less stable now, and it more or less offers the desired functionality. Besides that, the ready-made scripts that we have added inside the build are readable and we offer documentation for the API. They can be used as a reference by the users for their own scripts.
As for the Node Editor, its user interface was messy, so we had to completely redevelop it. Our designers had to create a clear and intuitive UI, and then we had to implement it. We had to do this in just 4 months, so that was pretty challenging. These two features were definitely the main challenge in the development of Cascadeur 2022.1EA.
But another challenge concerning these features is that both are actually not targeted for a majority of our users. They are aimed more at high professionals with in-depth technical experience who are not afraid of developing code and who are ready to dig into such topics.And of course, for that, you need some kind of documentation and tutorials.
Now, after the accomplished release, we will catch up with these tutorials. Right now, we're creating and constantly expanding the documentation for the Python API. It can help users get an idea of how a proper Python API script is structured and actually understand how the programming works. To develop in our Python API, you need a much deeper understanding than if you're just a regular animator for whom we try to keep everything very intuitive and simple with our AI-powered tools. Without that deeper understanding, it would be really hard for users to actually use Python scripting and use the Node Editor to create something that they will really benefit from.
Therefore, the further development of these tools and their documentation continues to be a major challenge for us. It‘s too soon to already estimate how much we succeeded with this task. But we look at it as a necessary first step on a longer road. We really hope to get constructive feedback from our users so we can see what we have to improve in terms of documentation and tutorials.
The bottom line is that the Python API is of utmost importance to us, our whole rig generation is based on it. Many Cascadeur tools and commands are based on the API or are made through this API in Python scripts. But we still have to see how many of our users will actually end up using these tools. We're happy to be surprised.
By Input Settings, we mean the ability to customize the keyboard and mouse controls inside the viewport. We have a lot of users that come to Cascadeur from Blender. And Blender’s standard input settings differ a lot from what we have by default. It's like what you do with the left mouse button in Cascadeur you do with the right mouse in Blender, and vice versa. A lot of users were asking for an option to customize it.
Before the current update, you could already customize all hotkeys and shortcuts. But there wasn‘t an option to customize the input inside of the viewport. With this new feature, we let the users customize this as well and we even provide a preset for people that come from Blender so they can just switch on the Blender preset with one mouse click.
Stability & User Experience
We‘ve put a lot of work inside the build besides the three new features we've discussed above. Probably the most successful result we've achieved was to stabilize and improve the Auto Posing tool to an extent that we actually perceive as close to the final result as possible, close to what we wanted it to be from the start.
In its present state Auto Posing is a feature that lets you animate humanoid characters in an incredibly easy way. With it, Cascadeur now offers a smart character rig that uses neural networks and a lot of other algorithms and heuristics in real-time. We added a new direction controller to Auto Posing and moved it to a new codebase. Now, it works up to five times faster and delivers much better results than before. That is probably the most significant improvement that users can see.
Further improvements have been made to the Auto Physics tool, which includes a new option to smoothen angular momentum. Basically, that means you can smoothen the rotation of the character and the trajectory of the character’s center of mass.
In older versions of Cascadeur, we had a system where the character was moved and rotated as a whole object, our physical tool didn't try to control and alter the limbs of the character. It didn't try to change the poses but tried to move it as a whole, excluding only the fulcrum points that are in contact with the ground.
Our improved Auto Physics tool changes the relative position and rotation of body parts. This can be perceived by the user as if the character uses the limbs to achieve a more realistic animation. For us, this is the first step to eventually implementing this mechanism inside the main physics tool, too.
We also redesigned our secondary motion physics tool. It is more stable and works much better. Moreover, there is a row of smaller improvements, like a more comfortable way to stretch intervals of the animation. We also polished the UX of the tool that allows editing animation cycles.
Finding the Right Audience
Due to the positive reception of Cascadeur in magazines and social media from the very beginning, it has not become necessary to buy any traffic yet. Since we still just offer an Early Access version and the release of the commercial full version is still a few months away, this would probably not have made much sense anyway. This strategy allowed us to fully concentrate on the completion of the software and the development of the surrounding infrastructure – our website, license management, forum software, etc. – instead of putting already scarce human and financial resources into offensive marketing. What we mainly did on the business side was expand our social media channels, YouTube channel, blog, PR contacts, and so on.
By that, we have attracted 100,000 registered users already and we have hundreds of daily active users that are using Cascadeur every day for a long time already. They are achieving great results with it, and many of them support us by sharing their animations on their own social media accounts. There are some top game developers who are already using Cascadeur for their new projects – months before the full version will be released. And also in the indie games sector, Cascadeur is already used by numerous developers. Some of them were happy to contribute their experiences in the form of WIP articles for our blog.
We are also proud of our first academic collaborations: since February of this year, the renowned Salford University of Manchester in England has been offering the first course in physics-based animation with Cascadeur on its campus.
First Cascadeur Class at Salford University
In our opinion, our most important features, the Auto Posing and the Auto Physics tools, are far from being completely finished yet. The Auto Physics tool will undergo many decisive improvements in the near future. This will make Cascadeur even more attractive, both in the professional sector and for indie studios. After that, we think the demand for tools like Cascadeur can be much higher and the experience will be much better for all users.
When we're talking about the demand for (physics-based) character animation in general, then we see that it is constantly high. Of course, motion capture technology is improving a lot and rapidly, and there are a lot of solutions, like Xsens and others. But if we're talking about creating animation by hand from scratch or adjusting the motion-captured animation that was taken from an actor, then not much has changed for several years. So we really hope to change it with Cascadeur.
We plan to roll out Cascadeur‘s full version this year and by that time we want to finish the layout customization feature. Many professional animators are used to working on several monitors simultaneously and with this new feature, they will be able to use their additional monitors with Cascadeur. They will be able to arrange the layout according to their needs, for example, move the outliner to the left side or the right side, combine any tabs in a way they want, etc.
Besides that, our UX designer is almost finished with a new interface design, and we want to implement and ship it also this year.
But still, the largest feature we want to finish until the release is the mentioned huge improvement of the Auto Physics tool. I don't want to go too deep into the technical details, but it will be much more powerful, deliver better results and be more stable. The tool‘s ability to adapt to the user’s particular animation will be much higher.
And speaking about Auto Posing, it is almost finished in the latest Early Access version already, but some of our animation tools are still not fully compatible with it. So we're playing to fix that and make it compatible with all the tools. Eventually, the animator shall be able to animate just using Auto Posing.
And after that, we're looking at a lot of other important stuff, MacOS support being one of them and also support for Live Links. Another feature we definitely want to add to Cascadeur is facial animation. To achieve that, we have to add a rig to control facial animation and to support blend shapes, as well. Of course, I'm not sure which of these many features can be rolled out this year already, but they are an integral part of our roadmap!