강연자 소개박민근           (@agebreak)네오위즈 게임즈 (야구의 신 개발중)NTL-inc - 드래곤볼 온라인 개발엔씨소프트 – PlayNC 빌링 서버 개발(http://agebreak.blog.me)(c...
Diablo 3 Ragdolls     How to smack a demon             Erin Catto
I wanted to give Diablo the mostawesome ragdolls ever!
Ragdolls in 3 steps      1. Content pipeline      2. Animation pipeline      3. Tuning
We need a content pipeline to authorand tune ragdolls        Artist Tool   Game Editor
A ragdoll is a collection of collisionshapes connected to bones
Physics joints connect two bones   Cone Joint                     Revolute JointSpherical Joint                       Weld...
The ragdoll data is exported with themodel       Maya      export        Intermediate File              (Maya Plug-in)
Ragdoll data is imported by the gameeditor (called Axe)    Intermediate File         cook          Run-time File          ...
Bones are sorted in parent-child order  struct   Bone  {     int   parent;     int   child;     int   sibling;  };  #defin...
Here’s how we compute model spacebone transforms// MS: model space// PS: parent spacefor (int i = 0; i < boneCount; ++i){ ...
Bones with bodies are active, the rest are leaf or intermediate bones#define LEAF (-1)#define INTERMEDIATE (-2)int boneToB...
Building the bone to body map
Ragdolls are tested and tuned inthe Axe game editor
The model viewer has a mousejoint
Parameters and collision flags canbe tuned
Animation triggers create ragdollevents
Ragdolls are a form of proceduralanimation                              Ragdolls      Interpolation                       ...
We use the ragdoll bodies to adjustthe posemodel space keyed animation   world space ragdoll
Leaf bones retain their relative posekeyed animation               ragdoll
Intermediate bones go to the bindposeB in bind pose               B in animated pose                              stretch...
Update the actor bounding sphereusing the bone transformsactor transform
Ragdolls are spawned with care
Spawning in-place causes joints tostretch
Obtain the initial velocity fromtwo world-space bone poses                            𝑝2 − 𝑝1                         𝑣=  ...
Help, my foot is stuck in the floor!
Using sequential ray casts to getunstuck
Tune your ragdolls to improve quality
Don’t support heavy bodies with smallbodies                        failure point
Don’t overlap siblings                         ackkk!                           ouch!
Avoid long skinny bodies
Ragdoll effects add variety
Explosions are physically motivated                      radial                      linear
Explosions account for distance andfacing
Gibbing never gets old
Partial ragdolls add flavor to livingcharacters
Partial ragdolls are stabilized withpartial teleportation                                                          2 parti...
풀버전 PT 들은 제 블로그에 올라와 있습니다.      (agebreak.blog.me)
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들
Upcoming SlideShare
Loading in...5
×

[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들

1,110

Published on

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,110
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

[Gdc12] 언차티드3, 배틀필드3의 그래픽과 디아블로 3의 물리를 만들어낸 테크닉들

  1. 1. 강연자 소개박민근 (@agebreak)네오위즈 게임즈 (야구의 신 개발중)NTL-inc - 드래곤볼 온라인 개발엔씨소프트 – PlayNC 빌링 서버 개발(http://agebreak.blog.me)(cafe.naver.com/devrookie)
  2. 2. Diablo 3 Ragdolls How to smack a demon Erin Catto
  3. 3. I wanted to give Diablo the mostawesome ragdolls ever!
  4. 4. Ragdolls in 3 steps 1. Content pipeline 2. Animation pipeline 3. Tuning
  5. 5. We need a content pipeline to authorand tune ragdolls Artist Tool Game Editor
  6. 6. A ragdoll is a collection of collisionshapes connected to bones
  7. 7. Physics joints connect two bones Cone Joint Revolute JointSpherical Joint Weld Joint
  8. 8. The ragdoll data is exported with themodel Maya export Intermediate File (Maya Plug-in)
  9. 9. Ragdoll data is imported by the gameeditor (called Axe) Intermediate File cook Run-time File (Axe Game Editor)
  10. 10. Bones are sorted in parent-child order struct Bone { int parent; int child; int sibling; }; #define NULL_BONE (-1)
  11. 11. Here’s how we compute model spacebone transforms// MS: model space// PS: parent spacefor (int i = 0; i < boneCount; ++i){ int parent = bones[i].parent; if (parent != NULL_BONE) transformMS[i] = transformMS[parent] * transformPS[i]; else transformMS[i] = transformPS[i];}
  12. 12. Bones with bodies are active, the rest are leaf or intermediate bones#define LEAF (-1)#define INTERMEDIATE (-2)int boneToBodyMap[BONE_COUNT];
  13. 13. Building the bone to body map
  14. 14. Ragdolls are tested and tuned inthe Axe game editor
  15. 15. The model viewer has a mousejoint
  16. 16. Parameters and collision flags canbe tuned
  17. 17. Animation triggers create ragdollevents
  18. 18. Ragdolls are a form of proceduralanimation Ragdolls Interpolation Inverse Cloth Blending Kinematics Parent Space World Space
  19. 19. We use the ragdoll bodies to adjustthe posemodel space keyed animation world space ragdoll
  20. 20. Leaf bones retain their relative posekeyed animation ragdoll
  21. 21. Intermediate bones go to the bindposeB in bind pose B in animated pose  stretching |A-C| = constant
  22. 22. Update the actor bounding sphereusing the bone transformsactor transform
  23. 23. Ragdolls are spawned with care
  24. 24. Spawning in-place causes joints tostretch
  25. 25. Obtain the initial velocity fromtwo world-space bone poses 𝑝2 − 𝑝1 𝑣= ∆𝑡 2 𝑞2 − 𝑞1 𝑞1 𝜔= ∆𝑡 check the polarity!!!
  26. 26. Help, my foot is stuck in the floor!
  27. 27. Using sequential ray casts to getunstuck
  28. 28. Tune your ragdolls to improve quality
  29. 29. Don’t support heavy bodies with smallbodies failure point
  30. 30. Don’t overlap siblings ackkk! ouch!
  31. 31. Avoid long skinny bodies
  32. 32. Ragdoll effects add variety
  33. 33. Explosions are physically motivated radial linear
  34. 34. Explosions account for distance andfacing
  35. 35. Gibbing never gets old
  36. 36. Partial ragdolls add flavor to livingcharacters
  37. 37. Partial ragdolls are stabilized withpartial teleportation 2 partial transform: 𝑥1𝑎 = 𝑥1 + 𝛼 𝑥2 − 𝑥1 1a 𝑣 𝑥2 − 𝑥1𝑎 velocity command: 𝑣= ∆𝑡 1 𝛼
  38. 38. 풀버전 PT 들은 제 블로그에 올라와 있습니다. (agebreak.blog.me)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×