Journal of the Korea Computer Graphics Society
The Korea Computer Graphics Society
Article

Unity: A Powerful Tool for 3D Computer Animation Production

Luthermilla Ecole1https://orcid.org/0009-0004-9755-6271, Won-Tae Kim1,*https://orcid.org/0000-0003-3426-3792, Jeong-Shick Yoon1https://orcid.org/0009-0001-3294-6330
1Korea University of Technology and Education, Korea
*corresponding author: Kim Won-Tae/Korea University of Technology and Education (wtkim@koreatech.ac.kr)

© Copyright 2023 Korea Computer Graphics Society. This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/4.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Received: Jun 14, 2023; Revised: Jun 30, 2023; Accepted: Jul 05, 2023

Published Online: Jul 25, 2023

Abstract

Unity is a powerful game engine that can be used to create 2D or 3D content. The current study focuses on the use of Unity for 3D computer animations, covering the strengths, basic concepts and tools for creating and integrating 3D animations in Unity, including the use of keyframe animation, animation controllers, and blend trees. Also covering advanced topics such as skeletal animation, procedural animation and their applications in games, simulations, and other interactive media. Case studies that showcase the potential of Unity for 3D animation will be analyzed and discussed taking in the quality of visuals and the receptance by the public in general.


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]

jkcgs-29-3-45-g1
Figure 1. How the various parts of the animation system connect together in Unity [6]
Download Original Figure

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]

jkcgs-29-3-45-g2
Figure 2. The short film the heretic
Download Original Figure

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]

jkcgs-29-3-45-g3
Figure 3. The short film Adam and some production images [17]
Download Original Figure

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]

jkcgs-29-3-45-g4
Figure 4. The Short film Enemies
Download Original Figure

The Hunt

Released in 2018, The shot-film explored new ways of asset creation, it has over a hundred thousand views on YouTube. [19]

jkcgs-29-3-45-g5
Figure 5. The short Film the Hunt
Download Original Figure

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]

jkcgs-29-3-45-g6
Figure 6. The short film The Blacksmith
Download Original Figure

Wind-up

Released in 2020, Wind-up is short film, that without words tells the love history of father and his daughter.

jkcgs-29-3-45-g7
Figure 7. The Short film Windup
Download Original Figure

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]

jkcgs-29-3-45-g8
Figure 8. The Short Film Sonder and some production images
Download Original Figure

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.

Bibliography

[1].

Harrison, H. L., & Hummell, L. J. (2010). Incorporating Animation Concepts and Principles in STEM Education. Technology Teacher.

[2].

Beane, A. (2012). 3D Animation Essentials. Indiana: Wiley.

[3].

Hocking, J. (2015). Unity in Action multiplatform game development in c#. New York: Manning Publications Co.

[4].

Unity + Virtual Production Filmmaking. (2021, January 28). Retrieved May, 2023 from PERFORCE: https://www.perforce.com/blog/vcs/unity-virtual-production-filmmaking

[5].

[6].

Unity. (2021). Animation System Overview. Retrieved May, 2023 from Unity Documentation: https://docs.unity3d.com/Manual/AnimationOverview.html

[7].

Real-time rendering in 3D. (n.d.). Retrieved from Unity: https://unity.com/how-to/real-time-rendering-3d

[8].

Akenine-Möller, T., Haines, E., Hoffman, N., Pesce, A., Iwanicki, M., & Hillaire, S. '. (2018). Real-Time Rendering. New York: CRC PRESS.

[9].

Bailey, M. (2021). Simple Keyframe Animation. Oregon State University.

[10].

Roberts, R. (2017). Converting Motion Capture into Editable Keyframe Animation. Wellington: Victoria University of Wellington.

[11].

Animator Controller Overview. (n.d.). Retrieved April 2023, from Unity Technologies: https://docs.unity3d.com/Manual/class-AnimatorController.html.

[12].

Blend Trees. (n.d.). Retrieved April 2023, from Unity Documentation: https://docs.unity3d.com/Manual/class-BlendTree.html

[13].

Rouse, M. (2015, January 26). Skeletal Animation. Retrieved May 2023, from Techopedia: https://www.techopedia.com/definition/31071/skeletal-animation

[14].

Weaverdev. (n.d.). Procedural Animation Intro. Retrieved June 2023, from weaverdev: https://www.weaverdev.io

[15].

Beffio. (2018). THE HUNT — UNITY AWARDS 2018 WINNER IN BEST ARTISTIC CATEGORY. Retrieved May 2023, from Beffio: https://www.beffio.com/the-hunt

[16].

OatsStudios. (n.d.). ADAM EP2 & 3. Retrieved April 2023, from Unity: https://unity.com/madewith/adam#project

[17].

Whisperer, M. (2023, April 18). 'Adam' (2016) by Neil Blomkamp and Unity Technologies. Retrieved May 2023, from Reelrundown: https://reelrundown.com/movies/Sci-Fi-Short-Film-Adam-by-Neil-Blomkamp

[18].

UNITY. (2022). ENEMIES. Retrieved May 2023, from UNITY: https://unity.com/demos/enemies

[19].

Unity. (2018). The Hunt. Retrieved May 2023, from Unity Asset Store: https://assetstore.unity.com/packages/3d/environments/sci-fi/the-hunt-cyberpunk-pack-129891

[20].

UNITY 5 : THE BLACKSMITH. (2015). Retrieved May 2023, from IAMAG INSPIRATION: https://www.iamag.co/unity-5-the-blacksmith/

[21].

WindUp. (2020). Retrieved April 2023, from Unity: https://unity.com/demos/windup

[22].

SobaProductions. (2020). Sonder. Retrieved April 2023, from Unity: https://unity.com/madewith/sonder

< 저 자 소 개 >

에콜 루드밀라 무쿨라 (Ecole Luthermilla Mucula Dos Reis)

jkcgs-29-3-45-i1

  • 2015년 ~ 2019년 - Eduardo Mondlane University, 모잠비크 컴퓨터 공학과 학사

  • 2022년 ~ 한국기술교육대학교 석사 컴퓨터 공학과 석사 CPS 연구실

  • 관심: 메타버스, 디지털 트윈, 정보 시스템, AI

김 원 태

jkcgs-29-3-45-i2

  • 1994년 2월:한양대학교 전자 공학과 학사

  • 1996년 2월:한양대학교 전자 공학과 석사

  • 2000년 8월:한양대학교 전자공학과 박사

  • 2001년 ~ 2005년 : (주)로스틱테크놀로지 기술이사

  • 2005년 3월~2015년 8월 : 한국전자통신연구원 CPS연구실 실장/책임연구원

  • 2015년 9월~현재 : 한국기술교육대학교 컴퓨터공학부 교수

  • 관심분야: CPS, 디지털 트윈, 인공지능, 메타버스

윤 정 식

jkcgs-29-3-45-i3

  • 1986년 William Penn University 학사 졸업

  • 1989년 Pratt Institute 석사 졸업

  • 1989년7월 ~ 1992년8월 - 삼성전자(주) 정보통신부문 디자인실 (CAD팀장)

  • 1991년9월~ 1995년2월 - 한국컴퓨터그래픽스협회(KICOG) 사무국 사무국장

  • 1993년3월 ~ 현재 - 한국기술교육대학교 (KoreaTech) 디자인공학과 교수

  • 2009년3월 ~ 2012년9월 - 한국기술교육대학교(KoreaTech) 대외협력실장

  • 2017년 2월 ~ 2018년1월 - 한국기술교육대학교 (KoreaTech) 입학홍보처장

  • 2017년 3월~ 현재 - 한국기능올림픽연구원 원장 (고용노동부)

  • 2018년1월 ~ 2021년12월 - 디자인· 문화콘텐츠 ISC 선임위원 (고용노동부/산업인력공단)

  • 2020년7월 ~ 2021년2월 - 한국기술교육대학교 (KoreaTech) 학술정보원장

  • 2021년 2월 ~ 2022년2월 - 한국기술교육대학교(KoreaTech) 학생처장

  • 2022년3월 ~ 현재 - 한국기술교육대학교 (KoreaTech) 대외협력실장/개도국연구소장