본 연구는 3D 애니메이션 소프트웨어에서 발생하는 짐벌락(Gimbal lock)의 해결 방법들에 관한 사례들을 정리하고 그 해결 방법들의 장단점을 분석하고자 하였다. 짐벌락은 3D 애니메이션 소프트웨어에서 컴퓨터가 x, y, z 3개 축을 계산하는 방법인 오일러(Euler)에서 발생하는 문제점이다. 오일러 앵글(Euler Angle)에서는 x, y, z 축을 회전할 때 두 개의 축이 일치하게 되는 경우가 있는 데 이것을 짐벌락이라고 부른다. 짐벌락의 문제점은 원하는 방향으로 회전할 수 없다는 것이다. 이의 연구방법으로 3D 애니메이션 소프트웨어인 Autodesk Maya에서 짐벌락에 대한 해결 방법을 알아보고 정리 분석해 보았다. Maya에서 사용할 수 있는 짐벌락 해결 방법 중 4가지를 설명하고 각 방법의 한계점들에 대해 분석해 보았다. 짐벌락을 위해 사용한 해결 방법으로 첫 번째는 Maya의 Graph Editor에서 제공하는 Euler Filter 사용, 두 번째는 축의 순서 변경하기를 알아보았다. 세 번째는 짐벌락 발생했을 시 더미(dummy) 컨트롤러를 사용해서 문제를 일으킨 축을 보완해 주는 방법이다. 이것은 하나의 관절, 즉 하나의 컨트롤러에서 발생하는 짐벌락의 문제점을 보완하기 위해 문제가 발생한 컨트롤러의 상위 계층에 더미(dummy) 그룹 생성하는 방법이다. 마지막으로 어깨관절의 경우, 어깨 회전을 어깨 컨트롤러와 쇄골(빗장뼈) 컨트롤러 두 가지로 분리해서 해결하는 방법을 알아보았다. 짐벌락 수정을 위한 네 가지 방법들을 분석해 본 결과 장단점이 있었다. Euler Filter 사용은 손쉽게 수정할 수 있지만, Rotate 회전 값에 따라 결과가 많이 달라진다. 두 번째 Rotate 순서 변경을 통한 적용 방법은 쉽지만 매우 단순한 애니메이션 작업에만 적용할 수 있다. 세 번째 더미(dummy) 컨트롤러의 추가 설치는 짐벌락이 발생했을 시 작업자가 원하는 대로 수정이 가능하고 결과가 어느 정도 보장이 된다. 하지만, 리깅 지식이 없는 작업자가 사용하기 위해서는 먼저 이 개념을 이해해야 설치할 수 있다. 마지막으로 어깨와 쇄골 컨트롤러 분리 설치는 한 개 컨트롤러에 두 기능을 통합 설치한 것과 비교할 때 짐발락의 발생 지점을 변경시킬 수 있다. 하지만 짐벌락 발생 위치 변경이 가능할 뿐 이것 또한 궁극적인 수정은 곤란하다. 짐벌락 문제는 해결한다기보다는 피해간다고 해야 한다. 그렇지만 짐벌락 수정을 위한 네가지 방법의 장단점을 파악한다면 효율적인 3D 애니메이션 작업이 가능하리라 판단된다.
This study tried to summarize the cases of gimbal lock solutions that occur in 3D animation software and to analyze the strengths and weaknesses of the solutions. Gimbal lock is a problem that occurs in Euler, a method in which a computer calculates three axes of x, y, and z in 3D animation software. In Euler Angle, when rotating the x, y, and z axes, the two axes may coincide. This is called a gimbal lock. The problem with the gimbal lock is that it cannot be rotated in the desired direction. As a research method, a solution to the gimbal lock in Autodesk Maya, a 3D animation software, was identified and analyzed. Four of the gimbal lock solutions available in Maya were explained and the limitations of each method were analyzed. As a solution used for gimbal lock, the first was to use Euler Filter provided in Maya’s Graph Editor, and the second was to change the order of the axes. The third method is to use a dummy controller to compensate for the problematic axis when a gimbal lock occurs. This is a method of creating a dummy group in the upper layer of the problematic controller to compensate for the gimbal lock problem occurring in one joint, that is, one controller. Finally, in the case of the shoulder joint, we looked at how to solve the shoulder rotation by separating it into two types: a shoulder controller and a clavicle controller. As a result of analyzing the four methods for modifying the gimbal lock, there were pros and cons. The use of Euler Filter can be easily modified, but the result varies a lot depending on the Rotate rotation value. The method of applying the second Rotate order change is easy, but it can only be applied to very simple animation work. The additional installation of a third dummy controller allows the operator to modify as desired when the gimbal lock occurs, and the result is guaranteed to some extent. However, in order for operators without rigging knowledge to use it, they must first understand the concept before installation. Finally, installing the shoulder and clavicle controller separately can change the point of occurrence of the gimbalak compared to the integrated installation of both functions in one controller. However, it is possible to change the location of the gimbal lock, but it is also difficult to ultimately correct it. The gimbal lock problem should be avoided rather than solved. However, it is judged that efficient 3D animation work is possible if the advantages and disadvantages of the four methods for modifying the gimbal lock are understood.