EML Project Snapshot: Interactive Animation Toolkit for Unity

Project team members this semester: Dante Cerron (Developer, EML staff), Rosaline Baek (Project Lead, Developer – Work Learn student), Vita Chan (Designer – Work Learn student), Alex Zhou (Developer – Work Learn student), Allen Chen (EML student volunteer)  

Several projects at EML involve creating 3D applications and animations using the platform Unity. Over the course of these projects, EML’s developers started to see parallels: for every new project which involved a decent number of animations in Unity, they had to go through the same process that comes with creating any animation on the platform. Such steps involve thinking of what the architecture of the application is, how to go about coordinating the animations together, putting together the input system, and designing the user interface. Thus was born the Interactive Animation Toolkit for Unity (IAT4U) project, an internally initiated EML project that will allow users to make animation development decisions faster by having a framework already there for you.    

It is a custom interface to an animation framework that is more user-friendly than what Unity provides by default. The toolkit’s target users include technicians and principal investigators on projects, and the team’s goal is for any Unity developer to be able to make use of this toolkit when going about developing their animations and 3D applications.   

With this framework, some repetitive animation decisions would already be made for users, such as knowing that there are going to be animations that need to play every couple of seconds or moving onto a certain animation based on a specific user input. These steps that had been repeated for multiple EML projects involving Unity in the past will now become easier to navigate through the toolkit, which makes it so that users do not need to make everything from scratch every time they approach a new animation project.    

The Interactive Animation Toolkit for Unity project extends the Unity 3D engine and its built-in editor using Unity’s extensible UI system. It’s essentially a set of scripts that describes new types of editor windows which intend to make it easier to create the data that then gets used to animate a scene. It would be a different way to create and edit Unity animations.    

Currently, the team has developed a custom window that would enable them to create a dataset called Scriptable Objects to store information about animations. One of the problems the team encountered on Unity was that aligning animations and playing them in a specific order is a bit too difficult if you are controlling multiple objects at the same time. By the end of this term, the team is looking to create a node structure so they can structure the flow of animations according to user input, enabling them to visualize how the animations transition from one state to another and find the logic of the transitions in a 3D application.  

 Scriptable Object Generation Window 

  

 

Figma Design of the Project’s Node System 

    

The team’s future steps include launching user testing for the toolkit by recording think-out-loud observations and iterating on the project according to feedback.   

The EML’s Summer Showcase will be happening in the next few weeks and will feature project presentations from all current projects, including the Interactive Animation Toolkit. Stay tuned to find out more and learn about the projects from the developers behind the scenes!