Contents:
- 1 3D Character Animation ÀÇ ÀÌÇØ
- 2 °ü·Ã¼Àû
- 3 Áֿ丵ũ
- 4 °ü·Ã ÀÚ·á
- 5 Animation File Formats
- 5.1 MD2
- 5.2 MD3
- 5.3 SMD
- 5.3.1 SMD ó¸® °úÁ¤ ( Model µ¥ÀÌŸ Àбâ )
- 5.3.2 ȸÀü°¢À» Direct3D Çà·Ä·Î º¯È¯Çϱâ
- 5.4 ASE ( AScii Export )
- 5.5 X File
- 5.6 Inverse Kinematics (IK) ¿Í Forward Kinematics (FK)
- 6 Vertex Animation
- 7 ´Ù¿î·Îµå
- 7.1 SDK
- 8 °ü·Ã¸µÅ©
1 3D Character Animation ÀÇ ÀÌÇØ #
- Vertex Animation ( Á¤Á¡ ¾Ö´Ï¸ÞÀÌ¼Ç )
- Bone Based Animation ( Skeletal Animation, »À´ë ¾Ö´Ï¸ÞÀÌ¼Ç )
- Skinned Bone Animation
- Inverse Kinematics ( IK : ¿ª¿îµ¿ÇÐ )
2 °ü·Ã¼Àû #
- 3D ij¸¯ÅÍ ¾Ö´Ï¸ÞÀÌ¼Ç ÇÁ·Î±×·¡¹Ö
- µ¥À̺ø Æú Àú, ÃÖÁöÈ£.Á¶Á¾±Ù °ø¿ª, Á¤º¸¹®È»ç
- °ÔÀÓ ÇÁ·Î±×·¡¸Ó¿¡°Ô ¹è¿ì´Â °ÔÀÓ °³¹ß Å×Å©´Ð
- °¿ë.±èº´Ã¶.±è¼º¼ö.±è¼º¿Ï.¹®±â¿µ.À̸¸Èñ.À̼±Áø.Àå¿ø¼®.Á¶¿µºÀ.ÃÖ¾È½Ä °øÀú, Á¤º¸¹®È»ç
- IT EXPERT - 3D °ÔÀÓ ÇÁ·Î±×·¡¹Ö
- OpenGL Game Programming
- Kevin Hawkins.Dave Astle °øÀú, ·ù±¤ ¿ª, Á¤º¸¹®È»ç
3 Áֿ丵ũ #
- Quake Model ÆÄÀÏ
Hugues Hoppe ÀÇ È¨ÆäÀÌÁö
- Computer Graphics Group of Microsoft Research ÀÇ ¿¬±¸¿ø
- Mesh °ü·Ã ³í¹®À» ãÀ» ¼ö ÀÖ´Â °÷, Video ·Î ¼³¸íÇÑ ³í¹®µµ ÀÖÀ½
4 °ü·Ã ÀÚ·á #
5 Animation File Formats #
Vertex Animation ÀÇ °¡Àå ´ëÇ¥ÀûÀÎ ¸ðµ¨·Î Quake ½Ã¸®Áî¿¡¼ »ç¿ëµÈ Çü½ÄÀÌ´Ù. ±× Áß¿¡¼ Quake 2 ¿¡¼ »ç¿ëµÇ´Â ÆÄÀÏ Çü½ÄÀ¸·Î °¢ ÇÁ·¹ÀÓ ¸¶´Ù °¢ Á¤Á¡ÀÇ ÁÂÇ¥¸¦ °®°í ÀÖ´Ù. µû¶ó¼ ´Ü¼øÈ÷ °¢ ÇÁ·¹ÀÓ°£ÀÇ ¼±Çü º¸°£À¸·Î ¼Õ½±°Ô ¾Ö´Ï¸ÞÀ̼ÇÀÌ °¡´ÉÇÏ´Ù.
MD3 ¿ª½Ã Quake ½Ã¸®Áî¿¡ »ç¿ëµÈ Çü½ÄÀ¸·Î Quake 3 ¿¡¼ »ç¿ëµÇ¾ú´Ù. ¾Ö´Ï¸ÞÀ̼ÇÀº MD2 ¿Í´Â ´Þ¸® Bone Based Animation À» »ç¿ëÇϸç Mesh ¶ÇÇÑ 1 °³·Î ±¸¼ºµÈ MD2 ¿Í ´Þ¸® 3 ºÎºÐ ( Head, Lower, Upper ) À¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
- °¢ µ¥ÀÌŸÀÇ »ç¿ëµÇ°í ÀÖ´Â ÃÖ´ë °¹¼ö
| µ¥ÀÌŸ | °³¼ö |
| Node ( Bone ) | 256 |
| Frame ( Animation ) | 256 |
| Triangle | 3500 |
| Vertex | Triangle * 3 |
| Mesh | 32 |
| Mesh ´ç Vertex | 1600 |
- SMD File Format
- Animation ( Local Ani = Parent TM ÀÇ ´©Àû ÇÊ¿ä )
5.3.1 SMD ó¸® °úÁ¤ ( Model µ¥ÀÌŸ Àбâ ) #
SMD ÀÇ Model µ¥ÀÌŸ ( Á¤Á¡ ) ´Â ASE ¿Í µ¿ÀÏÇÏ°Ô World ÁÂÇ¥·Î µÇ¾î ÀÖ´Ù. µû¶ó¼ ¾Ö´Ï¸ÞÀ̼ÇÀ» À§Çؼ °¢ Á¤Á¡ µ¥ÀÌŸ¸¦ Local ÁÂÇ¥¸¦ º¯È¯ÇÏ´Â °úÁ¤ÀÌ ÇÊ¿äÇÏ´Ù.
- Nodes µ¥ÀÌŸ¸¦ Àд´٠( Bone µ¥ÀÌŸÀÇ °èÃþ±¸Á¶¸¦ Àд °úÁ¤ )
- Bone ( Skeleton ) µ¥ÀÌŸ¸¦ Àд´٠( °¢ Bone ÀÇ À§Ä¡¿Í ȸÀü°¢À» Àд °úÁ¤ )
- Vertex ( Triangles ) µ¥ÀÌŸ¸¦ Local ÁÂÇ¥·Î º¯È¯Çϱâ À§ÇÑ Bone µ¥ÀÌŸÀÇ Ã³¸®¸¦ ¼öÇàÇÑ´Ù.
- Matrix = Parent->Matrix * Current->Matrix
( ´Ü, Parent = -1 ÀÏ °æ¿ì Matrix = Current->Matrix )
- Inverse( Matrix ) = Inverse( Current->Matrix ) * Inverse( Parent->Matrix )
( ´Ü, Parent = -1 ÀÏ °æ¿ì Inverse( Matrix ) = Inverse( Current->Matrix ) )
- Pos = ( Current->Pos * Parent->Matrix ) + Parent->Pos
( ´Ü, Parent = -1 ÀÏ °æ¿ì Pos = Current->Pos )
- Vertex µ¥ÀÌŸ¸¦ ÀÐ¾î µéÀÌ¸é¼ °¢ Bone ÀÇ ¿ªÇà·ÄÀ» °öÇÏ¿© Local ÁÂÇ¥·Î º¯È¯ÇÑ´Ù.
- Pos = ( Current->Pos - Bone->Pos ) * Bone->Inverse( Matrix )
- Normal = Normalize( Normal * Bone->Inverse( Matrix ) )
5.3.2 ȸÀü°¢À» Direct3D Çà·Ä·Î º¯È¯Çϱâ #
- Matrix = Yaw * Roll * Pitch
- ȸÀüÃà : Yaw = YÃà, Roll = Z Ãà, Pitch = X Ãà
5.4 ASE ( AScii Export ) #
5.6 Inverse Kinematics (IK) ¿Í Forward Kinematics (FK) #
¿©·¯ °³ÀÇ ¿ÀºêÁ§Æ®°¡ °èÃþ±¸Á¶¿¡ ÀÇÇØ ¿¬°áµÈ ¸ðµ¨(hierarchical model)À» ¾Ö´Ï¸ÞÀÌ¼Ç ÇÒ ¶§, ±â°èÀûÀÎ ¹°Ã¼ÀÇ ºñ±³Àû ´Ü¼øÇÑ ¿òÁ÷ÀÓÀ̶ó¸é ´Ù¸¥ ÀϹÝÀûÀÎ ¾Ö´Ï¸ÞÀ̼ǿ¡¼ ¿ÀºêÁ§Æ®ÀÇ À§Ä¡¸¦ Á¶Á¤ÇϵíÀÌ ¿òÁ÷ÀÓÀÇ ½ÃÀÛÁ¡ÀÌ µÇ´Â root·ÎºÎÅÍ ÇÑ ´Ü°è¾¿ parents¿¡¼ childrenÀ¸·Î ³»·Á¿À¸é¼ °¢°¢ÀÇ ¿ÀºêÁ§Æ®¸¦ ¼öµ¿À¸·Î Á¶Àý ÇÒ ¼ö ÀÖ´Ù. À̰ÍÀ» Áö±Ý ¼³¸íÇÒ inverse kinematics¿¡ ´ëºñÇØ¼ forward kinematics¶ó°í ÇÑ´Ù. ÇÏÁö¸¸ »ç¶÷ÀÇ °üÀý ¿òÁ÷ÀÓÀ̳ª µ¿¹°ÀÇ ¿òÁ÷ÀÓÀ» ¾Ö´Ï¸ÞÀÌ¼Ç ÇϰíÀÚÇÒ ¶§ ÀÏÀÏÀÌ °¢ ¸µÅ© ¿ÀºêÁ§Æ®µéÀÇ À§Ä¡¸¦ ¼öÁ¤ÇÏ´Â °ÍÀº ´ë´ÜÈ÷ ¹ø°Å·Î¿î ÀÛ¾÷ÀÌ µÉ »Ó¸¸ ¾Æ´Ï¶ó Á÷°üÀûÀÌÁö ¾ÊÀº ¸¸Å ÀÚ¿¬½º·¯¿î ¿òÁ÷ÀÓÀ» Ç¥ÇöÇϱ⵵ ¾î·Æ´Ù. ÀÌ·¯ÇÑ ¹ø°Å·Î¿òÀ» ÇØ°áÇϱâ À§ÇÑ ¹æ½ÄÀ¸·Î °èÃþ±¸Á¶(hierarchy) ¸»´ÜÀÇ ÃÖÇÏÀ§ ¿ÀºêÁ§Æ®ÀÎ effectorÀÇ À§Ä¡¸¦ Á¶Á¤ÇÔÀ¸·Î½á ÃÖ»óÀ§ °íÁ¤Á¡ÀÎ root±îÁö ¿¬°áµÈ ¸µÅ© ¿ÀºêÁ§Æ®µéÀÇ À§Ä¡¿¡ ¿ª¹æÇâÀ¸·Î ¿µÇâÀ» ¹ÌÄ¡µµ·Ï ÇÏ´Â ¹æ½ÄÀÌ °³¹ßµÇ¾ú´Âµ¥ À̰ÍÀ» inverse kinematics¶ó°í ÇÑ´Ù. ¿¹¸¦ µé¾î ¸¶ÁÖ ¼ ÀÖ´Â µÎ »ç¶÷ÀÌ ¼·Î ¾Ç¼öÇÏ´Â Àå¸éÀ» ¾Ö´Ï¸ÞÀÌ¼Ç ÇØ¾ßÇÑ´Ù¸é forward kinematics ¹æ½ÄÀ¸·Î´Â ¾î±ú¿¡¼ºÎÅÍ ¼Õ°¡¶ô±îÁö ¿¬°áµÈ °üÀýÀ» Çϳª¾¿ ÀÏÀÏÀÌ ¿òÁ÷¿© µÎ »ç¶÷ÀÇ °¡¿îµ¥ ÁöÁ¡¿¡¼ µÎ°³ÀÇ ¼Õ¹Ù´ÚÀÌ ¸¶ÁÖ ´êµµ·Ï À§Ä¡¸¦ Á¶Á¤ÇØ ÁÖ¾î¾ß ÇÏÁö¸¸ inverse kinematics¹æ½ÄÀ» »ç¿ëÇÏ¸é °¢°¢ÀÇ ¼ÕÀ» ²ø¾î´Ù ³õ±â¸¸ ÇÏ¸é »óÀ§¿¡ ¸µÅ©µÈ ÆÈ °üÀýµé±îÁö ¹Ì¸® ÁöÁ¤µÈ ¿òÁ÷ÀÓÀÇ °¢µµ°¡ Çã¿ëÇÏ´Â ¹üÀ§ ³»¿¡¼ µû¶ó ¿òÁ÷ÀÌ°Ô µÈ´Ù.
MSDN Âü°í >
IDirect3DDevice9::SetTransform ¸Þ¼µå
D3DTRANSFORMSTATETYPE::D3DTS_WORLDMATRIX ¸ÅÅ©·Î
IDirect3DDevice9::SetSoftwareVertexProcessing ¸Þ¼µå
7 ´Ù¿î·Îµå #
- MilkShape 3D ¸¦ ¸¸µç chUmbaLum sOft ¿¡¼ Á¦°øÇÏ´Â Model Viewer - ½ÇÇàÆÄÀÏ °ú ¼Ò½º ÄÚµå Á¦°ø
SubCategoryGame