[Ç÷ÎÅ·, »ý¹°ÀÇ Áý´ÜÇൿ ±¸Çö]

- ¿ìÁ¾ÇÏ(deepseas(AT)sogang.ac.kr)

 


    - ¼Ò½ºÄÚµå [Down]

    - ÀÚ¹Ù Runtime [Down] : ¾ÖÇø´ÀÌ ½ÇÇàÀÌ ¾ÈµÉ °æ¿ì ¼³Ä¡, ¼³Ä¡ÈÄ ÀͽºÇ÷ξî Àç½ÇÇà

 

    - Craig ReynoldsÀÇ Ç÷ÎÅ· µ¥¸ð

 

Ç÷ÎÅ·(Flocking)ÀÇ °³¿ä

Ç÷ÎÅ·Àº 1987³â SIGGRAPH¿¡ Á¦ÃâµÈ Craig ReynoldsÀÇ "Flocks, Herds, and Schools: A Distributed Behavioral Model"À̶ó´Â ³í¹®¿¡¼­ óÀ½ µîÀåÇÑ ±â¹ýÀÌ´Ù.

ÀÌ ³í¹®¿¡¼­ Reynolds´Â ÀÚµ¿È­µÈ ¿¡ÀÌÀüÆ®(º¸Åë boid¶ó°í ºÎ¸¥´Ù)µéÀÇ Áý´ÜÀÌ »õ¶¼³ª ¹°°í±â¶¼, ¶Ç´Â ¹ú¶¼¿Í ºñ½ÁÇÑ Áý´ÜÇൿÀ» º¸À̵µ·Ï ¸¸µé±â À§ÇÑ ¼¼°¡Áö ±ÔÄ¢À» Á¦½ÃÇß´Ù. Reynolds´Â ÀÌ ±ÔÄ¢µéÀ» Á¶Å¸ Çൿ(steering behavior) ±ÔÄ¢À̶ó°í ºÒ·¶´Ù.

 

Ç÷ÎÅ·(Flocking)ÀÇ ±ÔÄ¢ - Á¶Å¸ Çൿ(Steering Behavior)

ù ¹øÂ°, ºÐ¸®(Separation) ±ÔÄ¢.

º¸À̵尡 ÁÖº¯ÀÇ ´Ù¸¥ º¸À̵åµé°ú Àû´çÇÑ °Å¸®¸¦ À¯ÁöÇϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù. ÀÀÁý ±ÔÄ¢¸¸ ÀÖ´Ù¸é º¸À̵åµéÀº ¼­·Î ºÎµúÈ÷°Ô µÇ´Âµ¥, ±×°ÍÀ» ¹æÁöÇÏ´Â °ÍÀÌ ºÐ¸® ±ÔÄ¢ÀÌ´Ù. ¹«¸®ÀÇ °¢ º¸À̵帶´Ù ÁÖº¯ º¸À̵åµé°úÀÇ °Å¸®¸¦ ÆÇ´ÜÇϰí Àû´çÇÑ °Å¸®¸¦ À¯ÁöÇÒ ¼ö ÀÖµµ·Ï ¹æÇâÀ» µ¹¸®´Â ¹æ½ÄÀ¸·Î ÀÌ ±ÔÄ¢À» ±¸ÇöÇÑ´Ù.

µÎ ¹øÂ°, Á¤·Ä(Alignment) ±ÔÄ¢.

º¸À̵尡 ÁÖº¯ÀÇ ´Ù¸¥ °³Ã¼µé°ú µ¿ÀÏÇÑ ¹æÇâ°ú ¼Óµµ¸¦ À¯ÁöÇϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù. ÀÌ ±ÔÄ¢¿¡ ÀÇÇØ º¸À̵åµéÀÌ ¸ðÀÎ ¹«¸®°¡ ¸¶Ä¡ ÇϳªÀÇ º¸À̵åó·³ ¿òÁ÷ÀÌ°Ô µÈ´Ù. º¸À̵åÀÇ ¹æÇâ°ú ¼Óµµ¸¦ ÁÖº¯ º¸À̵åµéÀÇ Æò±ÕÀûÀÎ ¼Óµµ¿Í ¹æÇâÀ¸·Î Á¶Á¤ÇÔÀ¸·Î½á ÀÌ ±ÔÄ¢À» ±¸ÇöÇÑ´Ù.

¼¼ ¹øÂ°, ÀÀÁý(Cohesion) ±ÔÄ¢.

º¸À̵åµéÀ» ÇϳªÀÇ ¹«¸®·Î½á ¸ðÀÌ°Ô ÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. ÁÖº¯ º¸À̵åµé°úÀÇ Æò±Õ À§Ä¡·Î °¥ ¼ö ÀÖµµ·Ï º¸À̵åÀÇ ¹æÇâ°ú ¼Óµµ¸¦ Á¶Á¤ÇÔÀ¸·Î½á ÀÌ ±ÔÄ¢À» ±¸ÇöÇÑ´Ù.

³× ¹øÂ°, ȸÇÇ(Avoidance) ±ÔÄ¢.

ÀÌÈÄÀÇ ±¸Çö°ú ³í¹®µé¿¡¼­, Reynolds´Â ¶Ç ÇϳªÀÇ ±ÔÄ¢À» Ãß°¡ÇÏ¿´´Ù.

º¸À̵尡 Àå¾Ö¹°°ú ºÎµúÈ÷Áö ¾Êµµ·Ï Çϱâ À§ÇÑ °ÍÀÌ´Ù. ÀÌ´Â º¸À̵尡 ¾î´À Á¤µµÀÇ °Å¸®¸¦ ³»´Ù º¸°í Àå¾Ö¹°ÀÌ Á¸ÀçÇÏ¸é ±×°ÍÀ» ÇÇÇÒ ¼ö ÀÖ´Â ÂÊÀ¸·Î ¹æÇâÀ» Á¶Á¤ÇÔÀ¸·Î½á ±¸ÇöµÈ´Ù. ÀÌ ±ÔÄ¢Àº Àå¾Ö¹° »Ó¸¸ ¾Æ´Ï¶ó ¾î¶°ÇÑ ÃµÀû¿¡ ÇØ´çÇÏ´Â ¿¡ÀÌÀüÆ®°¡ ÀÖÀ» ¶§¿¡µµ Àû¿ëµÉ ¼ö ÀÖ´Ù.

 

Ç÷ÎÅ·(Flocking)ÀÇ Æ¯Â¡ - »óÅ ¾ø´Â ¾Ë°í¸®Áò

Ç÷ÎÅ·ÀÇ °¡Àå ÁÖ¸ñÇÒ ¸¸ÇÑ Æ¯Â¡Àº, °¢°¢ÀÇ º¸À̵å´Â ¹«¸®¿¡ ´ëÇÑ ¾î¶°ÇÑ Á¤º¸(¹«¸®°¡ ¾îµð·Î °¡´ÂÁö µî)µµ °¡ÁöÁö ¾Ê´Â´Ù´Â Á¡ÀÌ´Ù. º¸À̵尡 ¾î¶°ÇÑ »óÅ Á¤º¸µµ °¡ÁöÁö ¾Ê´Â´Ù´Â Á¡¿¡¼­ Ç÷ÎÅ·Àº '»óÅ ¾ø´Â(stateless)' ¾Ë°í¸®ÁòÀÌ´Ù.

°¢°¢ÀÇ º¸À̵å´Â ¸Å ¼ø°£¸¶´Ù ÀÚ½ÅÀÇ ÁÖº¯À» ´Ù½Ã Æò°¡ÇÒ »Ó, ¹«¸®¿¡ ´ëÇÑ Á¤º¸´Â ¾Æ¿¹ °¡Áö°í ÀÖÁö ¾Ê´Ù. µû¶ó¼­ Ç÷ÎÅ· ÀÌ¿ÜÀÇ Á¢±Ù ¹æ½ÄÀ» ÀÌ¿ëÇÑ ¹«¸® Çൿ ¾Ë°í¸®Áò¿¡ ºñÇØ ¸Þ¸ð¸® ¿ä±¸·®ÀÌ ´ë´ÜÈ÷ Àû´Ù.

Ç÷ÎÅ·Àº º»ÁúÀûÀ¸·Î ÀÓ±â¿õº¯ÀûÀÎ Çൿ(emergent behavior)ÀÌ´Ù. ¹«¸®ÀÇ º¸À̵åµéÀº ¹«¸®°¡ ¾îµð·Î °¡´ÂÁö¿¡ ´ëÇØ¼­´Â ÀüÇô ¾ËÁö ¸øÇÏÁö¸¸, ¸ðµç º¸À̵åµéÀº ÇϳªÀÇ ¹«¸®·Î¼­ ¿òÁ÷À̰í, Àå¾Ö¹°°ú ÀûµéÀ» ÇÇÇϸç, ´Ù¸¥ º¸À̵åµé°ú º¸Á¶¸¦ ¸ÂÃç¼­ À¯µ¿ÀûÀ¸·Î À̵¿ÇÏ°Ô µÈ´Ù.

 

°ÔÀÓ¿¡¼­ÀÇ ÀÀ¿ë

Ç÷ÎÅ·Àº À¯´ÖµéÀÇ Áý´Ü À̵¿À» À§ÇÑ µµ±¸°¡ µÉ ¼ö ÀÖÀ¸¸ç, ¶ÇÇÑ °ÔÀ̸ӿ¡°Ô Á» ´õ Çö½Ç°¨ ÀÖ´Â °ÔÀÓ È¯°æÀ» Á¦°øÇÏ´Â ¼ö´ÜÀÌ µÉ ¼ö ÀÖ´Ù. ÀÌ¹Ì ¸¹Àº »ó¿ë °ÔÀÓµéÀÌ Ç÷ÎÅ·À» »ç¿ëÇß´Ù. ¿¹¸¦ µé¾î¼­ Unreal°ú Half-Life´Â ¸ó½ºÅ͵éÀ̳ª ¶Ç´Â Á» ´ú À§ÇèÇÑ »ý¹°µé(¹°°í±â³ª »õ µî)ÀÇ ¿òÁ÷ÀÓ¿¡ Ç÷ÎÅ·À» Àû¿ëÇß´Ù.

RTS(¸®¾óŸÀÓ ½Ã¹Ä·¹À̼Ç) °ÔÀÓÀ̳ª RPG(·ÑÇ÷¹À× °ÔÀÓ)¿¡¼­ µ¿¹°µéÀÇ ¹«¸®¸¦ ¿òÁ÷ÀÏ ¶§ °£´ÜÇÑ ½ºÅ©¸³ÆÃ(ÀÏÀÏÀÌ ¿òÁ÷ÀÓÀ» ¹Ì¸® ÁöÁ¤ÇÏ¿© ±¸ÇöÇÏ´Â °Í)º¸´Ù´Â Ç÷ÎÅ·À» »ç¿ëÇÏ´Â °ÍÀÌ ÈξÀ ´õ Çö½Ç°¨ ÀÖ´Â °á°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù.

¶ÇÇÑ ÀÏ´ÜÀÇ ±Ã¼öµéÀ̳ª °Ë»çµéÀÌ ´Ù¸®¸¦ °Ç³Í´Ù´ø°¡ ±âµÕÀ» µ¹¾Æ°¡°Ô ÇÒ ¶§ Àû¿ëÇÒ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ±×¸®°í 1ÀÎĪ ½´ÆÃ °ÔÀÓ¿¡¼­, ´øÀü ¾ÈÀÇ ¸ó½ºÅ͵éÀÌ È¥ÀÚ ¶³¾îÁ® ÀÖÀ» ¶§¿¡´Â Ç÷¹À̾ ÇÇÇÏ´Ù°¡ ¹«¸®¸¦ ÀÌ·ç¸é Ç÷¹À̾ °ø°ÝÇÏ°Ô ¸¸µå´Â µ¥¿¡µµ »ç¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÀ¿ë ¹æ¹ýÀº ¾ó¸¶µçÁö »ý°¢ÇØ ³¾ ¼ö ÀÖ´Ù.

 

[Âü°íÀÚ·á]

    - Game Programming Gems 1±Ç, p.401 ~ p.415
    - Craig Reynolds, http://www.red3d.com/cwr/

 

[1]