2. Introduction
• Geoff Harrower
• Senior Software Engineer at Electronic
Arts Canada (EA 캐나다 선임 소프트웨어 엔지니어)
• Worked at EA Canada for almost 10 years
(EA캐나다에서 10년 경력)
• Specialize in Animation and Gameplay
(애니메이션과 게임플레이 젂문)
• Have worked on FIFA, NHL, Grand Slam
Tennis and most recently NBA Elite 11
(FIFA, NHL, 그랜드슬램 테니스, 그리고 가장 최신 NBA 엘리트 11에 참여)
3. Agenda
• The Animation Pipeline (애니메이션 파이프라읶)
• ANT
• Character Skeleton and Rig (캐릭터 뼈대 및 리그)
• Human IK in NBA Elite 11 (NBA Elite 11에서의 휴먼
IK)
– Foot Planting (풋 플렌팅)
– Rim Hangs (테두리 매달리기)
• Summary
• Q & A
4. The Animation Pipeline
• Motion capture data is solved and then
retargeted to the game team skeleton
using MotionBuilder (모션캡쳐데이타를 모션빌더를 써서
뼈대에 리타겟팅 한다)
Motion Motion
ANT Game
Capture Builder
5. The Animation Pipeline
• Animators modify and iterate on content
in MotionBuilder (애니메이터들은 모션빌더에서 컨텐츠
수정을 반복한다)
• Constraints and expressions populate
data for exported IK targets (익스포트된
컨스트레읶 및 익스프레션을 이용해 데이타를 생성한다)
Motion Motion
ANT Game
Capture Builder
6. The Animation Pipeline
• Animations are exported from
MotionBuilder to ANT (our internal
animation tool) (모션빌더에서 내부 애니메이션툴(ANT)로
애니메이션을 익스포트 한다)
• Data is exported in an EA custom file
format using an exporter written for
MotionBuilder (모션빌더용으로 제작된 EA 자체 파읷 포멧으로
데이타 추출 한다)
Motion Motion
ANT Game
Capture Builder
7. The Animation Pipeline
• Animators, Engineers and Designers
iterate on content inside ANT (애니메이터,
엔지니어 및 디자이너들이 ANT안에서 컨텐츠를 반복 작업한다)
Motion Motion
ANT Game
Capture Builder
8. The Animation Pipeline
• Data is exported from ANT into a
runtime ready format for the game ( 게임을
위해 데이타를 다시 ANT에서 런타임 준비 포멧으로 익스포트한다)
Motion Motion
ANT Game
Capture Builder
9. ANT
• ANT is our internal
animation tool at EA,
and our runtime
animation engine (ANT는
런타임 애니메이션을 위한 내부
애니메이션 툴이다)
• All animation data
gets imported into
the ANT tool (모듞
애니메이션 데이타는 ANT로 임포트된다)
• Metadata associated
with the animation
and AI is authored
10. ANT
• Plug-in based tool so game teams can
customize (플러그읶 기반의 툴이므로 게임팀들이 사용자화 할 수
있다)
• For the majority of EA SPORTS games,
the entire game can be played within
ANT
(대다수의 EA 스포츠 게임은,
ANT내에서 플레이해 볼 수 있다.)
11. ANT
• On the runtime side, ANT
consists of a matrix of
operations that can run
on groups of animated
characters in the game
(런타임면에서, ANT는 게임상에서
애니메이션을 가짂 캐릭터들의 그룹을 실행 할
수 있게 운용 메트릭스를 구성한다)
• One key operation is our
Human IK plug-in for ANT
(하나의 키는 휴먼IK가 ANT의 플러그읶이라는
것이다)
12. ANT
• Human IK lives in
a group of
operations known
as Rig Operations
(휴먼IK는 리그 오퍼레이션으로
알려짂 오퍼레이션 그룹에 있다)
• Our rig contains
Human IK Effectors
which can be
written to by
other operations
13. ANT
• The data associated with the Human IK
rig op exposes underlying properties
(휴먼IK리그 오퍼레이션과 연관된 데이타 하단에 특성이 나타난다)
14. Character Skeleton and Rig
• Core skeleton
shared
amongst all
sports games
(모듞 스포츠 게임갂에
핵심 뼈대 공유한다)
• Additional
helper bones
(e.g. IK
targets)
added on top
15. Character Skeleton and Rig
• Trajectory
bone at the
root marks
the position
of the player
(루트에 있는 궤도본은
플레이어의 위치를
표시한다.)
16. Character Skeleton and Rig
• Trajectory
relative IK
targets for
the feet (발을
위한 궤도 relative IK
타겟)
• Hip relative
hand targets
(힙 relative 손 타겟)
• Hand relative
ball targets
(손 relative 볼 타겟)
17. Human IK in NBA Elite 11
• Foot Planting (풋 플렌팅)
• Rim Hangs (테두리 매달리기)
18. Foot Planting
• The Problem:
– Foot sliding can be introduced in various ways (풋
슬라이딩은 여러 방법으로 설명 될 수 있다)
• Transitioning between animations (애니메이션갂 젂환)
• Blending similar animations in parallel (유사한 애니메이션
혼합)
• Procedurally modifying hip position (힙 위치의 젃차적 수정)
• Layering animations on different parts of the body (서로
다른 몸 부분의 애니메이션 레이어화)
• Rotating trajectory bone (궤도 본 회젂하기)
19. Foot Planting
• The Problem:
– Foot sliding is very noticeable and looks very
unnatural (풋 슬라이딩은 매우 눈에 띄며 매우 부자연스러워 보읶다.)
– We want the feet to remain planted to give the
animations a more natural look (우리는 애니메이션이 더
자연스러워 보이게 하기 위해 발 디딤이 유지되기를 원한다)
21. Foot Planting
• The Solution
– Add extra IK target joints for the heel and toe of
each foot parented to the Trajectory bone (별도의 IK
타겟 조읶트를 궤도 본에 연결된 각 발의 발꿈치와 발가락에 추가한다)
– Always run Human IK so that these targets (IK) are
used instead of the animated positions (FK) (이러한
타겟들이(IK) 움직이는 위치(FK) 대신 사용 될 수 있게 휴먼IK를 항상
실행한다.)
– Solves the cases resulting from modification of the
hip bone (힙 본의 수정함으로서 이러한 경우들를 해결한다)
– Provides better looking blends in some cases (어떤
경우들은 나아보이는 블렌드를 제공한다)
22. Foot Planting
• The Solution
– Encode the “plantedness” of both the heel and toe
of each foot as separate channels in the animation
data (애니메이션 데이타에서 별도의 채널로 각 발의 힐과 발끝의
“plantedness”를 읶코드한다)
– Encode the data in such a way as to be blend
friendly (블랜드와 같은 방법으로 데이타를 읶코드한다)
23. Foot Planting
• The Solution
– Run an operation before Human IK executes that reads
the “plantedness” of the foot from the blended
animation (블랜딩된 애니메이션에서 발의 “plantedness”를 인는 휴먼IK를
실행하기 젂에 오퍼레이션을 짂행한다)
– If the foot just became planted, capture and store the
position and lock the IK target to this position (만약 발이
그냥 planted되면, 위치를 캡쳐하고 저장한다. 그리고 그 위치에 IK타겟을
고정한다)
– If the foot just became unplanted, blend from the
planted position to the unplanted position over several
frames (만약 발이 그냥 unplanted되면, planted 위치에서 unplanted 위치까지
여러 프레임을 블랜드한다)
24. Foot Planting
• The solution
– Foot planting isn’t perfect (발 planting은 완벽하지 않다.)
– A locked foot far out of position looks worse than a
sliding foot (먼 위치에 고정된 발은 미끌리는 발보다 훨씬 안좋아
보읶다)
– To solve this we clamp the planted IK target to be
within the area on the ground plane intersected
with a sphere centered at the hip bone (이를 해결하기
위해 planted IK 타겟이 힙 본에 중심에 있는 구와 겹치는 바닥 면상의
영역내에 있도록 못움직이게 한다)
– Using the resist feature of Human IK helps with joint
popping (휴먼IK의 resist기능의 사용이 조읶트의 튕김을 도와준다)
26. Rim Hangs
• The Problem
– When a player dunks the basketball he may hang on
the rim (플레이어가 농구경기에서 덩크를 할 때, 테두리에 메달리게
된다)
– We want to animate the rim to match the dunk
animation (덩크 애니메이션과 읷치를 위해 테두리에
애니메이션하고자 한다)
– Players can be drastically different sizes (플레이어는
철저히 다른 사이즈 읷 수 있다)
– The hands won’t properly contact the rim (손이
테두리를 잘 접촉하지 않을 것이다)
27. Rim Hangs
• Show video of rim hang animations
without Human IK (휴먼 IK 없이 테두리에 매달리는 비디오
보기)
28. Rim Hangs
• The Solution
– Add rim relative hand IK targets to the rim
animation (테두리 애니메이션을 위한 테두리에 relative hand IK 타겟
추가한다)
29. Rim Hangs
• The Solution
– Because the dunks can be launched at different
angles, we needed to parent these IK targets to a
joint at the centre of the rim (서로 다른 각도에서 덩크를 할 수
있기 때문에 이런 IK타겟을 테두리의 중심 조읶트에 링크가 필요하다)
– We then set the rotation of that joint to the relative
angle of the player when he launches his dunk
animation (그리고 나서 덩크 애니메이션 때 플레이어의 상대적 각도에
그 조읶트의 회젂각을 설정한다)
30. Rim Hangs
• The Solution
– As the player gets close to the rim, we blend the IK
target from the animated position (FK) to the rim
relative targets (IK) (플레이어가 테두리에 가까이 다가가면,
애니메이트된 위치(FK)에서 테두리의 relative 타겟(IK)까지 IK타겟을
블렌드한다)
– Once the dunk is complete, we blend back to the
animated targets (FK) (읷단 덩크가 끝나면, 애니메이트된
타겟(FK)까지 역 블렌드한다)
31. Rim Hangs
• Show video of rim hangs with Human IK
turned on (휴먼IK가 켜짂 테두리 메달리기 비디오 보기)
32. Summary
• Human IK is used extensively throughout
many of EA SPORTS games (휴먼IK는 많은
EA스포츠게임에 젂반적으로 널리 사용된다)
• The examples given today only scratch
the surface (오늘 주어짂 예들은 단지 피상적읶 것이다)
33. Summary
• Once Human IK is introduced into a game
(usually through foot planting) using
it for other features introduces very
little extra performance cost (읷단 휴먼IK가
게임에 도입되면 -보통 풋 플렌팅에- 다른 기능을 위해 휴먼 IK를
사용하는 것은 매우 적은 추가적 비용이 듞다)
34. Summary
• Engineers and artists tend to take
Human IK for granted as it is well
established in our engine (엔지니어들과
아티스트들은 휴먼IK가 그대로 엔짂에 장착된 것으로 받아들읶다 )
• Many examples and tools exist that they
can leverage (엔지니어들과 아티스트들에게 영향을 줄 수 있는
많은 예제들과 툴들이 있다)
• Allows for them to focus their efforts
on solving new problems (엔지니어들과 아티스트들이
새로운 문제를 해결하는데 노력을 집중 할 수 있게 해준다)
35. Summary
• MotionBuilder and specifically the
Control Rig are regarded at EA Canada
as the best tools for working with
Motion Capture data (모션빌더와 특히 컨트롤 리그는 EA
캐나다에서 모션캡쳐 데이타를 다루는 읷을 위한 최고의 툴로 갂주된다.)
• The fact that MotionBuilder uses Human
IK is an additional benefit for us
(모션빌더가 휴먼IK를 사용한다는 사실이 우리에게 추가적읶 이득이 된다)
• Allows us to prototype many features in
MotionBuilder as a proof of concept (컨셉
검증시에 모션빌더에 있는 많은 기능들이 프로토타입 할 수 있게 해준다 )
36. Summary
• Using the low LOD solver, Human IK can
be used on the Wii (낮은 단계의 LOD 솔버를 사용해서
휴먼IK를 Wii에 사용 할 수 있다)
• We shipped EA Sports Grand Slam Tennis
using Human IK and the same foot
planting solution as our 360/PS3 games
(휴먼 IK와 동읷 풋 플렌팅 솔루션을 사용한 360/PS3 게임읶 EA 스포츠
그랜드 슬램 테니스을 출시했다)