SlideShare uma empresa Scribd logo
1 de 37
EA SPORTS and Human IK
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에 참여)
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
The Animation Pipeline

• Motion capture data is solved and then
  retargeted to the game team skeleton
  using MotionBuilder (모션캡쳐데이타를 모션빌더를 써서
 뼈대에 리타겟팅 한다)




   Motion      Motion
                         ANT     Game
   Capture     Builder
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
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
The Animation Pipeline

• Animators, Engineers and Designers
  iterate on content inside ANT (애니메이터,
 엔지니어 및 디자이너들이 ANT안에서 컨텐츠를 반복 작업한다)




   Motion      Motion
                         ANT      Game
   Capture     Builder
The Animation Pipeline

• Data is exported from ANT into a
  runtime ready format for the game ( 게임을
 위해 데이타를 다시 ANT에서 런타임 준비 포멧으로 익스포트한다)




   Motion      Motion
                         ANT      Game
   Capture     Builder
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
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내에서 플레이해 볼 수 있다.)
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의 플러그읶이라는
 것이다)
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
ANT

• The data associated with the Human IK
  rig op exposes underlying properties
 (휴먼IK리그 오퍼레이션과 연관된 데이타 하단에 특성이 나타난다)
Character Skeleton and Rig


 • Core skeleton
   shared
   amongst all
   sports games
   (모듞 스포츠 게임갂에
   핵심 뼈대 공유한다)

 • Additional
   helper bones
   (e.g. IK
   targets)
   added on top
Character Skeleton and Rig


 • Trajectory
   bone at the
   root marks
   the position
   of the player
   (루트에 있는 궤도본은
   플레이어의 위치를
   표시한다.)
Character Skeleton and Rig


 • Trajectory
   relative IK
   targets for
   the feet (발을
   위한 궤도 relative IK
   타겟)

 • Hip relative
   hand targets
   (힙 relative 손 타겟)

 • Hand relative
   ball targets
   (손 relative 볼 타겟)
Human IK in NBA Elite 11

• Foot Planting (풋 플렌팅)
• Rim Hangs (테두리 매달리기)
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 (궤도 본 회젂하기)
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 (우리는 애니메이션이 더
    자연스러워 보이게 하기 위해 발 디딤이 유지되기를 원한다)
Foot Planting

• Show video of sliding feet   (풋 슬라이딩 비디오
  보기)
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 (어떤
    경우들은 나아보이는 블렌드를 제공한다)
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 (블랜드와 같은 방법으로 데이타를 읶코드한다)
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 위치까지
    여러 프레임을 블랜드한다)
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기능의 사용이 조읶트의 튕김을 도와준다)
Foot Planting

• Show video with foot planting turned on
  (풋 플렌팅이 켜짂 비디오 보기)
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 (손이
    테두리를 잘 접촉하지 않을 것이다)
Rim Hangs
• Show video of rim hang animations
  without Human IK (휴먼 IK 없이 테두리에 매달리는 비디오
 보기)
Rim Hangs

• The Solution
  – Add rim relative hand IK targets to the rim
    animation (테두리 애니메이션을 위한 테두리에 relative hand IK 타겟
   추가한다)
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 (그리고 나서 덩크 애니메이션 때 플레이어의 상대적 각도에
    그 조읶트의 회젂각을 설정한다)
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)까지 역 블렌드한다)
Rim Hangs

• Show video of rim hangs with Human IK
  turned on (휴먼IK가 켜짂 테두리 메달리기 비디오 보기)
Summary

• Human IK is used extensively throughout
  many of EA SPORTS games (휴먼IK는 많은
 EA스포츠게임에 젂반적으로 널리 사용된다)

• The examples given today only scratch
  the surface (오늘 주어짂 예들은 단지 피상적읶 것이다)
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를
 사용하는 것은 매우 적은 추가적 비용이 듞다)
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 (엔지니어들과 아티스트들이
 새로운 문제를 해결하는데 노력을 집중 할 수 있게 해준다)
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 (컨셉
 검증시에 모션빌더에 있는 많은 기능들이 프로토타입 할 수 있게 해준다 )
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 스포츠
 그랜드 슬램 테니스을 출시했다)
Questions?

Mais conteúdo relacionado

Semelhante a 오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례

역동적인 애니메이션 Ik
역동적인 애니메이션 Ik역동적인 애니메이션 Ik
역동적인 애니메이션 IkKyeongWon Koo
 
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발MinGeun Park
 
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
레퍼런스만 알면 언리얼 엔진이 제대로 보인다레퍼런스만 알면 언리얼 엔진이 제대로 보인다
레퍼런스만 알면 언리얼 엔진이 제대로 보인다Lee Dustin
 
애자일 개발을 이용한 게임 기획 (Game Design In Agile Development) [GDC 2007]
애자일 개발을 이용한 게임 기획 (Game Design In Agile Development) [GDC 2007]애자일 개발을 이용한 게임 기획 (Game Design In Agile Development) [GDC 2007]
애자일 개발을 이용한 게임 기획 (Game Design In Agile Development) [GDC 2007]Kay Kim
 
Unity 3d study #1
Unity 3d study #1Unity 3d study #1
Unity 3d study #1Hyunwoo Kim
 
KGC2010 김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템
KGC2010   김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템KGC2010   김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템
KGC2010 김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템Jubok Kim
 
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터][NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]SeungWon Lee
 
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리강 민우
 

Semelhante a 오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례 (9)

역동적인 애니메이션 Ik
역동적인 애니메이션 Ik역동적인 애니메이션 Ik
역동적인 애니메이션 Ik
 
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
 
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
레퍼런스만 알면 언리얼 엔진이 제대로 보인다레퍼런스만 알면 언리얼 엔진이 제대로 보인다
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
 
애자일 개발을 이용한 게임 기획 (Game Design In Agile Development) [GDC 2007]
애자일 개발을 이용한 게임 기획 (Game Design In Agile Development) [GDC 2007]애자일 개발을 이용한 게임 기획 (Game Design In Agile Development) [GDC 2007]
애자일 개발을 이용한 게임 기획 (Game Design In Agile Development) [GDC 2007]
 
Unity 3d study #1
Unity 3d study #1Unity 3d study #1
Unity 3d study #1
 
Stencyl works
Stencyl worksStencyl works
Stencyl works
 
KGC2010 김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템
KGC2010   김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템KGC2010   김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템
KGC2010 김주복, 김충효 - M2 프로젝트의 절차적 리깅 시스템
 
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터][NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
 
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
 

Mais de drandom

김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술drandom
 
Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속drandom
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기drandom
 
Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2drandom
 
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemLandscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemdrandom
 
MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일drandom
 
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" DemoThe Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demodrandom
 
Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3drandom
 
Lighting you up in Battlefield 3
Lighting you up in Battlefield 3Lighting you up in Battlefield 3
Lighting you up in Battlefield 3drandom
 
From Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris WellsFrom Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris Wellsdrandom
 

Mais de drandom (10)

김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
김항기 시나리오 기반 온라인 게임 서버 부하 테스트 기술
 
Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속Mmorpg 사례로 본 만족도와 재접속
Mmorpg 사례로 본 만족도와 재접속
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 
Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2
 
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain systemLandscape 구축, Unreal Engine 3 의 차세대 terrain system
Landscape 구축, Unreal Engine 3 의 차세대 terrain system
 
MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일
 
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" DemoThe Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
The Technology Behind the DirectX 11 Unreal Engine"Samaritan" Demo
 
Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3Gdc2011 direct x 11 rendering in battlefield 3
Gdc2011 direct x 11 rendering in battlefield 3
 
Lighting you up in Battlefield 3
Lighting you up in Battlefield 3Lighting you up in Battlefield 3
Lighting you up in Battlefield 3
 
From Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris WellsFrom Content for Next Generation Games by Chris Wells
From Content for Next Generation Games by Chris Wells
 

오토데스크 게임 수퍼유저투어 part1.human ik 및 motionbuilder를 이용한 ea sports game 제작사례

  • 1. EA SPORTS and Human IK
  • 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 (우리는 애니메이션이 더 자연스러워 보이게 하기 위해 발 디딤이 유지되기를 원한다)
  • 20. Foot Planting • Show video of sliding feet (풋 슬라이딩 비디오 보기)
  • 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기능의 사용이 조읶트의 튕김을 도와준다)
  • 25. Foot Planting • Show video with foot planting turned on (풋 플렌팅이 켜짂 비디오 보기)
  • 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 스포츠 그랜드 슬램 테니스을 출시했다)