Introduction
Animation can be defined as the rapid display of a succession of images in order to generate an illusion of movement, this optical illusion is often called perception of motion, persistence of vision, illusion of motion, or short-range apparent motion [1]. 3D animation, belongs to the domain of 3D computer graphics and is a general term characterizes an entire industry that utilizes 3D animation computer software and hardware in many types of productions [2].
Unity is a multi-platform game engine that was developed by Unity Technologies, that enables the creation of three-dimensional (3D) and two-dimensional (2D) games, as well as interactive simulations and other experiences. Unity has been embraced by dozens of industries outside of the video gaming, such us film, advertising, medical simulations, automotive, architecture, engineering, construction and many others.
According to Perforce, Unity’s real-time rendering ability enables teams to start production level graphics at the beginning of a project. Artists and designers can experiment features with characters lighting angles and much more.
Unity has two main advantages over other similar platforms: highly productive visual workflow, and high degree of cross-platform support. [3]
Unity is used by more than four million game developers, the combination of Unity and virtual production has already produced movies, as example of Adam (later discussed on the paper). [4]
Using Unity to create films or movies can add three main benefits, following below:
-
- High-Quality Graphics: rich rendering capability that can create high-quality graphics, as the case of detailed 3D models;
-
- Scripting Capabilities: allow the creators to add interactivity to their videos, such as animations, particle effects, and others;
-
- Real-Time Rendering: the changes made to the video are immediately visible in the preview window, which speeds up the creation process, increasing the efficiency;
-
- Cross-Platform support: what is created in Unity can be exported to other platforms. [5]
Unity’s animation system is based in Animation Clips, which contains information about how certain objects should adjust their positioning, rotation, or other properties over time. Each clip can be imagined as a single linear recording. Animation clips from external sources are with the aid of 3rd party tools such as Autodesk® 3ds Max® or Autodesk® Maya®, or come from motion capture studios or other sources.
Animation Clips are then organized into a structured flowchart-like system called an Animator Controller. The Animator Controller acts as a “State Machine” which tracks and monitors which clip should currently be playing, and when the animations should change or blend together.
A noncomplex Animator Controller might contain one or two clips only. A more advanced Animator Controller might contain dozens of humanoid animations and might blend between multiple clips at the same time to provide a fluid motion as the player moves around the scene (A Scene contains the environments and menus of your game).
Unity’s Animation system also has many special features for handling humanoid characters which gives the ability to retarget humanoid animation from any source to the character model, as well as adjusting muscle definitions. These special features are enabled by Unity’s Avatar system, where humanoid characters are mapped to a common internal format. Each of these pieces - the Animation Clips, the Animator Controller, and the Avatar, are brought together on a GameObject via the Animator Component. This component has a reference to an Animator Controller, and (if required) the Avatar for this model. The Animator Controller, in turn, contains the references to the Animation Clips it uses. [6]
Unity Components Rendering
3D rendering is the process of producing an image based on three-dimensional data stored on a computer, with 3D rendering, the computer graphics converts 3D wireframe models into 2D images with 3D photorealistic, or as close to reality, effects. Rendering can take from seconds to even days for a single image or frame. There are two major types of rendering in 3D and the main difference between them is the speed at which the images are calculated and processed: real-time and offline or pre-rendering. The paper will explore real-time rendering, the rendering type used by Unity.
Real-time Rendering
In real-time rendering, most common in video games or interactive graphics, the 3D images are calculated at a very high speed so that it looks like the scenes, which consist of multitudes of images, occur in real time.
That’s why interactivity and speed play important roles in the real-time rendering process. The main purpose is to achieve the highest possible degree of photorealism at an acceptable minimum rendering speed which is usually 24 frames/sec. That’s the minimum that a human eye needs in order to create the illusion of movement. [7]
Real-time rendering is concerned with quickly making images on the computer. It is the most highly interactive area of computer graphics. An image is displayed on the screen, the viewer acts or reacts, and this feedback affects what is generated next. This cycle of reaction and rendering happens at a quick rate so that the viewer does not see individual images, but rather becomes immersed in a dynamic process. [8]
In Unity the Sprite Renderer can be used to render sprite-type images in either a 2D or 3D scene. This component allows the display of images as Sprites for use in both 2D or 3D scenes. Unity uses the concept of sorting layer to divide sprites into groups for overlay priority and it also uses the order in layer that can be used to apply consistent priorities to sprites in the same layer.
The Sprite Renderer component renders the Sprite and controls how it visually appears in a Scene for both 2D and 3D projects. the Sprite Defines which Sprite texture the component should render. [7]
Keyframe Animation
Keyframe Animation is a technique where specific frames can be created in an animation, the Unity platform automatically generates the in-between frames.
Keyframing involves creating certain key positions for the objects in the scene, and then the program later interpolating the animation frames in between the key frames. [9]
This process involves creating animation manually, the animator creates animation by plotting keyframes, which are poses that occur at particular instances of time. Keyframes define an animation and provide control over that animation, finally, keyframes also provide control over the timing of an animation: moving two keyframes closer together in time increases the speed at which the character transitions through them and, conversely, moving them further apart slows that transition. [10]
In a simple matter, keyframing is a technique, where keyframes are set to define the poses and positions of objects or characters at specific instances of time.
Animation Controllers
The Unity Animator Controller is a tool used to create complex animations for game objects in the Unity game engine. It is a visual interface that allows game developers to create complex animation sequences and transitions between them. The animator Controller consists of a state machine (graphical representation of an animation sequence), the state machine contains various states, which represents different animation sequences and transition between them, and they define the conditions that need to be reached for the Animator Controller to switch from one state to another. [11]
Animation control gives the ability to arrange and maintain a set of animations for a character or object.
Blend trees
Blend trees is technique used for creating complex character animations, allowing game developers to combine multiple animations together in order to create a smooth and natural-looking animation sequence.
In a system, each node represents a distinct animation, and the position of the node on the tree determines the weight of that animation in the final blend. The position of the node on the tree is controlled by parameters by adjusting these parameters, game developers have the ability to create complex animations that respond to the character's actions or the environment in real-time.
Blend trees are often used in conjunction with motion capture data, that provides more realistic and natural-looking animations. [12]
Skeletal Animation
Skeletal animation is a form of conceptual animation design wherein two individual parts are coordinated: the first one is a skin or surface model, which shows the presentation of a character, and the second one is a set of bones or "skeleton," which is used to drive commands for animation.
Skeletal animation includes a hierarchy of bones with their own properties. Ideas like transformation and translation allow designers to apply algorithms or changes to larger fields. Sets of joints influence range of motion. All of these involve an object-oriented approach to an animated design. It combines small integrated components into one main framework that designers can use. [13]
Procedural Animation
Weaverdev provides two definitions of procedural animation,
1 - “A procedural animation is a type of computer animation, used to automatically generate animation in real-time to allow for a more diverse series of actions than could otherwise be created using predefined animations.”
2 - Or simply “procedural animation is animation proced by code rather than keyframes. In the case of character animation, this can range from something as simple as blending between two animation clips depending on a character’s speed, to a fully procedural animation system with no influence from pre-generated data.” [14]
The fundamentals of Procedural animation are:
-
- Forward Kinematic (FK) – this method works by leveraging the rotation of a parent object, the position and orientation of its child are determined. This repeats for each child down the chain;
-
- Inverse Kinematics (IK) – Differently than FK, this method takes a target position and a pole vector (“elbow” direction) as an input and rotates the bones in the chain to have it in the end as the input position. This is often used for legs to keep them on a set position on the ground while the body is moving, or arms grabbing an object outside the skeleton hierarchy;
-
- Particles / Verlets / Rigidbodies - This technique is frequently employed for reproduce flexible limbs and physics ragdolls. This technique relies on the utilization of independent, velocity-driven objects that are not interconnected in a parent/child hierarchy, resulting in the generation of various poses.
By incorporating specific limitations, such as maximum angles and distances, it becomes feasible to determine the positioning of limbs during intricate movements in real-time, such as when a person falling down a staircase. [14]
Unity for 3D animation
In this section, a number of 3D computer animation productions created and designed through the use of Unity will be examined and analyzed.
The Heretic
Released in 2019, with over seven hundred thousand views on YouTube, The Heretic was the first project to explore the photorealistic digital human character concept, developed through Unity’s stock technology (stock Unity 2019.3), making use of the following features:
-
- Unity’s graphics;
-
- High-Definition Render Pipeline (HDRP) with the integrated post-Processing stack;
-
- Visual Effect Graph. [15]
Adam
Released in 2016, Adam is a short film produced by Unity demo team based in Sweden. This production tells the history of a human being whose brain has been wiped clean and is now imprisoned in a robotic shell, the story develops in a post-apocalyptic world. The production has over 46 million views on YouTube, having received several accolades such as Webby [16] (Presented by the International Academy of Digital Arts and Sciences, IADAS, the Webby awards is the leading international award that honors excellence on the Internet)
Some of the components used during the production of the short movie was:
-
- Timeline is a sequencing tool that can be used for animation and scene management;
-
- Animation alembic caches
-
- FX
All of the used components proved to be crucial while designing the crowd that permeated the surroundings, these crowds had their animation sequenced on a timeline, used as a ‘clip’ in the sequence, simplifying the task to adjust and offset the crowd’s overall timing per shot. [17]
Enemies
Released in 2022, with over one million views on YouTube. This production showcases the latest improvements to the following features:
-
- High-Definition Render Pipeline (HDRP);
-
- New high-end Adaptive Probe Volume lighting system;
-
- all-new strand-based Hair solution;
-
- Digital Human toolkit (evolved version);
"Enemies" carried forward the progress made by "The Heretic" (that featured Unity’s first realistic digital human). This production (Enemies) improved the following features:
-
- All High-Definition Render Pipeline (HDRP), that includes the addition of Adaptive Probe volumes and Screen Space Global Illumination (SSGI);
-
- Real-time ray traced reflections and ambient occlusion;
-
- Native support for NVIDIA’s Deep Learning Super Sampling (DLSS), allows the project to run at 4K. [18]
The Hunt
Released in 2018, The shot-film explored new ways of asset creation, it has over a hundred thousand views on YouTube. [19]
The Blacksmith
Release in 2015, The real-time rendered shot-film has over a hundred thousand views on YouTube and was inspired by the Old Norse mythology. [20]
Wind-up
Released in 2020, Wind-up is short film, that without words tells the love history of father and his daughter.
This short film has over 18 million views on YouTube. Windup received several awards such us Best Original Story (Sapporo Short Fest), Best Animated Short (Urbanworld), and nominations including a NAACP Image Awards. The production made use of Unity real-time rendering function. [21]
Sonder
Released in 2018, Sonder is a short film that centers its story on the journey of a couple after they break the relationship, the production also made use of Unity for real-time rendering.
This Short Movie has over a hundred thousand views on Vimeo and 3 million views on YouTube, having received awards such as Best Picture (Los Angeles Inde. Film festival Awards), Best animation (California Independent Film Festival) and Best Animated Short (California Int. Shorts Festival).
This production also received other several nominations in various film festivals. [22]
Results
To support and enhance the current research, a qualitative research with 40 respondents were conducted, targeting a diverse range of individuals between the ages of 19 and 39 years old.
This survey aimed to gather valuable insights into the perceptions and experiences of these individuals with regard to Unity and 3D animations, shedding light on their preferences, backgrounds, and potential future prospects.
The survey results revealed a distribution of respondents across various fields of expertise. Notably, 40% of participants are from the field of computer engineering, highlighting the strong affinity of professionals in this domain towards Unity and 3D animation. Additionally, design, architecture, arts, and entertainment collectively accounted for 33% of the survey population, revealing the broad appeal of Unity across diverse creative industries.
Delving deeper into the survey findings, it became apparent that a significant proportion of respondents, specifically 57.5%, expressed a sense of familiarity with 3D animation. This finding suggests that a considerable number of individuals possess prior experience and knowledge of working with 3D animation tools and software. Among the respondents who claimed this familiarity, a majority revealed their familiarity with prominent platforms such as Blender, Lumion, Tweencraft, and 3Ds Max. This revelation emphasizes the prevalence and popularity of these well-established software solutions within the 3D animation community.
Surprisingly, the survey also uncovered that 60% of the interviewees were unfamiliar with the potential of Unity for 3D animation. This statistic raises an intriguing question about the level of awareness and understanding among these respondents regarding the capabilities and advantages offered by Unity as a versatile tool for 3D animation projects. However, despite their lack of familiarity, approximately 52.5%, expressed their willingness to consider Unity for their future project development endeavors. This enthusiasm can be attributed to several compelling factors that piqued their interest in Unity, including its exceptional real-time rendering capabilities, high-quality graphics, multiplatform compatibility, scripting capabilities, and extensive community support. These attractive features demonstrate the vast potential of Unity as a powerful tool that can empower creators to bring their visions to life in a dynamic and immersive manner.
Nevertheless, it is important to note that a considerable number of interviewees also expressed concerns about Unity's steep learning curve. While the software offers a wealth of possibilities and benefits, some individuals may find the initial learning process to be challenging or time-consuming. This concern highlights the importance of providing adequate resources and support to assist users in overcoming any hurdles they may encounter while mastering Unity's intricacies.
The findings have underscored the strong presence of Unity within the computer engineering field and its growing popularity in design, architecture, arts, and entertainment. Moreover, the survey has brought light on the significant potential of Unity as a preferred platform for 3D animation, despite some concerns about its learning curve, the understanding of user perspectives can serve as a valuable foundation for future research and development efforts.
Conclusion
Unity is known to be a very powerful game engine tool, that offers much more than what meets the eye, the current paper explored the potential of Unity as a creative tool to the creation of 3D computer animation, The findings unequivocally establish Unity as a well-suited platform for 3D animation, with its array of features including keyframe animation, animation controllers, and blend trees.
One of the challenges that animators face is the rendering process, however this is one of the strengths of Unity, which provides real-time rendering, solidifying even more the power of the platform.
Users not familiar with Unity may have some challenges adapting to the platform, but Unity has a big and interactive online support community that actively contributes through the creation of bibliographies, tutorials, discussions, and plugins, fostering a supportive environment for newcomers. Unity also has the advantage of being free for singulars and students.
To sum up, Unity's capabilities go beyond gaming, displaying its potential as a robust tool for creating immersive and captivating 3D animations, with its rich feature set and a dedicated support network, Unity opens new avenues for animators, offering a dynamic platform to set free their creative vision and captivate audiences.