<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/resources/xsl/jats-html.xsl"?>
<article article-type="research-article" dtd-version="1.1" xml:lang="ko" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
	<journal-meta>
		<journal-id journal-id-type="publisher-id">jkits</journal-id>
		<journal-title-group>
		<journal-title>한국지식정보기술학회 논문지</journal-title>
		<journal-title xml:lang="en">Journal of Knowledge Information Technology and Systems</journal-title>
		</journal-title-group>
		<issn pub-type="ppub">1975-7700</issn>
		<publisher>
		<publisher-name>한국지식정보기술학회</publisher-name>
		<publisher-name xml:lang="en">Korea Knowledge Information Technology Society</publisher-name>
		</publisher>
	</journal-meta>
	<article-meta>
		<article-id pub-id-type="publisher-id">jkits_2019_14_04_425</article-id>
		<article-id pub-id-type="doi">10.34163/jkits.2019.14.4.011</article-id>
		<article-categories>
			<subj-group>
				<subject>Research Article</subject>
			</subj-group>
		</article-categories>
		<title-group>
			<article-title>3D 애니메이션을 위한 효율적 Character Setup 고찰 - 인간형캐릭터를 중심으로</article-title>
			<trans-title-group xml:lang="en">
				<trans-title>A Study on Character Setup for 3D Animation: Focusing on Human Style Character</trans-title>
			</trans-title-group>
		</title-group>
		<contrib-group>
			<contrib contrib-type="author" xlink:type="simple">
				<name-alternatives>
					<name name-style="eastern">
						<surname>박</surname><given-names>현진</given-names>
					</name>
					<name name-style="western" xml:lang="en">
						<surname>Park</surname><given-names>Hunjin</given-names>
					</name>
					</name-alternatives>
				<xref ref-type="aff" rid="A1"></xref>
				<xref ref-type="fn" rid="fn001"><sup>*</sup></xref>
			</contrib>
			</contrib-group>
		<aff-alternatives id="A1">
			<aff><italic>중부대학교 조교수</italic></aff>
			<aff xml:lang="en"><italic>Department of Cartoon and Animation, Joongbu University</italic></aff>
		</aff-alternatives>
				<author-notes>
			<fn id="fn001"><label>*</label><p>Corresponding author is with the Department of Cartoon
Animation, Joongbu University, 305 Dongheon-ro Deogyang-gu Goyang-si, Gyeonggi-do 10279, KOREA. </p>
<p><italic>E-mail address</italic>: <email>hunjinn@gmail.com</email></p></fn>
		</author-notes>
		<pub-date pub-type="ppub">
			<month>8</month>
			<year>2019</year>
		</pub-date>
		<volume>14</volume>
		<issue>4</issue>
		<fpage>425</fpage>
		<lpage>433</lpage>
		<history>
			<date date-type="received">
				<day>15</day>
				<month>7</month>
				<year>2019</year>
			</date>
			<date date-type="rev-recd">
				<day>6</day>
				<month>8</month>
				<year>2019</year>
			</date>
			<date date-type="accepted">
				<day>9</day>
				<month>8</month>
				<year>2019</year>
			</date>
		</history>
		<permissions>
			<copyright-statement>&#x00A9; 2019 KKITS All rights reserved</copyright-statement>
			<copyright-year>2019</copyright-year>
		</permissions>
		<abstract>
			<title>요약</title>
			<p>캐릭터가 중심이 되는 애니메이션 콘텐츠를 제작하는데 있어 관객이 납득할만한 퀄리티 있는 애니메이션 표현은 중요한 업무 중 하나이다. 완성된 캐릭터 모델링을 기초로 관절움직임을 구현해 애니메이션을 원활히 진행할 할 수 있게 해주는 과정을 Character Setup이라고 하며, Character Setup은 Animating과 밀접한 관계를 가지고 프로덕션에서 생기는 창의적인 상황을 해결하기위해 분야별 전문가들이 서로 긴밀하게 피드백을 주고받는다. 하지만 전문적인 역할로 볼때 Rigging TD(Technical director)의 경우 Animating경험이 필수로 요구하지 않기 때문에 애니메이터들이 원하는 수준의 퀼리티를 가진 Character Setup을 프러덕션 초반부터 보기는 쉽지 않다. 그로 인해 내부적으로 생기는 불가피한 피드백이 발생하고 그로인해 효율성이 저해되는 경향이 있다. 이 논문은 프로덕션 초반부터 애니메이션이 원활이 표현되기 위해 기본적으로 고려되어야할 Setup을 비교 분석을 통해 고찰해보고 애니메이션 산업체에서 종사하는 Rigging TD혹은 그에 준하는 업무를 담당하는 Technical Director가 어느 정도 수준으로 Character Setup 업무를 완수해야 하는지 참고할 수 있는 기준을 제시한다.</p>
		</abstract>
		<trans-abstract xml:lang="en">
			<title>ABSTRACT</title>
			<p>Making Full 3D Animation is required for many experts include animators and technical directors compared to hand drawn animation. Every artist and technical director has their own task while on production and sometimes consume time as encountering some preventable issues that can be sorted out in early stage of animation. This study provides the ideal rig can be improved before animation process so that production reduces inefficient internal communication and achieving good quality of animation. In animation production, Character Setup is an important process to animate a character. Since Character Technical Directors who conduct Character setup are not always required to have animation experience and sometimes character rig for animation is not good enough to animate in the production ramp-up. Inefficient communication and heavy workload can be caused by the poor condition of rigs. In this paper, at first, We observe the primary character rig that still has potential issues to animate. At second, as researching improved character rigs We provide a better status of character rig. Observation and analysis in this paper is focused on character rigs using Autodesk Maya, which is an animation software as well known in the animation industry nowadays.
</p>
		</trans-abstract>
		<kwd-group kwd-group-type="author" xml:lang="en">
			<kwd>Computer graphic animation</kwd>
			<kwd>3D animation</kwd>
			<kwd>Character setup</kwd>
			<kwd>Character rigging</kwd>
			<kwd>Creature animation</kwd>
			<kwd>VFX</kwd>
		</kwd-group>
	</article-meta>
</front>
<body>
<sec id="sec001" sec-type="intro">
	<title>1. 서 론</title>
<sec id="sec001-1">
<title>1.1 연구의 배경 및 필요성</title>
<p>대중적으로 잘 알려진 Disney와 Dreamworks의 극장용 애니메이션처럼 우리가 흔히 접할 수 있는 캐릭터가 중심이 되는 full 3D애니메이션은 많은 제작비와 시간이 소요된다. 관객을 감동시키고 즐겁게 할 모든 시각적 요소를 정해진 스케줄에 맞춰 완성을 해야 하기 때문에 애니메이션 영화<xref ref-type="bibr" rid="B001">[1]</xref>는 상업적인 흥행을 염두에 두고 효율적으로 리소스를 관리해 제작을 끝내야한다.</p>
<p>Animating<xref ref-type="bibr" rid="B002">[2]</xref>, 즉 애니메이션동작 연출은 이러한 full 3D애니메이션에서 중요한 부분을 담당한다. Animating을 하는데 있어 선행되어야 하는 프로세스는 완성된 캐릭터모델링을 기초로 관절움직임을 구현해 애니메이션을 원활히 진행할 할 수 있게 해주는 것이다. 그러한 작업공정을 Character Setup<xref ref-type="bibr" rid="B003">[3]</xref>혹은 Rigging이라고 말하며 Animating과 밀접한 관계를 가지고 프로덕션에서 생기는 창의적인 상황을 해결하기위해 분야별 전문가들이 서로 긴밀하게 피드백을 주고받는다. 하지만 전문적인 역할로 볼 때 Rigging TD(Technical director)의 경우 Animating경험이 필수로 요구하지 않기 때문에 애니메이터들이 원하는 수준의 퀼리티를 가진 캐릭터 Setup을 한 번에 만들어 내기는 쉽지 않아 내부적으로 생기는 불가피한 피드백이 발생하고 그로인해 효율성이 저해되는 경향이 있다.</p>
<p>그런 문제로 Character Setup을 하는 데 있어서 애니메이션이 원활이 표현되기 위해 고려되어야할 Setup방식이 제언되어야할 필요가 있고 이 연구의 목적은 그런 제언을 통해 실제 애니메이션 산업체에서 종사하는 Rigging TD혹은 그에 준하는 업무를 담당하는 Technical Director가 어느 정도 수준으로 Character Setup 업무를 완수해야 하는지 참고할 수 있는 적정 수준을 제시하는데 그 목적이 있다.</p>
</sec>
<sec id="sec001-2" sec-type="methods">
<title>1.2 연구 방법</title>
<p>이 연구는 인간의 해부학적 관절구조에서 도출된 일반적인 Character Setup과 개선방향이 제시된 Character Rig를 비교 분석 할 것이고 마지막 결론 부분에선 Character Setup을 할 때 어느 수준까지가 고려돼야 애니메이션 제작 흐름에 효율적인지 적정수준을 제시할 것이다.</p>
<p>Full 3D 애니메이션에서는 2족형, 4족형 캐릭터 등 다양한 캐릭터가 등장하지만 대부분의 메인 캐릭터는 인간형 캐릭터<xref ref-type="bibr" rid="B004">[4]</xref>이기에 이 연구는 인간형 캐릭터를 중심으로 제한하여 비교 분석한다. 추가적으로 애니메이션 제작에 사용되는 소프트웨어는 제작사별로 선호도가 조금씩 다르기는 하나 현시점에서 가장 널리 사용되고 있는 Autodesk Maya를 기준으로 자료들을 비교 관찰한다.</p>
</sec>
</sec>
<sec id="sec002">
<title>2. 인간형 캐릭터의 관절구조와 Character Setup</title>
<p>컴퓨터 애니메이션에서 관절구조를 가지고 있는 캐릭터의 동역학적 움직임을 표현하는 수단으로서 IK(inverse kinematic)와 FK(Forward kinematic) 두 가지 방식이 일반적으로 널리 사용되어지고 있다. FK방식은 부모와 자식으로 이루어진 계층구조가 특징으로 자연스러운 Line of Action과 Arc를 만들기 쉽고 Overlapping Action 같은 애니메이션 원칙을 표현하는데 용이하다. IK는 FK에 비해 상대적으로 애니메이션 원칙을 표현하는데 쉽지는 않지만 무게감 있는 표현을 하는데 장점을 가지고 있어 걷기나 뛰기 등 무게중심이 이동하는 캐릭터의 다리부분에는 필수적으로 적용이 되어야한다.</p>
<fig id="f001" orientation="portrait" position="float">
	<label>그림 1.</label>
	<caption>
		<title>관절의 종류</title>
		<p>Figure 1. Type of Joint</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f001.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>&lt;<xref ref-type="fig" rid="f001">그림 1</xref>&gt;과 같이 인간의 해부학적 관절구조<xref ref-type="bibr" rid="B005">[5]</xref>는 Ball joint, Hinge joint, Spine joint, Pivot joint, Plane joint 등으로 나눠지지만 컴퓨터 그래픽으로 표현되는 인간형 캐릭터는 FK와 IK시스템을 이용해 크게 인체관절에서 특징 있는 Ball joint와 Hinge joint가 가지고 있는 동역학적 특징만 살려 구현할 수 있도록 한다.</p>
<table-wrap id="t001">
<label>표 1.</label>
<caption>
<title>Computer Animation에서 IK FK의 특징</title>
<p>Table 1. Comparison of FK and IK in Computer Animation</p>
</caption>
<table frame="box" rules="all" width="100%">
<tbody>
<tr align="center">
<td></td>
<td>Forward Kinematic</td>
<td>Inverse Kinematic</td>
</tr>
<tr>
<td align="center">특징</td>
<td><p>○ 부드러운 Arc모 션을 표현하는 데 적합하다.</p>
<p>○ overlapping 과 follow through 를 표현하기 적 합함</p></td>
<td><p>○ 걷기나 뛰기 점 프 등 지면에 닿는 다리움직 임을 표현하기 적합함</p>
<p>○ 무거운 물건들 기 같은 동작을 표현하기 적합</p></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>기본적인 리깅과정<xref ref-type="bibr" rid="B006">[6]</xref>은 Polygon Vertex를 구속할 수 있는 조인트들을 관절 움직임을 구현할 수 있도록 적절한 위치에 배치하는 것이며 Skinning과정을 거처 애니메이션을 적절히 수행할 수 있게 도와주는 Constraining 과정순서로 진행된다.</p>
<fig id="f002" orientation="portrait" position="float">
	<label>그림 2.</label>
	<caption>
		<title>Character Setup Workflow</title>
		<p>Figure 2. Type of Joint</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f002.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>마야는 기본적으로 조인트를 직접적으로 컨트롤 하지 않으며 Channel Editor에서 초기 값을 0으로 만들기 위해 더미형식의 컨트롤러를 만들어 조인트를 간접적으로 제어한다.</p>
</sec>
<sec id="sec003">
<title>3. 일반적인 Character Setup</title>
<sec id="sec003-1">
<title>(1) Reverse Foot Setup</title>
<p>Reverse foot setup<xref ref-type="bibr" rid="B007">[7]</xref>은 지면에 닿는 발부분의 애니메이션을 효과적으로 애니메이션 하기위해 고안된 Setup이다. 무게중심을 지탱하는 발은 나아가는 방향을 바꿀 때 지대한 역할을 하며 인체의 무게가 발바닥의 여러 방향으로 이동하면서 다양한 발모양이 만들어지게 되는데, Reverse Foot Setup은 Inverse Kinematic을 구현해 줄 수 있는 IK handle을 계층구조로 된 Dummy object에 구속시켜 IK를 FK방식으로 구현될 수 있도록 해주는 효과적인 Setup이다. 이런 방식으로 IK handle을 계층구조가 가지고 있는 회전축을 이용해 FK방식처럼 구현 해주는 Setup은 다양한 응용방법이 있지만 현재까지는 가장 표준적으로 구현되는 수준의 Setup이다.</p>
<fig id="f003" orientation="portrait" position="float">
	<label>그림 3.</label>
	<caption>
		<title>Reverse Foot Setup의 예</title>
		<p>Figure 3. Example of Reverse Foot Setup</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f003.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
</sec>
<sec id="sec003-2">
<title>(2) 팔과 다리의 FK IK Setup</title>
<p>팔과 다리 그리고 허리와 같은 부분을 Setup할때 기본적으로 IK FK 바꿔가면서 상황에 따라 바꿔가면서 선택해 사용할 수 있게 해주는 옵션 또한 일반적으로 리깅이 완성되었을 때 기대해 볼 수 있는 수준의 Setup이라고 할 수 있다.</p>
<fig id="f004" orientation="portrait" position="float">
	<label>그림 4.</label>
	<caption>
		<title>다리의 FK IK적용의 예</title>
		<p>Figure 4. Example of FK IK Setup for Leg</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f004.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>이러한 기본적인 Setup조차 되어있지 않다면 정지된 포즈를 만들어 내기에는 용이할지 몰라도 애니메이션을 구현하기에는 충분하지 못하며 Control Curve를 여러 번 선택해 Inbetween을 수정해 줘야해 시간이 많이 들고 비효율적이다. 애니메이터들은 FK와 IK를 사용하는데 있어 장단점을 잘 알고 있기 때문에 유연하게 대처하기 위해선 서로 방법을 바꿔갈 수 있는 옵션은 꼭 필요하다.</p>
</sec>
<sec id="sec003-3">
<title>(3) Animation Curve</title>
<p>Autodesk Maya에서 애니메이션은 Control Curve의 Channel에 애니메이션 키 값을 만들어주면. &lt;<xref ref-type="fig" rid="f005">그림5</xref>&gt;처럼 Graph Editor에서 Curve가 생성되고 그 생성된 커브를 수정해 애니메이션 원리를 적용시킨다.</p>
<p>단순한 A지점에서 B지점으로 이동하는데 &lt;<xref ref-type="fig" rid="f005">그림5</xref>&gt;의 (b)처럼 복수의Curve가 서로 간섭을 하면서 Inbetween을 만들어내면 어떤 식으로 스크린스페이스에 움직임이 나타날지 예측하기 힘들다. 그러므로 &lt;<xref ref-type="fig" rid="f005">그림5</xref>&gt;의 (a)처럼 가능한 한 채널값만 이용해 애니메이션 할수록 좀 더 분명하게 원하는 목적을 달성할 수 있다.</p>
<p>애니메이션은 Pose to Pose<xref ref-type="bibr" rid="B008">[8]</xref>방식으로 제작이 되며 컴퓨터애니메이션에서 Key Pose 사이에 블랜딩은 그래프에디터로 두 컨트롤러사이의 Attribute 값의 블랜딩으로 컴퓨터가 연산해내 만들어낸다. 애니메이터는 그래프에디터로 그 연산 값들을 조절하게 된다.</p>
<fig id="f005" orientation="portrait" position="float">
	<label>그림 5.</label>
	<caption>
		<title>Graph Editor와 Animation Curve</title>
		<p>Figure 5. Graph Editor and Animation Curve</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f005.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>대부분의 Character Setup의 경우 단순히 정지된 포즈만 염두에 두고 Setup을 하게 되면 충분하지 않고 필수적으로 여러 포즈가 애니메이션 될 때 생길 수 있는 다양한 상황을 고려해야한다. 하나의 포즈를 만드는데 있어 여러 가지 컨트롤들이 중복으로 사용되면 Graph Editor에서 Animation Curve가 예측수정하기 힘들어져 디테일한 애니메이션을 추가하기 힘들어진다.</p>
<p>실제 애니메이션 제작상황에서는 다양한 동작 연출들이 요구되어지며 그러한 동작들을 표현하기 위해선 기본적으로 구현되어있는 옵션들이 부족함이 없어야한다. 애니메이션을 표현하기 위해 잘된 Character Setup은 부차적인 조작이 필요 없기 때문에 효율적으로 작업시간을 단축시킬 수 있다. 반면 필요한 움직임을 표현하기위해 효율적이지 못한 리깅은 그 표현을 위해 많은 시간을 투자해야 하고 또 내용이 바뀔 경우 수정하기가 용이하지 않은 문제를 가지고 있다. 그렇기 때문에 확인하면서 문제를 해결해야한다.</p>
</sec>
</sec>
<sec id="sec004">
<title>4. 개선된 Character Setup</title>
<sec id="sec004-1">
<title>(1) Head, Shoulder, Wrist angle alignment<xref ref-type="bibr" rid="B009">[9]</xref></title>
<p>인간을 포함한 많은 동물은 몸체가 균형을 잃어도 머리의 위치와 각도를 유지하려는 습성이 있다. 애니메이션의 동작은 현실을 참고하는데, 활동적인 애니메이션에서 캐릭터의 머리의 위치와 각도는 유지시키는 것은 매번 카운터 애니메이션을 할 필요 없기 때문에 시간을 절약하는데 도움이 된다. 그러므로 Character rig의 각 관절에 Space Orient 옵션이 있다면 작업자들에게 도움이 된다.</p>
</sec>
<sec id="sec004-2">
<title>(2) Stretch and Squash<xref ref-type="bibr" rid="B010">[10]</xref></title>
<p>&lt;<xref ref-type="fig" rid="f006">그림 6</xref>&gt;과 같이 애니메이션원리에 맞게 전체길이가 늘어나고 줄어듦에 따라 부피 변화 없이 그 고유의 볼륨을 유지하는 효과는 필요하다. 비록 과장되게 늘어날 필요가 없는 사실적인 캐릭터일지 라도 Stretch and Squash Setup을 활성화 시킬 수 있는 옵션을 제공해서 애니메이터가 다룰 수 있게 해 주는 것이 더 나은 선택이다.</p>
<fig id="f006" orientation="portrait" position="float">
	<label>그림 6.</label>
	<caption>
		<title>Squash and Stretch의 다양한 예</title>
		<p>Figure 6. examples of Squash and Stretch</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f006.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
</sec>
<sec id="sec004-3">
<title>(3) Gimblal Lock<xref ref-type="bibr" rid="B011">[11]</xref></title>
<p>Gimbal Lock은 여러 각도로 회전하는 애니메이션이 많을수록 빈번하게 맞닥뜨려질 수밖에 없는 문제점 중에 하나다. 예를 들어 팔목이나 어깨 머리 그리고 전체 무게중심이 되는 Pelvis부분이다. 처음 Character Setup할 때부터 Rotation Order를 바꿔주어 Gimbal Lock이 덜 걸리도록 Setup해줄 수 있지만 완벽하게 피하는 건 불가능하다. 그렇기 때문에 자주 회전이 있는 관절에 Gimbal Lock을 피할 수 있도록 해주는 추가적인 컨트롤이나 Attribute를 Setup해 주는 것이 애니메이션을 원활히 진행하는데 도움이 된다.</p>
</sec>
<sec id="sec004-4">
<title>(4) Additional Controller</title>
<p>애니메이션 Key Pose를 디자인할 때 무게중심은 항상 민감하며 모든 Secondary Animation<xref ref-type="bibr" rid="B012">[12]</xref>이 무게중심의 이동에 영향을 받기 때문에 어느 정도 애니메이션이 진행된 이후부터는 수정하기가 까다롭다. 대부분의 애니메이션과정은 다시 수정해야할 상황이 동반되는데 큰 몸통 각도를 미리 맞춰놓고 무게중심의 이동에 대한 디테일을 추가시키기 위해 Layering<xref ref-type="bibr" rid="B013">[13]</xref> 방식으로 애니메이션 할 경우 필수적으로 필요하다.</p>
</sec>
</sec>
<sec id="sec005">
<title>5. 개선된 Character Setup 실험 및 분석</title>
<fig id="f007" orientation="portrait" position="float">
	<label>그림 7.</label>
	<caption>
		<title>Head Orient Setup</title>
		<p>Figure 7. Head Orient Setup</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f007.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<sec id="sec005-1">
<title>(1) Space Orient</title>
<p>&lt;<xref ref-type="fig" rid="f007">그림7</xref>&gt;과 같이 옵션값을 전환시켜 World Space에 Head를 정렬시킬지 아니면 몸통의 Local Axis에 Rotation을 정렬시킬지 선택할 수 있다. 이러한 Setup은 &lt;<xref ref-type="fig" rid="f007">그림7</xref>&gt;처럼 World Axis에 Head Object를 Orient Constraint를 하여 몸통이 돌아가도 World Axis에 정렬이 되도록 해주는 Setup이다. 일반적으로 두개의 오브젝트가 가지고 있는 Translation node의 Rotation값을 구속시킬 수 있는 Orient Constraint을 이용한다.</p>
</sec>
<sec id="sec005-2">
<title>(2) Stretch and Squash Setup</title>
<p>&lt;<xref ref-type="fig" rid="f008">그림8</xref>&gt;의 (b)와 같이 계층구조로 이루어진 Joint의 Y축 스케일을 늘리고 줄이는 방식으로 전체길 이를 늘리고 줄일 수 있다. IK Spine Handle을 생성하면 Spine Curve가 생성 되는데, 이 Curve의 CV들을 이용해 모양을 수정할 수 있고 &lt;<xref ref-type="fig" rid="f008">그림8</xref>&gt;의 (c)와같이 전체 Curve의 길이 정보를 바탕으로 노드를 연결해줘 늘어난 Curve만큼 각각의 Joint Y축을 줄여주어 &lt;<xref ref-type="fig" rid="f008">그림8</xref>&gt;의 (a)와 같은 효과를 만들어 낼 수 있다. 이런 Setup은 허리뿐만 아니라 꼬리나 더듬이 같은 부분에 응용이 될 수 도 있다. 단 주의 해야 할 것은 늘어나기만 하면 안 된다는 것이고 늘어나거나 수축하는 만큼 애니메이션 원리에 맞게 전체 볼륨에도 영향을 줄 수 있어야한다.</p>
<fig id="f008" orientation="portrait" position="float">
	<label>그림 8.</label>
	<caption>
		<title>Gimbal Lock을 피하기 위한 어트리뷰트</title>
		<p>Figure 8. Attributes to avoid Gimbal Lock</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f008.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
</sec>
<sec id="sec005-3">
<title>(3) Gimblal Lock and Rotation Order</title>
<p>마야는 &lt;<xref ref-type="fig" rid="f009">그림9</xref>&gt;의 (b)처럼 Attribute Editor에 Rotation Order를 바꿀 수 있도록 기본적인 옵션을 제공하고 있다. 일반적으로 이 Rotation Order를 수정해서 Gimbal Lock이 덜 걸리는 방향으로 수정해서 쓰일 수 있다. 그밖에 추가적인 Dummy Control Curve를 부모위치에 미리 만들어 놓거나 &lt;<xref ref-type="fig" rid="f009">그림9</xref>&gt;의 (a)처럼 추가적인 Setup으로 Attribute를 추가해 Gimbal Lock을 피하는 방법이 있다.</p>
<fig id="f009" orientation="portrait" position="float">
	<label>그림 9.</label>
	<caption>
		<title>Gimbal Lock을 피하기 위한 어트리뷰트</title>
		<p>Figure 9. Attributes to avoid Gimbal Lock</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f009.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
</sec>
<sec id="sec005-4">
<title>(4) Additional hip controller</title>
<p>추가적인 컨트롤러는 &lt;<xref ref-type="fig" rid="f010">그림10</xref>&gt;처럼 계층구조상에 Control Curve를 한개 이상 두는 것이다. 특히 Hip 부분은 애니메이션이 어느 정도 완성된 이후에도 조금씩 디테일이 수정돼 들어갈 수 있는 부분이고 Layering 애니메이션을 할 경우 추가적인 Control Curve가 있다면 애니메이터가 상황에 따라 유연하게 대처할 수 있다.</p>
<fig id="f010" orientation="portrait" position="float">
	<label>그림 10.</label>
	<caption>
		<title>추가적인 Hip Control Curve</title>
		<p>Figure 10. Additional Hip Control Curve</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f010.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
</sec>
<sec id="sec005-5">
<title>(5) Spine부분의 FK IK setup</title>
<p>이미 잘 알려지고 쉽게 접할 수 있는 기술 문서때문에 일반적으로 팔과 다리 부분은 FK IK Setup이 별다른 Feedback이 없어도 기본적으로 구현되지만 허리부분의 FK IK Setup은 간과 되는 경향이 있다. &lt;<xref ref-type="fig" rid="f011">그림11</xref>&gt;처럼 Skinning되는 Joint가 FK와 IK Setup을 위해 따로 만들어진 Joint들에 의해서 구속되는 원리이다. 이렇게 함으로서 Constraint를 전환하는 Attribute를 추가하여 애니메이터가 FK방식과 IK방식을 전환하여 사용할 수 있다.</p>
<fig id="f011" orientation="portrait" position="float">
	<label>그림 11.</label>
	<caption>
		<title>FK IK Setup 기본개념</title>
		<p>Figure 11. Basic Concept of FK IK Setup</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f011.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
</sec>
</sec>
<sec id="sec006" sec-type="Conclusions">
<title>6. 결 론</title>
<p>개선된 Character Setup을 바탕으로 프로덕션에서 Character rig asset을 제작할시 참고할 내용은 다음과 같다.</p>
<p>- Layering 방식으로 애니메이션 할 수 있도록 인체의 무게중심에 위치한 추가적인 컨트롤</p>
<p>- Gimbal Lock을 해결할 수 있는 추가적인 컨트롤러나 솔루션</p>
<p>- Torso 부분의 IK FK 하이브리드 Setup<xref ref-type="bibr" rid="B014">[14]</xref>과 Stretch Spine Setup</p>
<p>- 팔의 움직임이 일정 각도에 도달하면 Clavicle도 함께 따라 움직여 줄 수 있는 Auto Shoulder Setup<xref ref-type="bibr" rid="B015">[15]</xref></p>
<p>- 주요 관절 부분의 Local Axis와 World Axis 등으로 전환 가능한 Space switching옵션</p>
<p>애니메이션제작은 많은 제작비가 들어가고 창의적 표현이 최우선인 영역에서는 빈번하게 디렉션이 수정되며 그런 상황에서 아티스트들은 유연하고 민첩하게 대처를 해야 한다. 그런 측면에서 디지털 캐릭터를 효과적으로 애니메이션 할 수 있는 Rigging Asset은 프로덕션 전반의 효율성에 막대한 기여를 한다. 본 연구는 한국의 full 3D애니메이션 제작환경에서 그동안 잘 논의 되지 않았던 Rigging Asset의 개선방향에 대한 연구를 통해 Character Modeling이 끝난 후 애니메이션을 위한 Character Setup이 진행될 때 직면할 수밖에 없는 문제들을 시행착오 없이 해결할 수 있도록 가이드라인을 제시하고자 했다. 정해진 스케줄에 맞춰 정확성 있게 효율적으로 일을 해 내는 것은 애니메이션 제작 비즈니스에 중요한 부분이며 본 연구가 제작 노하우 없이 새로 애니메이션 비즈니스를 시작하는 신생 제작팀들에게 도움이 되길 기대한다.</p>
</sec>
</body>
<back>
<ref-list>
<title>References</title>
<!-- [1] C. Winder, and Z. Dowlatabadi, Producing animation, Focal Press, 2011.-->
<ref id="B001">
<label>[1]</label>
<element-citation publication-type="book">
<person-group>
<name><surname>Winder</surname><given-names>C.</given-names></name>
<name><surname>Dowlatabadi</surname><given-names>Z.</given-names></name>
</person-group>
<year>2011</year>
<source>Producing animation</source>
<publisher-name>Focal Press</publisher-name>
</element-citation>
</ref>
<!-- [2] Animating resources, https://en.wikipedia.org/wiki/Animation, Jul. 2019.-->
<ref id="B002">
<label>[2]</label>
<element-citation publication-type="webpage" publication-format="web">
<year>2019</year>
<month>Jul.</month>
<source>Animating resources, <uri>https://en.wikipedia.org/wiki/Animation</uri></source>
</element-citation>
</ref>
<!-- [3] N. Zeman, Essential skills in character rigging, A K Peters/CRC Press, New York, 2016.-->
<ref id="B003">
<label>[3]</label>
<element-citation publication-type="book">
<person-group>
<name><surname>Zeman</surname><given-names>N.</given-names></name>
</person-group>
<year>2016</year>
<source>Essential skills in character rigging</source>
<publisher-loc>New York</publisher-loc>
<publisher-name>A K Peters/CRC Press</publisher-name>
</element-citation>
</ref>
<!-- [4] B. Tom, Creating Characters With Personality, Watson-Guptill Publications, New York, 2006-->
<ref id="B004">
<label>[4]</label>
<element-citation publication-type="book">
<person-group>
<name><surname>Tom</surname><given-names>B.</given-names></name>
</person-group>
<year>2006</year>
<source>Creating Characters With Personality</source>
<publisher-loc>New York</publisher-loc>
<publisher-name>Watson-Guptill Publications</publisher-name>
</element-citation>
</ref>
<!-- [5] S. Prokopenko, The 6 Types of Joints, https://youtu.be/0cYal_hitz4, Jul. 2019.-->
<ref id="B005">
<label>[5]</label>
<element-citation publication-type="webpage" publication-format="web">
<person-group>
<name><surname>Prokopenko</surname><given-names>S.</given-names></name>
</person-group>
<year>2019</year>
<month>Jul.</month>
<source>The 6 Types of Joints, <uri>https://youtu.be/0cYal_hitz4</uri></source>
</element-citation>
</ref>
<!-- [6] A. Watkins, Getting started in 3D with Maya, Routledge, New York, pp. 319-328, 2012-->
<ref id="B006">
<label>[6]</label>
<element-citation publication-type="book">
<person-group>
<name><surname>Watkins</surname><given-names>A.</given-names></name>
</person-group>
<year>2012</year>
<source>Getting started in 3D with Maya</source>
<publisher-loc>New York</publisher-loc>
<publisher-name>Routledge</publisher-name>
<fpage>319</fpage><lpage>328</lpage>
</element-citation>
</ref>
<!-- [7] K. Ritchie, J. Callery, K. Biri, The art of rigging (A Definitive guide to character technical direction with alias Maya, CG Toolkit, Vol 1, 2005.-->
<ref id="B007">
<label>[7]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Ritchie</surname><given-names>K.</given-names></name>
<name><surname>Callery</surname><given-names>J.</given-names></name>
<name><surname>Biri</surname><given-names>K.</given-names></name>
</person-group>
<year>2005</year>
<article-title>The art of rigging (A Definitive guide to character technical direction with alias Maya</article-title>
<source>CG Toolkit</source>
<volume>1</volume>
</element-citation>
</ref>
<!-- [8] O. Johnston, F. Thomas, The illusion of life: Disney animation, Abbeville Press, pp. 57-58 1981.-->
<ref id="B008">
<label>[8]</label>
<element-citation publication-type="book">
<person-group>
<name><surname>Johnston</surname><given-names>O.</given-names></name>
<name><surname>Thomas</surname><given-names>F.</given-names></name>
</person-group>
<year>1981</year>
<source>The illusion of life: Disney animation</source>
<publisher-name>Abbeville Press</publisher-name>
<fpage>57</fpage><lpage>58</lpage>
</element-citation>
</ref>
<!-- [9] E. Luhta, How to cheat in Maya: Tools and techniques for the Maya animator, Focal Press, pp. 192-193, 2010.-->
<ref id="B009">
<label>[9]</label>
<element-citation publication-type="book">
<person-group>
<name><surname>Luhta</surname><given-names>E.</given-names></name>
</person-group>
<year>2010</year>
<source>How to cheat in Maya: Tools and techniques for the Maya animator</source>
<publisher-name>Focal Press</publisher-name>
<fpage>192</fpage><lpage>193</lpage>
<pub-id pub-id-type="doi">10.4324/9780080956824</pub-id>
</element-citation>
</ref>
<!-- [10] E. Goldberg, Character animation crash course. Silman-James Press, pp. 117-119, 2008.-->
<ref id="B010">
<label>[10]</label>
<element-citation publication-type="book">
<person-group>
<name><surname>Goldberg</surname><given-names>E.</given-names></name>
</person-group>
<year>2008</year>
<source>Character animation crash course</source>
<publisher-name>Silman-James Press</publisher-name>
<fpage>117</fpage><lpage>119</lpage>
</element-citation>
</ref>
<!-- [11] T. O'Hailey. Rig it right! Maya animation rigging concepts, 2nd edition, Taylor &#x26; Francis, pp. 223-226, 2018.-->
<ref id="B011">
<label>[11]</label>
<element-citation publication-type="book">
<person-group>
<name><surname>O'Hailey</surname><given-names>T.</given-names></name>
</person-group>
<year>2018</year>
<source>Rig it right! Maya animation rigging concepts</source>
<comment>2nd edition</comment>
<publisher-name>Taylor &#x26; Francis</publisher-name>
<fpage>223</fpage><lpage>226</lpage>
</element-citation>
</ref>
<!-- [12] K. Kevin, Secondary animation resources, https://blog.animationmentor.com/secondary-action-the-12-basic-principles-of-animation, Jul. 2019.-->
<ref id="B012">
<label>[12]</label>
<element-citation publication-type="webpage" publication-format="web">
<person-group>
<name><surname>Kevin</surname><given-names>K.</given-names></name>
</person-group>
<year>2019</year>
<month>Jul.</month>
<source>Secondary animation resources, <uri>https://blog.animationmentor.com/secondary-action-the-12-basic-principles-of-animation</uri></source>
</element-citation>
</ref>
<!-- [13] V. M. d'Annoville, Layering Animation, https://vimeo.com/51370027, Jul. 2019.-->
<ref id="B013">
<label>[13]</label>
<element-citation publication-type="webpage" publication-format="web">
<person-group>
<name><surname>d'Annoville</surname><given-names>V. M.</given-names></name>
</person-group>
<year>2019</year>
<month>Jul.</month>
<source>Layering Animation, <uri>https://vimeo.com/51370027</uri></source>
</element-citation>
</ref>
<!-- [14] Torso squash and stretch setup resources, https://youtu.be/Ip-5PD3aNIg, Jul. 2019.-->
<ref id="B014">
<label>[14]</label>
<element-citation publication-type="webpage" publication-format="web">
<year>2019</year>
<month>Jul.</month>
<source>Torso squash and stretch setup resources, <uri>https://youtu.be/Ip-5PD3aNIg</uri></source>
</element-citation>
</ref>
<!-- [15] A. Jahirul, Rigging the shoulders and arms, https://3dtotal.com/tutorials/t/introduction-to-rigging-in-maya-the-shoulder-and-arms-jahirul-aminanimation-body-neck, Jul. 2019.-->
<ref id="B015">
<label>[15]</label>
<element-citation publication-type="webpage" publication-format="web">
<person-group>
<name><surname>Jahirul</surname><given-names>A.</given-names></name>
</person-group>
<year>Jul. 2019.</year>
<source>Rigging the shoulders and arms, <uri>https://3dtotal.com/tutorials/t/introduction-to-rigging-in-maya-the-shoulder-and-arms-jahirul-aminanimation-body-neck</uri></source>
</element-citation>
</ref>
</ref-list>
<bio>
<p><graphic xlink:href="../ingestImageView?artiId=ART002497014&amp;imageName=jkits_2019_14_04_425_f012.jpg"></graphic><bold>Hunjin Park</bold> received the bachelor’s degree in the Department of Ceramic Art from the Hong-ik University in 2002. He received the MFA degree in the Department of Computer Engineering from Academy of Art University in 2007, respectively. From 2007 to 2011, he was a Character Animator at Rhythm and Hues. He was on many shows in feature film industry up until 2016. He has been a professor in the Department of Cartoon and Animation at Joongbu University since 2016. His current research interests include 3D Animation, VFX, VR/AR, Cultural Contents.</p>
<p><italic>E-mail address</italic>: <email>hunjinn@gmail.com</email></p>
</bio>
</back>
</article>
