hkpRigidBody Property

hkpRigidBody¿¡ °ÔÀÓ¿¡ »ç¿ëÇϱâ À§ÇÑ ¼Ó¼ºÀ» Ãß°¡ ÇÒ ¼ö ÀÖ´Ù.
Ãß°¡ ÇÒ ¼ö ÀÖ´Â ¼Ó¼ºÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀº int, 64ºñÆ® uint, float, Æ÷ÀÎÅÍÀÌ´Ù.

1. ¼Ó¼º Ãß°¡ Çϱâ

ù ¹ø° ÀÎÀÚ´Â std::mapÀÇ Å°¿Í °°Àº ¿ªÇÒÀ» Çϸç, µÎ ¹ø° ÀÎÀÚ´Â °ªÀÌ´Ù.
°ÔÀÓ¿¡¼­ ¿ÀºêÁ§Æ® ID¸¦ Ãß°¡ÈÄ  Ãæµ¹ ÇßÀ» ¶§ ID¸¦ ¾ò¾î ¿Ã¼ö ÀÖ´Â »ó´çÈ÷ À¯¿ëÇÑ ±â´ÉÀÌ´Ù.

    #define UID_WALL_PROPERTY 0x100000

 

    hkpRigidBody* pRigidBody = new hkpRigidBody( rigidBodyInfo );

    pRigidBody->addProperty( UID_WALL_PROPERTY, 7 );

 

2. ¼Ó¼º ±¸Çϱâ

CheckContactPoint( ) ÇÔ¼ö¿¡¼­ Ãæµ¹½Ã Ãæµ¹ º®¸éÀÇ UI_WALL_PROPERTY°¡ ÀÖ´ÂÁö üũ ÈÄ UID¸¦ ±¸ÇÑ´Ù.

    hkpRigidBody* rb = hkpGetRigidBody( collisionEntries[i].m_partner );

    if( rb->hasProperty( UID_WALL_PROPERTY ) )

        nUid = rb->getProperty( UID_WALL_PROPERTY ).getInt();

±¸ÇÒ·Á´Â µ¥ÀÌÅÍ Çü¿¡ µû¶ó ´ÙÀ½°ú °°Àº ÇÔ¼ö¸¦ È£Ãâ ÇÑ´Ù.

±¸ÇÒ·Á´Â °ªÀÌ intÀ̸é getInt( )
±¸ÇÒ·Á´Â °ªÀÌ floatÀ̸é getReal( )
±¸ÇÒ·Á´Â °ªÀÌ 64ºñÆ® uintÀ̸é getUint64( )
±¸ÇÒ·Á´Â °ªÀÌ Æ÷ÀÎÅÍÀ̸é getPtr( )

hkpCharacterRigidBodyÀÇ hkpRigidBody¿¡µµ ¶È°°ÀÌ Àû¿ë ÇÒ ¼ö ÀÖ´Ù.

ÇÁ·ÎÁ§Æ®:   havok_property.zip