HavokDemo¿¡¼ ij¸¯ÅÍ Á¦¾î
ÇϺ¹¿¡¼ ij¸¯Å͸¦ Á¦¾î ÇÏ´Â hkpCharacterRigidBody¿Í hkpCharacterProxy 2°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. ÀÌµé ¹æ¹ýÀÇ Àå´ÜÁ¡À» ¾Ë¾Æº¸°í ÀÚ¼¼ÇÑ »ç¿ë¹ý¿¡ ´ëÇؼ ¼³¸íÇÑ´Ù. < hkpCharacterRigidBody > ij¸¯Å͸¦ Á¦¾îÇϱâ À§ÇÑ »õ·Î¿î ¹æ¹ýÀÌ´Ù. ½Ã¹Ä·¹À̼ǽà ´õ ³ôÀº ÆÛÆ÷¸Õ½º¿Í ¼Õ½Ç¾ø´Â ½Ã¹Ä·¹ÀÌ¼Ç Ä÷¸®Æ¼¸¦ Á¦°øÇÑ´Ù. ÀåÁ¡: 1. hkRidgidBody¿Í °°ÀÌ ¿ùµå¸¦ ½Ã¹Ä·¹ÀÌ¼Ç ÇÒ¶§, ¹°¸®ÀûÀ¸·Î ¿òÁ÷ÀδÙ. ¸ÖƼ¾²·¹µå¿¡µµ È¿°úÀûÀÌ´Ù.±×·¡¼, hkhkpCharacterRigidBody´Â hkpCharacterProxy º¸´Ù ´õ ÁÁÀº ÆÛÆ÷¸Õ½º¸¦ Á¦°øÇÑ´Ù.( °³ÀÎÀûÀ¸·Î Å×½ºÆ® ÇÒ¶§, 10¹è ÀÌ»óÀÇ ÇÁ·¹ÀÓ Â÷ÀÌ°¡ ÀÖ¾ú´Ù. ) 2. hkhkpCharacterRigidBody´Â ¿ùµå ½Ã¹Ä·¹À̼ÇÀ» ÇÒ¶§, µ¿½Ã¿¡ Ãæµ¹ ½Ã¹Ä·¹À̼ÇÀ» Çϸé, Á¤È®ÇÏ°Ô Ãæµ¹À» Á¦¾îÇÑ´Ù. 3. ij¸¯ÅÍ Ãæµ¹Àº Ç¥ÁØ hkpContactListener ÀÎÅÍÆäÀ̽º¸¦ ÄݹéÇÑ´Ù. hkRidgidBody³ª ¿ùµåó·³ Àû¿ëµÈ´Ù.
´ÜÁ¡: 1. hkhkpCharacterRigidBody´Â ¹°¸® ½Ã¹Ä·¹ÀÌ¼Ç ¾÷µ¥ÀÌÆ® Áֱ⿡ ¸ÂÃç¼ ¾÷µ¥ÀÌÆ®°¡ ÇÊ¿äÇÏ´Ù. ÇÏÁö¸¸ ½ÇÁ¦ °ÔÀÓ¿¡¼´Â ·ÎÁ÷, ³×Æ®¿÷, Ai, ¾Ö´Ï¸ÞÀ̼ǰú µ¿±âÈ µÇ¼ ¾÷µ¥ÀÌÆ®°¡ ÇÊ¿äÇÏ´Ù. ÇÊ¿ä ÇÒ ¶§ ¾÷µ¥ÀÌÆ® µÇ´Â °ÍÀÌ ¾Æ´Ï¶ó ·çÇÁ¿¡¼ ÁÖ±âÀûÀ¸·Î ¾÷µ¥ÀÌÆ® µÇ±â ¶§¹®¿¡ ·ÎÁ÷°ú µ¿±âÈ ½ÃÅ°´Â °ÍÀÌ Èûµé´Ù. < hkpCharacterProxy > ÀåÁ¡: 1. ¸ðµç Ç÷§Æû¿¡¼ ¿À·§µ¿¾È »ç¿ëµÇ¾î¿Â ½Ã½ºÅÛÀÌ´Ù. 2. ÁÖ±âÀûÀÎ ¿ùµå ¾÷µ¥ÀÌÆ®¿Í´Â »ó°ü¾øÀÌ ·ÎÁ÷, Ç÷¹À̾îÀÇ ÀÔ·Â, AI¿¡ µû¶ó Á÷Á¢ À§Ä¡³ª ¼Óµµ¸¦ ¾òÀ»¼ö ÀÖ´Ù.
´ÜÁ¡: 1. ¸ÖƼ¾²·¹µå¸¦ ÀÌ¿ëÇϱâ Èûµé¸ç, hkpCharacterRigidBodyº¸´Ù ÆÛÆ÷¸Õ½º°¡ ´À¸®´Ù.
Âü°í·Î Áö±¸ÀÇ Áß·ÂÀº 9.8kgÀÌ´Ù. hkpWorldCinfo¿¡ °ªÀ» ´ëÀÔÇÒ ¶§ -9.5KgÀÌ´Ù. hkpCharacterRigidBodyÀÇ ÃÖ´ë ¼Óµµ Á¦ÇÑÀ» Ç®±â À§Çؼ´Â ¾Æ·¡ ¼¼°¡Áö¸¦ ¼ÂÆÃÇÑ´Ù. 1) ÁöÇü»óÅ¿¡¼ ¼Óµµ ¼³Á¤ 2) hkpCharacterRigidBodyCinfoÀÇ m_maxLinearVelocity °ª ¼³Á¤ 3) characterContextÀÇ ¼Óµµ ¼³Á¤ hkpCharacterRigidBody¿Í hkpCharacterProxy¿¡¼ ¶¥¿¡ ´ê¾Ò´ÂÁö È®ÀÎÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù. < hkpCharacterRigidBody¿¡¼ ¶¥¿¡ ´ê¾Ò´ÂÁö È®ÀÎÇÏ´Â ¹æ¹ý >
hkpCharacterRigidBody::checkSupport( )ÀÇ µÎ ¹ø° ÀÎÀÚ hkpSurfaceInfo·Î ÀÌÀü ´Ü°èÀÇ »óŸ¦ ¾ò¾î¿Â´Ù. UNSUPPORTED °øÁß¿¡ ÀÖ´Â »óÅ hkpSurfaceInfo´Â ÀÌ¿Ü¿¡µµ ÁöÇ¥¸éÀÇ ³ë¸Ö°ª, ÁöÇ¥¸éÀÇ Æò±Õ¼Óµµ ( m_surfaceNormal , m_surfaceVelocity )ÀÇ Á¤º¸µµ ¾Ë¼ö ÀÖ´Ù. < hkpCharacterProxy¿¡¼ ¶¥¿¡ ´ê¾Ò´ÂÁö È®ÀÎÇÏ´Â ¹æ¹ý >
< ij¸¯Å͸¦ Á¦¾î ÇÏ´Â ¹æ¹ý > ¾ÕÀå¿¡¼ À߸øÇÑ °ÍÀº setLinearAccelerationToMassModifier( )´Â m_characterContext->update( xInput, output ) ÀÌÈÄ¿¡ ½ÇÇàÇÑ´Ù. ¿ùµå ÁÂÇ¥°è°¡ Z-UPÀ϶§ forward´Â m_forward.set( 0.0f, -1.0f, 0.0f )¿Í °°ÀÌ ¼ÂÆÃÇÑ´Ù.
IsSupported( )´Â ÇöÀç À§Ä¡°¡ ¶¥¿¡ ÀÖ´ÂÁö üũÇÏ´Â °ÍÀÌ´Ù. IsSupported( )°¡ trueÀ̸é ÇöÀç À§Ä¡¿¡ ¹Ù´Ú¿¡ ÀÖ°í, falseÀÌ¸é °øÁß¿¡ ÀÖ´Â »óÅÂÀ̹ǷΠZÃà ¼Óµµ¸¦ -5·Î ¼ÂÆÃÇÑ´Ù. < hkpCharacterRigidBody¿¡¼ ÃÖ´ë ¼Óµµ ¼³Á¤ > hkpCharacterRigidBody::setLinearVelocity( )¿¡¼ ¼Óµµ¸¦ ¿Ã·Áµµ ¿øÇÏ´Â ¼Óµµ°¡ ³ª¿ÀÁö ¾Ê´Â´Ù¸é ´ÙÀ½ÀÇ 2°¡Áö¸¦ üũÇ϶ó.( m_maxLinearVelocity, setFilterParameters( ) )
ÇÁ·ÎÁ§Æ® : HavokTest.zip ¸®¼Ò½º : MyTest.zip
|