ÊÔ½¸Ã桪¡ª¡ª
¥Ó¥Ø¥¤¥Ó¥¢ ¥Ä¥ê¡¼¤Î¥¯¥¤¥Ã¥¯¥¹¥¿¡¼¥È¥¬¥¤¥É
Unreal Engine 4 (UE4) ¤Î Behavior Trees ¥¢¥»¥Ã¥È¤ò»ÈÍѤ·¤Æ¡¢¥×¥í¥¸¥§¥¯¥ÈÆâ¤Î¥Î¥ó ¥×¥ì¥¤¥ä¡¼ ¥¥ã¥é¥¯¥¿¡¼ÍѤο͹©ÃÎǽ (AI) ¤òºîÀ®¤Ç¤¤Þ¤¹¡£
Behavior Trees ¥¢¥»¥Ã¥È¤Ï¥í¥¸¥Ã¥¯¤ò´Þ¤à¥Ö¥é¥ó¥Á¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¤¬¡¢¤É¤Î¥Ö¥é¥ó¥Á¤¬¼Â¹Ô¤µ¤ì¤ë¤Ù¤¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤Î¡ÖƬǾ¡×¤È¤·¤Æµ¡Ç½¤¹¤ë ¥Ö¥é¥Ã¥¯¥Ü¡¼¥É ¤È¸Æ¤Ð¤ì¤ëÊ̤Υ¢¥»¥Ã¥È¤¬É¬ÍפǤ¹¡£
¥Ö¥é¥Ã¥¯¥Ü¡¼¥É¤Ë¤Ï¥æ¡¼¥¶¡¼ÄêµÁ¤Î ¥¡¼ ¤¬¤¤¤¯¤Ä¤«´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤¬°Õ»×·èÄê¤Ë»ÈÍѤ¹¤ë¾ðÊó¤òÊÝ»ý¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤ò Instance Editable ÊÑ¿ô¤Ë¾º³Ê¤µ¤»¤ë¤³¤È¤Ç¡¢¤³¤Î¥Ö¥ë¡¼¥×¥ê¥ó¥È¤Î³°Éô¤«¤é Max Walk Speed ¤ÎÃͤòÀßÄꤷ¤Æ¡¢ ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ÆâÉô¤Î¥×¥í¥Ñ¥Æ¥£¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤Ç Enemy_Character ¥Ö¥ë¡¼¥×¥ê¥ó¥È¤ËÁ÷¤é¤ì¤ë Chase Speed ¤ÎÃͤÎÊѹ¹¤¬´Êñ¤Ë¤Ê¤ê¡¢AI ¤¬¥×¥ì¡¼¥ä¡¼¤òÄÉÀפ¹¤ë®ÅÙ¤òÄ´À°¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ç Chase Player Task ¤Ï´°À®¤·¤¿¤Î¤Ç¡¢°Ê²¼¤Î¥¹¥Æ¥Ã¥×¤Ç¤Ï AI ¤¬°ÜÆ°¤¹¤ë¥é¥ó¥À¥à¤Ê°ÌÃÖ¤òÆÀ¤ë¤¿¤á¤Î Find Random Patrol Task ¥í¥¸¥Ã¥¯¤òÀßÄꤷ¤Þ¤¹¡£
¤³¤³¤Ç¤Ï¡¢Å¨¥¥ã¥é¥¯¥¿¡¼¤Î¸½ºß°ÌÃÖ¤«¤é 1000 ñ°Ì°ÊÆâ¤Î¥é¥ó¥À¥à¤Ê°ÌÃÖ¤ò¸«¤Ä¤±¤Þ¤¹¡£
¤Þ¤¿¡¢Branch ¥Î¡¼¥É¤ò»ÈÍѤ·¤Æ¡¢°ÜÆ°Àè¤Î¥é¥ó¥À¥à¤Ê¥Ý¥¤¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤¤¥¨¥Ã¥¸¥±¡¼¥¹¤ò½èÍý¤·¤Þ¤¹¡£
¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Ç¥Î¡¼¥É¤ò±¦¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢Äɲõ¡Ç½¤òÄ󶡤¹¤ë¥µ¥Ö¥Î¡¼¥É¤òÄɲäǤ¤Þ¤¹¡£
¥µ¥Ö¥Î¡¼¥É
¡¡¡¡¡¡¡¡Ê̤ΥΡ¼¥É¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¡¢¥Ä¥ê¡¼¤Î¥Ö¥é¥ó¥Á¤¢¤ë¤¤¤Ï¥Î¡¼¥É 1 ¤Ä¤Ç¤â¼Â¹Ô²Äǽ¤«¤É¤¦¤«¤ÎȽÃǤò¤¹¤ë¥Î¡¼¥É¤Ç¤¹¡£
¡¡¡¡¡¡¡¡Â¿¤¯¤Î¾ì¹ç¡¢ ¥Ö¥é¥Ã¥¯¥Ü¡¼¥É ¤Î³Îǧ¤ä¹¹¿·¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¤³¤ì¤é¤Ï¡¢Â¾¤Î Behavior Tree ¥·¥¹¥Æ¥à¤Î½¾Íè¤Î Parallel ¥Î¡¼¥É¤ËÂå¤ï¤ë¤â¤Î¤Ç¤¹¡£
Blackboard ¥Ç¥³¥ì¡¼¥¿¡¼ ¤ò»ÈÍѤ·¤Æ Blackboard Key ¤ÎÃͤò·èÄꤷ¤Þ¤¹¡£
¤³¤ì¤¬Í¸ú¤Ê¾ì¹ç¡¢¤³¤Î¥Ö¥é¥ó¥Á¤Î¼Â¹Ô¤òµö²Ä¤·¤Þ¤¹¡£
[Observer aborts] ¤ÎÀßÄ꤬¡ÖBoth¡×¤Î¾ì¹ç¤Ï¡¢ Blackboard Key ¤ËÊѹ¹¤ò³ä¤êÅö¤Æ¤ë¤È¡¢¼«Ê¬¼«¿È (Chase Player) ¤È¤½¤ì¤è¤ê¤âÍ¥ÀèÅÙ¤ÎÄ㤤¥¿¥¹¥¯¤òÃæ»ß¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢ HasLineOfSight ¤ÎÃͤ¬Êѹ¹¤µ¤ì¤ÆÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¼«¿È (Chase Player) ¤òÃæ»ß¤·¡¢¤½¤Î»þÅÀ¤Ç¼¡¤Î¥Ö¥é¥ó¥Á (Patrol) ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
HasLineOfSight Ãͤ¬ºÆ¤Ó¡ÖIs Set¡×¤Ë¤Ê¤ë¤È¡¢Observer ¤ÏÍ¥ÀèÅÙ¤ÎÄ㤤¥¿¥¹¥¯¤òÃæ»ß¤·¡¢ºÆÅÙ Chase Player ¥Ö¥é¥ó¥Á¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥Ó¥Ø¥¤¥Ó¥¢ ¥Ä¥ê¡¼¤Î¥¯¥¤¥Ã¥¯¥¹¥¿¡¼¥È¥¬¥¤¥É
Unreal Engine 4 (UE4) ¤Î Behavior Trees ¥¢¥»¥Ã¥È¤ò»ÈÍѤ·¤Æ¡¢¥×¥í¥¸¥§¥¯¥ÈÆâ¤Î¥Î¥ó ¥×¥ì¥¤¥ä¡¼ ¥¥ã¥é¥¯¥¿¡¼ÍѤο͹©ÃÎǽ (AI) ¤òºîÀ®¤Ç¤¤Þ¤¹¡£
Behavior Trees ¥¢¥»¥Ã¥È¤Ï¥í¥¸¥Ã¥¯¤ò´Þ¤à¥Ö¥é¥ó¥Á¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¤¬¡¢¤É¤Î¥Ö¥é¥ó¥Á¤¬¼Â¹Ô¤µ¤ì¤ë¤Ù¤¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤Î¡ÖƬǾ¡×¤È¤·¤Æµ¡Ç½¤¹¤ë ¥Ö¥é¥Ã¥¯¥Ü¡¼¥É ¤È¸Æ¤Ð¤ì¤ëÊ̤Υ¢¥»¥Ã¥È¤¬É¬ÍפǤ¹¡£
¥Ö¥é¥Ã¥¯¥Ü¡¼¥É¤Ë¤Ï¥æ¡¼¥¶¡¼ÄêµÁ¤Î ¥¡¼ ¤¬¤¤¤¯¤Ä¤«´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤¬°Õ»×·èÄê¤Ë»ÈÍѤ¹¤ë¾ðÊó¤òÊÝ»ý¤·¤Æ¤¤¤Þ¤¹¡£
Behavior Trees ¥¢¥»¥Ã¥È¤ò»ÈÍѤ·¤Æ¡¢¥Î¥ó ¥×¥ì¡¼¥ä¡¼ ¥¥ã¥é¥¯¥¿¡¼ÍѤο͹©ÃÎǽ (AI) ¤òºîÀ®¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æµ½Ò¤·¤Þ¤¹¡£
¥×¥ì¡¼¥ä¡¼¤ò¸«¼º¤¦¤È¡¢¿ôÉøå (¼«Í³¤ËÄ´À°²Äǽ) ¤Ë AI ¤ÏÄÉÀפò¤¢¤¤é¤á¤Æ¡¢¥×¥ì¡¼¥ä¡¼¤òºÆ¤Óȯ¸«¤¹¤ë¤Þ¤Ç¥é¥ó¥À¥à¤Ë¼þ°Ï¤ò°ÜÆ°¤·¤Þ¤¹¡£
¥×¥ì¡¼¥ä¡¼¤ò¸«¼º¤¦¤È¡¢¿ôÉøå (¼«Í³¤ËÄ´À°²Äǽ) ¤Ë AI ¤ÏÄÉÀפò¤¢¤¤é¤á¤Æ¡¢¥×¥ì¡¼¥ä¡¼¤òºÆ¤Óȯ¸«¤¹¤ë¤Þ¤Ç¥é¥ó¥À¥à¤Ë¼þ°Ï¤ò°ÜÆ°¤·¤Þ¤¹¡£
- ¥Ö¥ë¡¼¥×¥ê¥ó¥È ¥Ó¥¸¥å¥¢¥ë ¥¹¥¯¥ê¥×¥Æ¥£¥ó¥°
- AI ¥³¥ó¥È¥í¡¼¥é¡¼
- ¥Ö¥é¥Ã¥¯¥Ü¡¼¥É
- ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼
- ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤Î¥µ¡¼¥Ó¥¹
- ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤Î¥Ç¥³¥ì¡¼¥¿¡¼
- ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤Î¥¿¥¹¥¯
ºÇ½é¤Î¥¹¥Æ¥Ã¥×¤Ç¤Ï¡¢AI ¥¥ã¥é¥¯¥¿¡¼¤¬´Ä¶¤òÆ°¤²ó¤ë¤¿¤á¤ËɬÍפʥ¢¥»¥Ã¥È¤ò»ÈÍѤ·¤Æ¥×¥í¥¸¥§¥¯¥È¤òÀßÄꤷ¤Þ¤¹¡£
¿·¤·¤¤ Blueprint Third Person ¥Æ¥ó¥×¥ì¡¼¥È ¥×¥í¥¸¥§¥¯¥È¤ò»ÈÍѤ·¤Þ¤¹¡£
¿·¤·¤¤ Blueprint Third Person ¥Æ¥ó¥×¥ì¡¼¥È ¥×¥í¥¸¥§¥¯¥È¤ò»ÈÍѤ·¤Þ¤¹¡£
¡ÖNav Mesh Bounds Volume¡×¤òÁªÂò¤·¤¿¾õÂÖ¤Ç R ¤ò²¡¤·¡¢¥Ü¥ê¥å¡¼¥à¤ò¥¹¥±¡¼¥ë¤·¤Æ¥ì¥Ù¥ëÁ´ÂΤò¥«¥×¥»¥ë²½¤·¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢Navigation ¥á¥Ã¥·¥å¤¬À¸À®¤µ¤ì¡¢AI ¥¥ã¥é¥¯¥¿¡¼¤¬´Ä¶Æâ¤ò°ÜÆ°¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥Ó¥å¡¼¥Ý¡¼¥ÈÆâ¤Î Nav ¥á¥Ã¥·¥å (Î理ÎÎΰè¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó²Äǽ¤Ê°ÌÃÖ¤ò¼¨¤·¤Þ¤¹) ¤Îɽ¼¨¤òÀÚ¤êÂؤ¨¤ë¤Ë¤Ï¡¢ P ¥¡¼¤ò²¡¤·¤Þ¤¹¡£
¥×¥í¥¸¥§¥¯¥È¤ÎÀßÄ꤬´°Î»¤·¤¿¤Î¤Ç¡¢°Ê²¼¤Î¥¹¥Æ¥Ã¥×¤Ç Blackboard ¥¢¥»¥Ã¥È¤òÀßÄꤷ¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢Navigation ¥á¥Ã¥·¥å¤¬À¸À®¤µ¤ì¡¢AI ¥¥ã¥é¥¯¥¿¡¼¤¬´Ä¶Æâ¤ò°ÜÆ°¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥Ó¥å¡¼¥Ý¡¼¥ÈÆâ¤Î Nav ¥á¥Ã¥·¥å (Î理ÎÎΰè¤Ï¡¢¥Ê¥Ó¥²¡¼¥·¥ç¥ó²Äǽ¤Ê°ÌÃÖ¤ò¼¨¤·¤Þ¤¹) ¤Îɽ¼¨¤òÀÚ¤êÂؤ¨¤ë¤Ë¤Ï¡¢ P ¥¡¼¤ò²¡¤·¤Þ¤¹¡£
¥²¡¼¥à¥×¥ì¥¤Ãæ¤Ï¡¢¥³¥ó¥½¡¼¥ë ¥³¥Þ¥ó¥É¤Î show Navigation ¤ò»ÈÍѤ·¤Æ Nav ¥á¥Ã¥·¥å¤Îɽ¼¨ / Èóɽ¼¨¤òÀÚ¤êÂؤ¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥×¥í¥¸¥§¥¯¥È¤ÎÀßÄ꤬´°Î»¤·¤¿¤Î¤Ç¡¢°Ê²¼¤Î¥¹¥Æ¥Ã¥×¤Ç Blackboard ¥¢¥»¥Ã¥È¤òÀßÄꤷ¤Þ¤¹¡£
AI ¤ÎƬǾ¤Ç¤¢¤ë Blackboard ¥¢¥»¥Ã¥È¤òºîÀ®¤·¤Þ¤¹¡£
AI ¤ËÃΤ餻¤¿¤¤¤¹¤Ù¤Æ¤Î¾ðÊó¤Ë¤Ï¡¢»²¾È²Äǽ¤Ê Blackboard Key ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
AI ¤¬¥×¥ì¡¼¥ä¡¼¤ËÂФ¹¤ë»ëÀþ¤ä¥×¥ì¡¼¥ä¡¼¤òÄÉÀפ·¤Æ¤¤¤Ê¤¤¤È¤¤Ë°ÜÆ°¤Ç¤¤ë°ÌÃ֤ξðÊó¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¡¢¥×¥ì¡¼¥ä¡¼¤òÄÉÀפ·Â³¤±¤ë¤¿¤á¤Î¥¡¼¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
AI ¤ËÃΤ餻¤¿¤¤¤¹¤Ù¤Æ¤Î¾ðÊó¤Ë¤Ï¡¢»²¾È²Äǽ¤Ê Blackboard Key ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
AI ¤¬¥×¥ì¡¼¥ä¡¼¤ËÂФ¹¤ë»ëÀþ¤ä¥×¥ì¡¼¥ä¡¼¤òÄÉÀפ·¤Æ¤¤¤Ê¤¤¤È¤¤Ë°ÜÆ°¤Ç¤¤ë°ÌÃ֤ξðÊó¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¡¢¥×¥ì¡¼¥ä¡¼¤òÄÉÀפ·Â³¤±¤ë¤¿¤á¤Î¥¡¼¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
¤³¤Î¥¹¥Æ¥Ã¥×¤Ç¤Ï¡¢ ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Îή¤ì¤È AI ¤ËÆþÎϤµ¤»¤¿¤¤¾õÂ֤ˤĤ¤¤Æ¥ì¥¤¥¢¥¦¥È¤·¤Þ¤¹¡£
¥Ó¥¸¥å¥¢¥ë¥Õ¥í¡¼¤È¤·¤Æ AI ¤¬¤¢¤ë¤³¤È¤òÁÛÄꤹ¤ë¾õÂÖ¤Ç ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤ò¥ì¥¤¥¢¥¦¥È¤¹¤ë¤È¡¢¤½¤Î¾õÂÖ¤ËÆþ¤ë¤¿¤á¤Ë¤Ï¤É¤Î¤è¤¦¤Ê¥¿¥¤¥×¤Î¥í¥¸¥Ã¥¯¤È¥ë¡¼¥ë¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¤«¤òÃΤ뤳¤È¤¬¤Ç¤¤Þ¤¹¡£
¥Ó¥¸¥å¥¢¥ë¥Õ¥í¡¼¤È¤·¤Æ AI ¤¬¤¢¤ë¤³¤È¤òÁÛÄꤹ¤ë¾õÂÖ¤Ç ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤ò¥ì¥¤¥¢¥¦¥È¤¹¤ë¤È¡¢¤½¤Î¾õÂÖ¤ËÆþ¤ë¤¿¤á¤Ë¤Ï¤É¤Î¤è¤¦¤Ê¥¿¥¤¥×¤Î¥í¥¸¥Ã¥¯¤È¥ë¡¼¥ë¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¤«¤òÃΤ뤳¤È¤¬¤Ç¤¤Þ¤¹¡£
¡ÖBT_Enemy¡×¤ò³«¤¡¢ ¡ÖBB_Enemy¡× ¤ò Blackboard ¥¢¥»¥Ã¥È ¤È¤·¤Æ³ä¤êÅö¤Æ¤Þ¤¹¡£
¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Î¹½À®
ºîÀ®¤·¤¿ Blackboard Key ¤¬É½¼¨¤µ¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢²«¿§¤¤Ìð°õ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ Blackboard ¥¢¥»¥Ã¥È ¤ò¥¯¥ê¥¢¤·¤Æ¤«¤é¡¢ Enemy_BB ¤òºÆÅÙ³ä¤êÅö¤Æ¤Æ¥¡¼¤ò¹¹¿·¤·¤Þ¤¹¡£
¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Î¹½À®
- [Behavior Tree]
- [Details]
- [Blackboard]
¥°¥é¥Õ¤Ç¡¢ Root ¤òº¸¥¯¥ê¥Ã¥¯¤·¤Æ¥É¥é¥Ã¥°¤·¡¢ Selector ¥Î¡¼¥É¤òÄɲä·¤Þ¤¹¡£
¥³¥ó¥Ý¥¸¥Ã¥È ¤Ï¡¢¥Õ¥í¡¼À©¸æ¤Î°ì·ÁÂ֤Ǥ¢¤ê¡¢Àܳ¤µ¤ì¤¿»Ò¥Ö¥é¥ó¥Á¤Î¼Â¹ÔÊýË¡¤ò·èÄꤷ¤Þ¤¹¡£
¡¡¡¡¡¡¡¡Selector ¤Ï¡¢Àµ¾ï¤Ë¼Â¹Ô¤µ¤ì¤¿¥µ¥Ö¥Ä¥ê¡¼¤¬¸«¤Ä¤«¤ë¤È¡¢
¡¡¡¡¡¡¡¡¥µ¥Ö¥Ä¥ê¡¼´Ö¤Î°ÜÆ°¤òÄä»ß¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¤¿¤È¤¨¤Ð¡¢AI ¤¬¥×¥ì¡¼¥ä¡¼¤ÎÄÉÀפËÀ®¸ù¤·¤¿¾ì¹ç¡¢
¡¡¡¡¡¡¡¡AI ¤Ï¼Â¹Ô¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤½¤Î¥Ö¥é¥ó¥Á¤Ë¤È¤É¤Þ¤ê¡¢
¡¡¡¡¡¡¡¡Selector ¤Î¿Æ¥³¥ó¥Ý¥¸¥Ã¥È¤Ë°ÜÆ°¤·¤Æ·èÄê¥Õ¥í¡¼¤ò³¹Ô¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡Selector ¤È¤Ï°Û¤Ê¤ê¡¢Sequence ¤Ï¼ºÇÔ¤·¤¿¥Î¡¼¥É¤ËÅþ㤹¤ë¤Þ¤Ç¤½¤Î»Ò¤ò¼Â¹Ô¤·Â³¤±¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¤¿¤È¤¨¤Ð¡¢¥×¥ì¡¼¥ä¡¼¤Ë°ÜÆ°¤¹¤ë Sequence ¤¬¤¢¤ë¾ì¹ç¤Ï¡¢
¡¡¡¡¡¡¡¡ÈÏ°ÏÆâ¤Ë¤¢¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤«¤é¡¢²óž¤·¤Æ¥¢¥¿¥Ã¥¯¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡ÈÏ°ÏÆâ¤Ë¤¢¤ë¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¡¢
¡¡¡¡¡¡¡¡²óž¥¢¥¯¥·¥ç¥ó¤ª¤è¤Ó¥¢¥¿¥Ã¥¯ ¥¢¥¯¥·¥ç¥ó¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡ºÇ½é¤Î 1 ¤Ä¤Ï¡¢¥á¥¤¥ó¥¿¥¹¥¯¤Ç¡¢Task ¥Î¡¼¥É¤Ë¤Î¤ß³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹
¡¡¡¡¡¡¡¡ (¥³¥ó¥Ý¥¸¥Ã¥È¤¬¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹)¡£
¡¡¡¡¡¡¡¡2 ¤ÄÌܤÎÀܳ (¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É ¥Ö¥é¥ó¥Á) ¤Ï¡¢
¡¡¡¡¡¡¡¡¥á¥¤¥ó¥¿¥¹¥¯¤Î¼Â¹ÔÃæ¤Ë¼Â¹Ô¤µ¤ì¤ë¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Ç¤¹¡£
¡¡¡¡¡¡¡¡¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æ¤Ï¡¢Simple Parallel ¤Ï¥á¥¤¥ó¥¿¥¹¥¯¤¬½ªÎ»¤¹¤ë¤È¤¹¤°¤Ë½ªÎ»¤¹¤ë¤«¡¢
¡¡¡¡¡¡¡¡Background Branch ¤¬½ªÎ»¤¹¤ë¤Î¤òÂÔ¤Á¤Þ¤¹¡£
¥³¥ó¥Ý¥¸¥Ã¥È ¤Ï¡¢¥Õ¥í¡¼À©¸æ¤Î°ì·ÁÂ֤Ǥ¢¤ê¡¢Àܳ¤µ¤ì¤¿»Ò¥Ö¥é¥ó¥Á¤Î¼Â¹ÔÊýË¡¤ò·èÄꤷ¤Þ¤¹¡£
- Selector
¡¡¡¡¡¡¡¡Selector ¤Ï¡¢Àµ¾ï¤Ë¼Â¹Ô¤µ¤ì¤¿¥µ¥Ö¥Ä¥ê¡¼¤¬¸«¤Ä¤«¤ë¤È¡¢
¡¡¡¡¡¡¡¡¥µ¥Ö¥Ä¥ê¡¼´Ö¤Î°ÜÆ°¤òÄä»ß¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¤¿¤È¤¨¤Ð¡¢AI ¤¬¥×¥ì¡¼¥ä¡¼¤ÎÄÉÀפËÀ®¸ù¤·¤¿¾ì¹ç¡¢
¡¡¡¡¡¡¡¡AI ¤Ï¼Â¹Ô¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤½¤Î¥Ö¥é¥ó¥Á¤Ë¤È¤É¤Þ¤ê¡¢
¡¡¡¡¡¡¡¡Selector ¤Î¿Æ¥³¥ó¥Ý¥¸¥Ã¥È¤Ë°ÜÆ°¤·¤Æ·èÄê¥Õ¥í¡¼¤ò³¹Ô¤·¤Þ¤¹¡£
- Sequence
¡¡¡¡¡¡¡¡Selector ¤È¤Ï°Û¤Ê¤ê¡¢Sequence ¤Ï¼ºÇÔ¤·¤¿¥Î¡¼¥É¤ËÅþ㤹¤ë¤Þ¤Ç¤½¤Î»Ò¤ò¼Â¹Ô¤·Â³¤±¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¤¿¤È¤¨¤Ð¡¢¥×¥ì¡¼¥ä¡¼¤Ë°ÜÆ°¤¹¤ë Sequence ¤¬¤¢¤ë¾ì¹ç¤Ï¡¢
¡¡¡¡¡¡¡¡ÈÏ°ÏÆâ¤Ë¤¢¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤«¤é¡¢²óž¤·¤Æ¥¢¥¿¥Ã¥¯¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡ÈÏ°ÏÆâ¤Ë¤¢¤ë¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¡¢
¡¡¡¡¡¡¡¡²óž¥¢¥¯¥·¥ç¥ó¤ª¤è¤Ó¥¢¥¿¥Ã¥¯ ¥¢¥¯¥·¥ç¥ó¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
- Simple Parallel
¡¡¡¡¡¡¡¡ºÇ½é¤Î 1 ¤Ä¤Ï¡¢¥á¥¤¥ó¥¿¥¹¥¯¤Ç¡¢Task ¥Î¡¼¥É¤Ë¤Î¤ß³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹
¡¡¡¡¡¡¡¡ (¥³¥ó¥Ý¥¸¥Ã¥È¤¬¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹)¡£
¡¡¡¡¡¡¡¡2 ¤ÄÌܤÎÀܳ (¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É ¥Ö¥é¥ó¥Á) ¤Ï¡¢
¡¡¡¡¡¡¡¡¥á¥¤¥ó¥¿¥¹¥¯¤Î¼Â¹ÔÃæ¤Ë¼Â¹Ô¤µ¤ì¤ë¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Ç¤¹¡£
¡¡¡¡¡¡¡¡¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æ¤Ï¡¢Simple Parallel ¤Ï¥á¥¤¥ó¥¿¥¹¥¯¤¬½ªÎ»¤¹¤ë¤È¤¹¤°¤Ë½ªÎ»¤¹¤ë¤«¡¢
¡¡¡¡¡¡¡¡Background Branch ¤¬½ªÎ»¤¹¤ë¤Î¤òÂÔ¤Á¤Þ¤¹¡£
Selector ¥Î¡¼¥É¤Î¾ì¹ç¡¢ [Details] ¥Ñ¥Í¥ë¤Ç Node Name ¤«¤é AI Root ¤ËÊѹ¹¤·¤Þ¤¹¡£
¥°¥é¥ÕÆâ¤Î¥Î¡¼¥É¤Î̾Á°¤òÊѹ¹¤¹¤ë¤È¡¢¥Î¡¼¥É¤Î¼Â¹ÔÆâÍƤò¾å°Ì¥ì¥Ù¥ë¤«¤é´Êñ¤Ë¼±Ê̤Ǥ¤Þ¤¹¡£
¤³¤ÎÎã¤Ç¤Ï¡¢»Ò¥Ö¥é¥ó¥Á¤òÀÚ¤êÂؤ¨¤ë¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤Î¼ÂºÝ¤Î¡ÖRoot¡×¤Ç¤¢¤ë¤¿¤á¡ÖAI Root¡×¤È̾Á°¤òÉÕ¤±¤Þ¤¹¡£
¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤ÎºîÀ®»þ¤Ë¼«Æ°Åª¤ËÄɲ䵤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î Root ¥Î¡¼¥É¤Ï¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤Î¥×¥í¥Ñ¥Æ¥£¤ÎÀßÄê¤ä¡¢Blackboard ¥¢¥»¥Ã¥È¤Î³ä¤êÅö¤Æ¤Ë»ÈÍѤ·¤Þ¤¹¡£
¥°¥é¥ÕÆâ¤Î¥Î¡¼¥É¤Î̾Á°¤òÊѹ¹¤¹¤ë¤È¡¢¥Î¡¼¥É¤Î¼Â¹ÔÆâÍƤò¾å°Ì¥ì¥Ù¥ë¤«¤é´Êñ¤Ë¼±Ê̤Ǥ¤Þ¤¹¡£
¤³¤ÎÎã¤Ç¤Ï¡¢»Ò¥Ö¥é¥ó¥Á¤òÀÚ¤êÂؤ¨¤ë¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤Î¼ÂºÝ¤Î¡ÖRoot¡×¤Ç¤¢¤ë¤¿¤á¡ÖAI Root¡×¤È̾Á°¤òÉÕ¤±¤Þ¤¹¡£
¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤ÎºîÀ®»þ¤Ë¼«Æ°Åª¤ËÄɲ䵤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î Root ¥Î¡¼¥É¤Ï¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤Î¥×¥í¥Ñ¥Æ¥£¤ÎÀßÄê¤ä¡¢Blackboard ¥¢¥»¥Ã¥È¤Î³ä¤êÅö¤Æ¤Ë»ÈÍѤ·¤Þ¤¹¡£
AI Root ¥Î¡¼¥É¤òº¸¥¯¥ê¥Ã¥¯¤·¤Æ¥É¥é¥Ã¥°¤·¡¢Sequence ¥Î¡¼¥É¤òÄɲä·¤Þ¤¹¡£Ì¾Á°¤ò¡ÖPatrol¡×¤Ë¤·¤Þ¤¹¡£
AI ¤Î¾ì¹ç¡¢ Sequence ¥Î¡¼¥É¤ò»ÈÍѤ·¤Æ¥Þ¥Ã¥×Æâ¤Î¥é¥ó¥À¥à¤Ê°ÌÃÖ¤ò¸«¤Ä¤±¡¢¤½¤Î°ÌÃ֤˰ÜÆ°¤·¡¢°ÜÆ°Àè¤Î¿·¤·¤¤°ÌÃÖ¤ò¸«¤Ä¤±¤ë¥×¥í¥»¥¹¤ò·«¤êÊÖ¤¹Á°¤Ë°ìÄê»þ´Ö¤½¤Î°ÌÃÖ¤ÇÂÔµ¡¤·¤Þ¤¹¡£
¥Î¡¼¥É¤Î±¦¾å¶ù¤Î¿ô»ú¤Ë¤âα°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
Áàºî¤Î½ç½ø¤ò¼¨¤·¤Þ¤¹¡£
¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Ïº¸¤«¤é±¦¡¢¾å¤«¤é²¼¤Ë¼Â¹Ô¤µ¤ì¤ë¤¿¤á¡¢¥Î¡¼¥É¤ÎÇÛÃ֤ϽÅÍפǤ¹¡£
AI ¤Ë¤È¤Ã¤ÆºÇ¤â½ÅÍפʥ¢¥¯¥·¥ç¥ó¤Ïº¸¤ËÇÛÃÖ¤·¡¢½ÅÍפǤʤ¤ (¸åÂव¤»¤ë¤Ê¤É) ¥¢¥¯¥·¥ç¥ó¤Ï±¦¤ËÇÛÃÖ¤·¤Þ¤¹¡£
»Ò¥Ö¥é¥ó¥Á¤âƱ¤¸¤è¤¦¤Ë¼Â¹Ô¤µ¤ì¡¢¤¤¤º¤ì¤«¤Î»Ò¥Ö¥é¥ó¥Á¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥Ö¥é¥ó¥ÁÁ´ÂΤμ¹Ԥ¬Ää»ß¤·¡¢¥Ä¥ê¡¼¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤¬¼ºÇÔ¤·¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢ Chase Player ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢Patrol ¤Ë°Ü¤ëÁ°¤Ë AI Root ¤ËÌá¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
AI ¤Î¾ì¹ç¡¢ Sequence ¥Î¡¼¥É¤ò»ÈÍѤ·¤Æ¥Þ¥Ã¥×Æâ¤Î¥é¥ó¥À¥à¤Ê°ÌÃÖ¤ò¸«¤Ä¤±¡¢¤½¤Î°ÌÃ֤˰ÜÆ°¤·¡¢°ÜÆ°Àè¤Î¿·¤·¤¤°ÌÃÖ¤ò¸«¤Ä¤±¤ë¥×¥í¥»¥¹¤ò·«¤êÊÖ¤¹Á°¤Ë°ìÄê»þ´Ö¤½¤Î°ÌÃÖ¤ÇÂÔµ¡¤·¤Þ¤¹¡£
¥Î¡¼¥É¤Î±¦¾å¶ù¤Î¿ô»ú¤Ë¤âα°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
Áàºî¤Î½ç½ø¤ò¼¨¤·¤Þ¤¹¡£
¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Ïº¸¤«¤é±¦¡¢¾å¤«¤é²¼¤Ë¼Â¹Ô¤µ¤ì¤ë¤¿¤á¡¢¥Î¡¼¥É¤ÎÇÛÃ֤ϽÅÍפǤ¹¡£
AI ¤Ë¤È¤Ã¤ÆºÇ¤â½ÅÍפʥ¢¥¯¥·¥ç¥ó¤Ïº¸¤ËÇÛÃÖ¤·¡¢½ÅÍפǤʤ¤ (¸åÂव¤»¤ë¤Ê¤É) ¥¢¥¯¥·¥ç¥ó¤Ï±¦¤ËÇÛÃÖ¤·¤Þ¤¹¡£
»Ò¥Ö¥é¥ó¥Á¤âƱ¤¸¤è¤¦¤Ë¼Â¹Ô¤µ¤ì¡¢¤¤¤º¤ì¤«¤Î»Ò¥Ö¥é¥ó¥Á¤¬¼ºÇÔ¤¹¤ë¤È¡¢¥Ö¥é¥ó¥ÁÁ´ÂΤμ¹Ԥ¬Ää»ß¤·¡¢¥Ä¥ê¡¼¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤¬¼ºÇÔ¤·¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢ Chase Player ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢Patrol ¤Ë°Ü¤ëÁ°¤Ë AI Root ¤ËÌá¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
AI Root ¤ò¥É¥é¥Ã¥°¤·¤Æ¡¢Wait ¥¿¥¹¥¯¤òÄɲä·¤Þ¤¹¡£
[Wait Time] ¤ò ¡Ö1. 0¡× ¤ËÀßÄꤷ¤Þ¤¹¡£
¥Î¡¼¥É¤¬»ç¿§¤Ç¤¢¤ì¤Ð¡¢ Task ¥Î¡¼¥É¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
Task ¥Î¡¼¥É¤Ï¡¢ ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Ç¼Â¹Ô¤Ç¤¤ë¥¢¥¯¥·¥ç¥ó²Äǽ¤Ê¡Ö¥Î¡¼¥É¡×¤Ç¤¹¡£
Wait ¥¿¥¹¥¯¤Ï²¿¤é¤«¤ÎÍýͳ¤Ç ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤¬ Chase Player ¤Þ¤¿¤Ï Patrol ¤ÎξÊý¤Ë¼ºÇÔ¤¹¤ë¥¤¥Ù¥ó¥È¤Î¥¥ã¥Ã¥Á¥ª¡¼¥ë¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£
[Wait Time] ¤ò ¡Ö1. 0¡× ¤ËÀßÄꤷ¤Þ¤¹¡£
¥Î¡¼¥É¤¬»ç¿§¤Ç¤¢¤ì¤Ð¡¢ Task ¥Î¡¼¥É¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
Task ¥Î¡¼¥É¤Ï¡¢ ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Ç¼Â¹Ô¤Ç¤¤ë¥¢¥¯¥·¥ç¥ó²Äǽ¤Ê¡Ö¥Î¡¼¥É¡×¤Ç¤¹¡£
Wait ¥¿¥¹¥¯¤Ï²¿¤é¤«¤ÎÍýͳ¤Ç ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤¬ Chase Player ¤Þ¤¿¤Ï Patrol ¤ÎξÊý¤Ë¼ºÇÔ¤¹¤ë¥¤¥Ù¥ó¥È¤Î¥¥ã¥Ã¥Á¥ª¡¼¥ë¤È¤·¤Æµ¡Ç½¤·¤Þ¤¹¡£
Chase Player ¤ò¥É¥é¥Ã¥°¤·¤Æ¡¢ Rotate to Face BB Entry ¥¿¥¹¥¯¤òÄɲä·¤Þ¤¹¡£
¤³¤ÎÆÃÄê¤Î ¥¿¥¹¥¯ ¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤ÎÎã¤Î Enemy ¥¢¥¯¥¿ (Player) ¤Î¤è¤¦¤Ë²óž¤µ¤»¤Æ¸þ¤«¤¤¹ç¤ï¤»¤Ë¤¹¤ë Blackboard Entry ¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥Î¡¼¥É¤òÄɲ䷤Ƥ«¤é¡¢ [Details] ¥Ñ¥Í¥ë¤ò¸«¤ë¤È¡¢Blackboard Key ¤Ï¼«Æ°Åª¤Ë EnemyActor ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¥¢¥¯¥¿ blackboard ÊÑ¿ô¤¬¥Õ¥£¥ë¥¿¥ê¥ó¥°¤µ¤ì¤Æ¥ê¥¹¥È¤ÎºÇ½é¤ÎÊÑ¿ô¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£
À®¸ù¾ò·ï¤ÎÈϰϤòÄ´À°¤·¤¿¤ê Node Name ¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ï¡¢ [Precision] ¥ª¥×¥·¥ç¥ó¤òÄ´À°¤Ç¤¤Þ¤¹¡£
¤³¤ÎÆÃÄê¤Î ¥¿¥¹¥¯ ¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤ÎÎã¤Î Enemy ¥¢¥¯¥¿ (Player) ¤Î¤è¤¦¤Ë²óž¤µ¤»¤Æ¸þ¤«¤¤¹ç¤ï¤»¤Ë¤¹¤ë Blackboard Entry ¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥Î¡¼¥É¤òÄɲ䷤Ƥ«¤é¡¢ [Details] ¥Ñ¥Í¥ë¤ò¸«¤ë¤È¡¢Blackboard Key ¤Ï¼«Æ°Åª¤Ë EnemyActor ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¥¢¥¯¥¿ blackboard ÊÑ¿ô¤¬¥Õ¥£¥ë¥¿¥ê¥ó¥°¤µ¤ì¤Æ¥ê¥¹¥È¤ÎºÇ½é¤ÎÊÑ¿ô¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£
À®¸ù¾ò·ï¤ÎÈϰϤòÄ´À°¤·¤¿¤ê Node Name ¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ï¡¢ [Precision] ¥ª¥×¥·¥ç¥ó¤òÄ´À°¤Ç¤¤Þ¤¹¡£
¥Ä¡¼¥ë¥Ð¡¼ ¤«¤é¡¢ [New Task] ¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£
¥Ó¥ë¥È¥¤¥ó ¥¿¥¹¥¯¤ò»ÈÍѤ¹¤ë¤À¤±¤Ç¤Ê¤¯¡¢¥«¥¹¥¿¥Þ¥¤¥º¤ª¤è¤ÓÄêµÁ²Äǽ¤ÊÄÉ²Ã¥í¥¸¥Ã¥¯¤ò»ý¤ÄÆȼ«¤Î¥«¥¹¥¿¥à ¥¿¥¹¥¯¤òºîÀ®¤·¤Æ³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤Î¥¿¥¹¥¯¤Ï¡¢AI ¤Î°Üư®ÅÙ¤òÊѹ¹¤·¤Æ¡¢¥×¥ì¡¼¥ä¡¼¤Î¸å¤òÄɤ¦¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¿·¤·¤¤¥¿¥¹¥¯¤òºîÀ®¤¹¤ë¤È¡¢¿·¤·¤¤ ¥Ö¥ë¡¼¥×¥ê¥ó¥È ¤¬¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Æ³«¤¤Þ¤¹¡£
¥Ó¥ë¥È¥¤¥ó ¥¿¥¹¥¯¤ò»ÈÍѤ¹¤ë¤À¤±¤Ç¤Ê¤¯¡¢¥«¥¹¥¿¥Þ¥¤¥º¤ª¤è¤ÓÄêµÁ²Äǽ¤ÊÄÉ²Ã¥í¥¸¥Ã¥¯¤ò»ý¤ÄÆȼ«¤Î¥«¥¹¥¿¥à ¥¿¥¹¥¯¤òºîÀ®¤·¤Æ³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤Î¥¿¥¹¥¯¤Ï¡¢AI ¤Î°Üư®ÅÙ¤òÊѹ¹¤·¤Æ¡¢¥×¥ì¡¼¥ä¡¼¤Î¸å¤òÄɤ¦¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¿·¤·¤¤¥¿¥¹¥¯¤òºîÀ®¤¹¤ë¤È¡¢¿·¤·¤¤ ¥Ö¥ë¡¼¥×¥ê¥ó¥È ¤¬¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Æ³«¤¤Þ¤¹¡£
[¥³¥ó¥Æ¥ó¥Ä ¥Ö¥é¥¦¥¶] ¤Ç¡¢¿·¤·¤¤¥¢¥»¥Ã¥È¤Î̾Á°¤ò ¡ÖBTT_ChasePlayer¡× ¤ËÊѹ¹¤·¤Þ¤¹¡£
¿·¤·¤¯ºîÀ®¤·¤¿ ¥¿¥¹¥¯ ¡¢ ¥Ç¥³¥ì¡¼¥¿¡¼ ¡¢¤Þ¤¿¤Ï ¥µ¡¼¥Ó¥¹ ¤Ï¡¢ºîÀ®»þ¤Ë¤¹¤°¤Ë̾Á°¤òÊѹ¹¤¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
ŬÀÚ¤Ê̿̾µ¬Â§¤Ë½¾¤¤¡¢¥¢¥»¥Ã¥È¤Î̾Á°¤ËºîÀ®¤¹¤ë¥¢¥»¥Ã¥È¤Î¼ïÎà¤òɽ¤¹ÀÜƬ¼¤òÉÕ¤±¤Þ¤¹¡£
Behavior Tree ¥¿¥¹¥¯¡¡¡¦¡¦¡¦¡¡BTT
Behavior Tree ¥Ç¥³¥ì¡¼¥¿¡¼¡¡¡¦¡¦¡¦¡¡BTD
Behavior Tree ¥µ¡¼¥Ó¥¹¡¡¡¦¡¦¡¦¡¡BTS
¿·¤·¤¯ºîÀ®¤·¤¿ ¥¿¥¹¥¯ ¡¢ ¥Ç¥³¥ì¡¼¥¿¡¼ ¡¢¤Þ¤¿¤Ï ¥µ¡¼¥Ó¥¹ ¤Ï¡¢ºîÀ®»þ¤Ë¤¹¤°¤Ë̾Á°¤òÊѹ¹¤¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
ŬÀÚ¤Ê̿̾µ¬Â§¤Ë½¾¤¤¡¢¥¢¥»¥Ã¥È¤Î̾Á°¤ËºîÀ®¤¹¤ë¥¢¥»¥Ã¥È¤Î¼ïÎà¤òɽ¤¹ÀÜƬ¼¤òÉÕ¤±¤Þ¤¹¡£
Behavior Tree ¥¿¥¹¥¯¡¡¡¦¡¦¡¦¡¡BTT
Behavior Tree ¥Ç¥³¥ì¡¼¥¿¡¼¡¡¡¦¡¦¡¦¡¡BTD
Behavior Tree ¥µ¡¼¥Ó¥¹¡¡¡¦¡¦¡¦¡¡BTS
Wait ¥¿¥¹¥¯ ¤òÄɲä·¤Þ¤¹¡£
Wait Time ¤ò¡Ö4.0¡×¡¢ Random Deviation ¤ò¡Ö1. 0¡×¤ËÊѹ¹
¤³¤ì¤Ë¤è¤ê¡¢AI ¤Ï PatrolLocation ¤Ç 3 - 5 ÉÃÂԤĤ褦¤Ë»Ø¼¨¤µ¤ì¤Þ¤¹
¤³¤ì¤Ç¡¢ ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ï´°À®¤·¤Þ¤·¤¿¡£
°Ê²¼¤Î¥¹¥Æ¥Ã¥×¤Ç¤Ï¡¢
Wait Time ¤ò¡Ö4.0¡×¡¢ Random Deviation ¤ò¡Ö1. 0¡×¤ËÊѹ¹
¤³¤ì¤Ë¤è¤ê¡¢AI ¤Ï PatrolLocation ¤Ç 3 - 5 ÉÃÂԤĤ褦¤Ë»Ø¼¨¤µ¤ì¤Þ¤¹
(Random Deviation ¤Ë¤è¤ê Wait Time ¤Ë¡Ö+¡×¤Þ¤¿¤Ï¡Ö-¡×Éä¬Äɲ䵤ì¤Þ¤¹)¡£
¤³¤ì¤Ç¡¢ ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ï´°À®¤·¤Þ¤·¤¿¡£
°Ê²¼¤Î¥¹¥Æ¥Ã¥×¤Ç¤Ï¡¢
- AI ¤Î°Üư®ÅÙ¤òÊѹ¹¤¹¤ë¥í¥¸¥Ã¥¯¡¢
- AI ¤¬¥Ñ¥È¥í¡¼¥ë¤·¤Æ¤¤¤ë¤È¤¤Ë¥Ê¥Ó¥²¡¼¥È¤¹¤ë¥é¥ó¥À¥à¤Ê°ÌÃÖ¤ò¸«¤Ä¤±¤ë¥í¥¸¥Ã¥¯¡¢
- AI ¤¬¥×¥ì¡¼¥ä¡¼¤ÎÄÉÀפä¥Ñ¥È¥í¡¼¥ë¤ò¤¹¤ë¥¿¥¤¥ß¥ó¥°¤ò·èÄꤹ¤ë¥í¥¸¥Ã¥¯
Chase Player ¥¿¥¹¥¯ ¤òÀßÄꤷ¤Æ¡¢¥×¥ì¡¼¥ä¡¼¤òÄÉÀפ¹¤ëºÝ¤Î°Üư®ÅÙ¤òÊѹ¹¤·¤Þ¤¹¡£
BTT_ChasePlayer ¤ò³«¤¯
¥Ö¥ë¡¼¥×¥ê¥ó¥È¥¨¥Ç¥£¥¿¤ò³«¤¯
Æâ¤Ç±¦¥¯¥ê¥Ã¥¯¤·¡¢ Event Receive Execute AI ¥Î¡¼¥É¤òÄɲä·¤Þ¤¹¡£
¤³¤Î¥¿¥¹¥¯¤¬ ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ Æâ¤Ç¥¢¥¯¥Æ¥£¥Ù¡¼¥È¤µ¤ì¤ë¤È Event Receive Execute AI ¥Î¡¼¥É¤¬µ¯Æ°¤·¤Þ¤¹¡£
¥Ö¥ë¡¼¥×¥ê¥ó¥È¥¨¥Ç¥£¥¿¤ò³«¤¯
Æâ¤Ç±¦¥¯¥ê¥Ã¥¯¤·¡¢ Event Receive Execute AI ¥Î¡¼¥É¤òÄɲä·¤Þ¤¹¡£
¤³¤Î¥¿¥¹¥¯¤¬ ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ Æâ¤Ç¥¢¥¯¥Æ¥£¥Ù¡¼¥È¤µ¤ì¤ë¤È Event Receive Execute AI ¥Î¡¼¥É¤¬µ¯Æ°¤·¤Þ¤¹¡£
¥¨¡¼¥¸¥§¥ó¥È¤¬ AI ¥³¥ó¥È¥í¡¼¥é¡¼¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢¾ï¤Ë AI ¥Ð¡¼¥¸¥ç¥ó¤Î Event Receive Execute¡¢ Event Receive Abort¡¢¤½¤·¤Æ Event Receive Tick ¤òÁªÂò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ÈÆÍÑ¥¤¥Ù¥ó¥È¤È AI ¥¤¥Ù¥ó¥È¤ÎξÊý¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Å¬ÀڤʥС¼¥¸¥ç¥ó¤Î¤ß¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢AI ¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¤Ï AI ¥Ð¡¼¥¸¥ç¥ó¤¬¸Æ¤Ó½Ð¤µ¤ì¡¢¤½¤ì°Ê³°¤Î¾ì¹ç¤ÏÈÆÍÑ¥¤¥Ù¥ó¥È ¥Ð¡¼¥¸¥ç¥ó¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
[¥³¥ó¥Æ¥ó¥Ä ¥Ö¥é¥¦¥¶] ¤ÎÃæ¤Ë¤¢¤ë Enemy_Character ¥Ö¥ë¡¼¥×¥ê¥ó¥È¤ò³«¤¡¢ ¡ÖUpdate Walk Speed¡× ¤È¤¤¤¦Ì¾Á°¤Î ´Ø¿ô ¤òÄɲä·¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤«¤é¸Æ¤Ó½Ð¤µ¤ì¡¢AI ¤Î°Üư®ÅÙ¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤«¤é¸Æ¤Ó½Ð¤µ¤ì¡¢AI ¤Î°Üư®ÅÙ¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
µ»½ÑŪ¤Ë¤Ï¡¢Chase Player ¥¿¥¹¥¯¤Ç Cast ¥Î¡¼¥É¤«¤é Character Movement ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ë¥¢¥¯¥»¥¹¤·¡¢¥¿¥¹¥¯Æ⤫¤é°Üư®ÅÙ¤òÄ´À°¤Ç¤¤Þ¤¹¤¬¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤Ç¥µ¥Ö¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥í¥Ñ¥Æ¥£¤òľÀÜÊѹ¹¤¹¤ë¤³¤È¤Ï¤ª´«¤á¤·¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤Ç¥¥ã¥é¥¯¥¿Æâ¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¡¢É¬Íפʽ¤Àµ¤ò¹Ô¤¤¤Þ¤¹¡£
BTT_ChasePlayer ¥¿¥¹¥¯¤ÎÆâÉô¤ËÌá¤ê¡¢ As Enemy Character ¥Î¡¼¥É¤«¤é Update Walk Speed ¤ò¸Æ¤Ó½Ð¤·¤Æ ¡Ö500.0¡× ¤ËÀßÄꤷ¡¢°Ê²¼¤Î¤è¤¦¤ËÀܳ¤·¤Þ¤¹¡£
ºîÀ®¤·¤¿ Update Walk Speed ´Ø¿ô¤¬É½¼¨¤µ¤ì¤Ê¤¤»þ¤Ï¡¢ Chase Player ¥¿¥¹¥¯ ¤ËÄɲ乤ëÁ°¤Ë¡¢¤³¤Î Enemy_Character ¥Ö¥ë¡¼¥×¥ê¥ó¥È¤Î ¥³¥ó¥Ñ¥¤¥ë ¤¬É¬Íפʾì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
Update Walk Speed ¤Î¼¡¤Ï¡¢ Finish Execute ¥Î¡¼¥É¤ò 2 ¤ÄÄɲä·¡¢°Ê²¼¤Î¤è¤¦¤ËÀܳ¤·¤Þ¤¹¡£
¤³¤³¤Ç¤Ï¡¢¡ÖEnemy_Character¡×¤Ë¥¥ã¥¹¥È¤·¤¿¤È¤¤Ë¡¢¥¿¥¹¥¯¤¬Àµ¾ï¤Ë½ªÎ»¤·¤¿¤È¥Þ¡¼¥¯¤·¤Æ¤¤¤Þ¤¹¡£
À©¸æ¤µ¤ì¤¿ Pawn ¤¬¡ÖEnemy_Character¡×¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ï¡¢¥¿¥¹¥¯¤ò¼ºÇԤȤ·¤Æ¥Þ¡¼¥¯¤·¤Æ¡¢¥¿¥¹¥¯¤òÃæ»ß¤¹¤ë¤è¤¦¤Ë¤³¤Î¥±¡¼¥¹¤ò½èÍý¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤³¤Ç¤Ï¡¢¡ÖEnemy_Character¡×¤Ë¥¥ã¥¹¥È¤·¤¿¤È¤¤Ë¡¢¥¿¥¹¥¯¤¬Àµ¾ï¤Ë½ªÎ»¤·¤¿¤È¥Þ¡¼¥¯¤·¤Æ¤¤¤Þ¤¹¡£
À©¸æ¤µ¤ì¤¿ Pawn ¤¬¡ÖEnemy_Character¡×¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ï¡¢¥¿¥¹¥¯¤ò¼ºÇԤȤ·¤Æ¥Þ¡¼¥¯¤·¤Æ¡¢¥¿¥¹¥¯¤òÃæ»ß¤¹¤ë¤è¤¦¤Ë¤³¤Î¥±¡¼¥¹¤ò½èÍý¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤ò Instance Editable ÊÑ¿ô¤Ë¾º³Ê¤µ¤»¤ë¤³¤È¤Ç¡¢¤³¤Î¥Ö¥ë¡¼¥×¥ê¥ó¥È¤Î³°Éô¤«¤é Max Walk Speed ¤ÎÃͤòÀßÄꤷ¤Æ¡¢ ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ÆâÉô¤Î¥×¥í¥Ñ¥Æ¥£¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤Ç Enemy_Character ¥Ö¥ë¡¼¥×¥ê¥ó¥È¤ËÁ÷¤é¤ì¤ë Chase Speed ¤ÎÃͤÎÊѹ¹¤¬´Êñ¤Ë¤Ê¤ê¡¢AI ¤¬¥×¥ì¡¼¥ä¡¼¤òÄÉÀפ¹¤ë®ÅÙ¤òÄ´À°¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ç Chase Player Task ¤Ï´°À®¤·¤¿¤Î¤Ç¡¢°Ê²¼¤Î¥¹¥Æ¥Ã¥×¤Ç¤Ï AI ¤¬°ÜÆ°¤¹¤ë¥é¥ó¥À¥à¤Ê°ÌÃÖ¤òÆÀ¤ë¤¿¤á¤Î Find Random Patrol Task ¥í¥¸¥Ã¥¯¤òÀßÄꤷ¤Þ¤¹¡£
AI ¤¬¥×¥ì¡¼¥ä¡¼¤òÄÉÀפ·¤Æ¤¤¤Ê¤¤¤È¤¤Ï¥é¥ó¥À¥à¤Ê°ÌÃ֤˰ÜÆ°¤¹¤ë¤è¤¦¤Ë¡¢ Find Random Patrol Task ¤òÀßÄꤷ¤Þ¤¹¡£
Blueprint Behavior Tree ¥¿¥¹¥¯¤Î¼ÂÁõ¤Ï¡¢¿×®¤Ë·«¤êÊÖ¤·½èÍý¤ò¹Ô¤¦¤¿¤á¤ÎÎɤ¤ÊýË¡¤Ç¤¹¤¬¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬ÌäÂê¤È¤Ê¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥í¥¸¥Ã¥¯¤ò¥Í¥¤¥Æ¥£¥Ö¤Î Behavior Tree ¥¿¥¹¥¯¤ËÊѤ¨¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
1.BTT_FindRandomPatrol ¤ÎÆâÉô¤Ç¤Ï¡¢ Event Receive Execute AI ¤ò»ÈÍѤ·¡¢ Enemy_Character ¤Ë¥¥ã¥¹¥È¤·¤Þ¤¹¡£
As Enemy Character ¤ò¥ª¥Õ¤Ë¤·¤Æ Update Walk Speed ¤ò¸Æ¤Ó½Ð¤·¤¿¤é¡¢ New Walk Speed ¤òÊÑ¿ô¤Ë¾º³Ê¤·¡¢°Ê²¼¤Î¤è¤¦¤ËÀßÄê¤ò¤·¤Æ ¡ÖPatrol Speed¡× ¤È̾ÉÕ¤±¤Þ¤¹¡£
- Variable Name ¤ò ¡ÖPatrolSpeed¡×¤ËÀßÄê
- Instance Editable ¤ò ¡ÖEnabled¡×¤ËÀßÄê
- Patrol Speed (Default Value) ¤ò ¡Ö125.0¡×¤ËÀßÄê
3.Controlled Pawn ¤È Get Actor Location ¤ò¥ª¥Õ¤Ë¤·¡¢ Branch ¤ËÀܳ¤µ¤ì¤¿ Return Value ¤È¤È¤â¤Ë GetRandomReachablePointInRadius ¤ò¥ª¥Õ¤Ë¤·¤Þ¤¹¡£
- Variable Name ¤ò ¡ÖPatrolRadius¡×¤ËÀßÄê
- Instance Editable ¤ò ¡ÖEnabled¡×¤ËÀßÄê
- Patrol Radius (Default Value) ¤ò ¡Ö1000.0¡×¤ËÀßÄê
¤³¤³¤Ç¤Ï¡¢Å¨¥¥ã¥é¥¯¥¿¡¼¤Î¸½ºß°ÌÃÖ¤«¤é 1000 ñ°Ì°ÊÆâ¤Î¥é¥ó¥À¥à¤Ê°ÌÃÖ¤ò¸«¤Ä¤±¤Þ¤¹¡£
¤Þ¤¿¡¢Branch ¥Î¡¼¥É¤ò»ÈÍѤ·¤Æ¡¢°ÜÆ°Àè¤Î¥é¥ó¥À¥à¤Ê¥Ý¥¤¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤¤¥¨¥Ã¥¸¥±¡¼¥¹¤ò½èÍý¤·¤Þ¤¹¡£
5.Random Location ¥Ô¥ó¤ò¥ª¥Õ¤Ë¤·¤Æ¡¢ ¡ÖPatrolLocation¡×¤È̾ÉÕ¤±¤¿ÊÑ¿ô¤Ë¾º³Ê¤µ¤ì¤¿ Key ¤È¤È¤â¤Ë Set Blackboard Value as Vector ¤ò»ÈÍѤ·¤Þ¤¹¡£
6.Get Actor Location ¤«¤é¼èÆÀ¤·¤¿ Value ¤ò»ý¤ÄÊ̤ΠSet Blackboard Value to Vector ¥Î¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
ºÇ¸å¤Î¥¹¥Æ¥Ã¥×¤ËÈ÷¤¨¤Æ AI ¥³¥ó¥È¥í¡¼¥é¡¼¤ÎÆâÉô¤Ç¾¯¤·ºî¶È¤ò¹Ô¤Ã¤Æ¤«¤é ¥Ç¥³¥ì¡¼¥¿¡¼ ¤òÀßÄꤷ¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Î¤É¤Î¥Ö¥é¥ó¥Á¤ËÆþÎϤ¹¤ë¤«¤ò·èÄꤷ¤Þ¤¹¡£
[¥³¥ó¥Æ¥ó¥Ä ¥Ö¥é¥¦¥¶] ¤Ç¡¢ Enemy_Controller ¥Ö¥ë¡¼¥×¥ê¥ó¥È¤ò³«¤¡¢ Event On Possess ¥Î¡¼¥É¤òÄɲä·¤Þ¤¹¡£
[¥³¥ó¥Ý¡¼¥Í¥ó¥È] ¥¦¥£¥ó¥É¥¦¤Ç¡¢ [+ Add Component] ¤ò¥¯¥ê¥Ã¥¯
¡ÖAIPerception¡× ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¸¡º÷¤·¤ÆÄɲä·¤Þ¤¹¡£
AI Perception ¥³¥ó¥Ý¡¼¥Í¥ó¥È ¤Ï¡¢ AI Perception System Æâ¤Ë»É·ã¥ê¥¹¥Ê¡¼¤òºîÀ®¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¡¢±þÅú²Äǽ¤ÊÅÐÏ¿ºÑ¤ß¤Î»É·ã (»ä¤¿¤Á¤Î¾ì¹ç¡¢»ë³Ð¤ò»È¤¤¤Þ¤¹) ¤ò¼ý½¸¤·¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢AI ¤¬¼ÂºÝ¤Ë¥×¥ì¡¼¥ä¡¼¤òǧ¼±¤·¡¢¤½¤ì¤Ë±þ¤¸¤ÆÈ¿±þ¤Ç¤¤ë¥¿¥¤¥ß¥ó¥°¤òȽÃǤǤ¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡ÖAIPerception¡× ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¸¡º÷¤·¤ÆÄɲä·¤Þ¤¹¡£
AI Perception ¥³¥ó¥Ý¡¼¥Í¥ó¥È ¤Ï¡¢ AI Perception System Æâ¤Ë»É·ã¥ê¥¹¥Ê¡¼¤òºîÀ®¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¡¢±þÅú²Äǽ¤ÊÅÐÏ¿ºÑ¤ß¤Î»É·ã (»ä¤¿¤Á¤Î¾ì¹ç¡¢»ë³Ð¤ò»È¤¤¤Þ¤¹) ¤ò¼ý½¸¤·¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢AI ¤¬¼ÂºÝ¤Ë¥×¥ì¡¼¥ä¡¼¤òǧ¼±¤·¡¢¤½¤ì¤Ë±þ¤¸¤ÆÈ¿±þ¤Ç¤¤ë¥¿¥¤¥ß¥ó¥°¤òȽÃǤǤ¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
AIPerception ¥³¥ó¥Ý¡¼¥Í¥ó¥È ¤Î [Details] ¥Ñ¥Í¥ë¤Ç¡¢ [AI Sight config] ¤òÄɲä·¡¢ [Detect Neutrals] ¤ò͸ú¤Ë¤·¤Þ¤¹¡£¢¨¥¿¥Ö¤ò³«¤¯
[Detection by Affiliation] ¥×¥í¥Ñ¥Æ¥£¤ò»È¤¦¤È¡¢Æ±¤¸½ê°¤Î¥Á¡¼¥à¥á¡¼¥È¤ÈÂÐÀ路¤¿¤ê¡¢ÂÐΩ¤¹¤ë½ê°¥á¥ó¥Ð¡¼¤ò¹¶·â¤·¤¿¤ê¤¹¤ë¥Á¡¼¥à¥Ù¡¼¥¹¤Î AI ¤òÀßÄê¤Ç¤¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ ¥¢¥¯¥¿ ¤Ë¤Ï½ê°¤¬³ä¤êÅö¤Æ¤é¤ì¤º¡¢ÃæΩ¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
[Detection by Affiliation] ¥×¥í¥Ñ¥Æ¥£¤ò»È¤¦¤È¡¢Æ±¤¸½ê°¤Î¥Á¡¼¥à¥á¡¼¥È¤ÈÂÐÀ路¤¿¤ê¡¢ÂÐΩ¤¹¤ë½ê°¥á¥ó¥Ð¡¼¤ò¹¶·â¤·¤¿¤ê¤¹¤ë¥Á¡¼¥à¥Ù¡¼¥¹¤Î AI ¤òÀßÄê¤Ç¤¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ ¥¢¥¯¥¿ ¤Ë¤Ï½ê°¤¬³ä¤êÅö¤Æ¤é¤ì¤º¡¢ÃæΩ¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
¸½»þÅÀ¤Ç¤Ï¡¢¥Ö¥ë¡¼¥×¥ê¥ó¥È¤ò»È¤Ã¤Æ½ê°¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢¥×¥ì¡¼¥ä¡¼¤ò¸¡½Ð¤¹¤ë¤¿¤á¤Ë¡¢ [Detect Neutral] ¥Õ¥é¥°¤ò͸ú¤Ë¤·¤Þ¤¹¡£Ê̤ÎÊýË¡¤È¤·¤Æ¡¢¤É¤Î¥¥ã¥é¥¯¥¿¡¼¤¬¥×¥ì¡¼¥ä¡¼¤Ç¤¢¤ë¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë Actor Tagging ¤ò»ÈÍѤ·¡¢AI ¥¥ã¥é¥¯¥¿¡¼ (ã) ¤¬¥×¥ì¡¼¥ä¡¼¤È¤·¤Æ¥¿¥°ÉÕ¤±¤µ¤ì¤¿¥¢¥¯¥¿¤Î¤ß¤ò¶¯À©Åª¤ËÄÉÀפ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
°Ê²¼¤Ë¼¨¤¹ Condition ¤Ç Branch ¥Î¡¼¥É¤òÄɲä·¤Þ¤¹¡£
¤³¤³¤Ç¤Ï¡¢¥¢¥¯¥¿¤¬Àµ¾ï¤Ë´¶ÃΤµ¤ì¤¿¤«¤É¤¦¤«¡¢¤½¤·¤Æ¥¢¥¯¥¿¤Ë¥×¥ì¡¼¥ä¡¼¤Î¥¿¥°¤¬¤¢¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£
¤³¤³¤Ç¤Ï¡¢¥¢¥¯¥¿¤¬Àµ¾ï¤Ë´¶ÃΤµ¤ì¤¿¤«¤É¤¦¤«¡¢¤½¤·¤Æ¥¢¥¯¥¿¤Ë¥×¥ì¡¼¥ä¡¼¤Î¥¿¥°¤¬¤¢¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£
Break AIStimulus ¥Î¡¼¥É¤òÁªÂò¤¹¤ë¤È¡¢ [Details] ¥Ñ¥Í¥ë¤Ç [Hide Unconnected Pins] ¤ò»ÈÍѤ·¤ÆÀܳ¤µ¤ì¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¥Ô¥ó¤òÈóɽ¼¨¤Ë¤·¡¢¾å¤Î¿Þ¤Î¤è¤¦¤Ë¥°¥é¥Õ¤òɽ¼¨¤Ç¤¤Þ¤¹¡£
Branch ¤Î False ¤ò¥ª¥Õ¤Ë¤·¡¢ [Set Timer by Event] ¤ò»ÈÍѤ·¤Þ¤¹¡£
[Time] ¤ò ¡Ö4.0¡× ¤Ë¤¹¤ë
[Time] ¤ò ¡Ö4.0¡× ¤Ë¤¹¤ë
¡ÖEnemyTimer¡×¤È̾ÉÕ¤±¤ë
¤³¤ì¤Ë¤è¤ê¡¢ ¥Ï¥ó¥É¥ë ¤ò»ÈÍѤ·¤Æ Timer ¤Ø¤Î»²¾È¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£
¤³¤Î¥Ï¥ó¥É¥ë¤Ï¡¢¥¹¥¯¥ê¥×¥È¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤Æ¥Ï¥ó¥É¥ë¼«ÂΤò̵¸ú¤Ë¤·¡¢´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥¤¥Ù¥ó¥È (´ØÏ¢¤¹¤ë¥¤¥Ù¥ó¥È¤Î¼Â¹Ô¤ò˸¤²¤Þ¤¹) ¤ò¥¯¥ê¥¢¤·¤Þ¤¹¡£
¤³¤ì¤Ï¸å¤Ç¡¢¡ÖLine of Sight Timer¡×¤¬ÀÚ¤ì¤ëÁ°¤Ë AI ¤¬¥×¥ì¥¤¥ä¡¼¤òºÆ³Îǧ¤¹¤ë¥¤¥Ù¥ó¥È¤Ë»ÈÍѤǤ¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢AI ¤¬¥×¥ì¥¤¥ä¡¼¤ò¸«¼º¤Ã¤ÆÄÉÀפòÊü´þ¤¹¤ë¤Î¤òËɤ°¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢ ¥Ï¥ó¥É¥ë ¤ò»ÈÍѤ·¤Æ Timer ¤Ø¤Î»²¾È¤¬³ÊǼ¤µ¤ì¤Þ¤¹¡£
¤³¤Î¥Ï¥ó¥É¥ë¤Ï¡¢¥¹¥¯¥ê¥×¥È¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤Æ¥Ï¥ó¥É¥ë¼«ÂΤò̵¸ú¤Ë¤·¡¢´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥¤¥Ù¥ó¥È (´ØÏ¢¤¹¤ë¥¤¥Ù¥ó¥È¤Î¼Â¹Ô¤ò˸¤²¤Þ¤¹) ¤ò¥¯¥ê¥¢¤·¤Þ¤¹¡£
¤³¤ì¤Ï¸å¤Ç¡¢¡ÖLine of Sight Timer¡×¤¬ÀÚ¤ì¤ëÁ°¤Ë AI ¤¬¥×¥ì¥¤¥ä¡¼¤òºÆ³Îǧ¤¹¤ë¥¤¥Ù¥ó¥È¤Ë»ÈÍѤǤ¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢AI ¤¬¥×¥ì¥¤¥ä¡¼¤ò¸«¼º¤Ã¤ÆÄÉÀפòÊü´þ¤¹¤ë¤Î¤òËɤ°¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤½¤ì¤¾¤ì¡ÖHasLineOfSight¡×¤È¡ÖEnemyActor¡×¤È̾ÉÕ¤±¤Þ¤¹¡£
Player Character ¤È Enemy Character ¥Ö¥ë¡¼¥×¥ê¥ó¥È¤ÎÀßÄê¤ò¤¤¤¯¤Ä¤«Ä´À°¤·¤Þ¤¹¡£
¤Þ¤¿¡¢ ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Ë¤Ï¡¢»ØÄꤵ¤ì¤¿¾ò·ï¤Ë´ð¤Å¤¤¤ÆÆþÎϲÄǽ¤Ê¥Ö¥é¥ó¥Á¤ò·èÄꤹ¤ë ¥Ç¥³¥ì¡¼¥¿¡¼ ¤òÀßÄꤷ¤Þ¤¹¡£
¤Þ¤¿¡¢ ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Ë¤Ï¡¢»ØÄꤵ¤ì¤¿¾ò·ï¤Ë´ð¤Å¤¤¤ÆÆþÎϲÄǽ¤Ê¥Ö¥é¥ó¥Á¤ò·èÄꤹ¤ë ¥Ç¥³¥ì¡¼¥¿¡¼ ¤òÀßÄꤷ¤Þ¤¹¡£
4.BT_Enemy ¤ò³«¤¤¤Æ [Chase Player] ¤ò±¦¥¯¥ê¥Ã¥¯¤·¡¢ [Add Decorator...] ¤Î²¼¤Î [Blackboard] ¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£
¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Ç¥Î¡¼¥É¤ò±¦¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢Äɲõ¡Ç½¤òÄ󶡤¹¤ë¥µ¥Ö¥Î¡¼¥É¤òÄɲäǤ¤Þ¤¹¡£
¥µ¥Ö¥Î¡¼¥É
- ¥Ç¥³¥ì¡¼¥¿¡¼
¡¡¡¡¡¡¡¡Ê̤ΥΡ¼¥É¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¡¢¥Ä¥ê¡¼¤Î¥Ö¥é¥ó¥Á¤¢¤ë¤¤¤Ï¥Î¡¼¥É 1 ¤Ä¤Ç¤â¼Â¹Ô²Äǽ¤«¤É¤¦¤«¤ÎȽÃǤò¤¹¤ë¥Î¡¼¥É¤Ç¤¹¡£
- ¥µ¡¼¥Ó¥¹
¡¡¡¡¡¡¡¡Â¿¤¯¤Î¾ì¹ç¡¢ ¥Ö¥é¥Ã¥¯¥Ü¡¼¥É ¤Î³Îǧ¤ä¹¹¿·¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¤³¤ì¤é¤Ï¡¢Â¾¤Î Behavior Tree ¥·¥¹¥Æ¥à¤Î½¾Íè¤Î Parallel ¥Î¡¼¥É¤ËÂå¤ï¤ë¤â¤Î¤Ç¤¹¡£
Blackboard ¥Ç¥³¥ì¡¼¥¿¡¼ ¤ò»ÈÍѤ·¤Æ Blackboard Key ¤ÎÃͤò·èÄꤷ¤Þ¤¹¡£
¤³¤ì¤¬Í¸ú¤Ê¾ì¹ç¡¢¤³¤Î¥Ö¥é¥ó¥Á¤Î¼Â¹Ô¤òµö²Ä¤·¤Þ¤¹¡£
- [Observer Aborts] ¤ò ¡ÖBoth¡× ¤ËÀßÄê
- [Blackboard Key] ¤ò ¡ÖHasLineOfSIght¡× ¤ËÀßÄê
- [Node Name] ¤ò ¡ÖHas Line of Sight?¡× ¤ËÀßÄê
[Observer aborts] ¤ÎÀßÄ꤬¡ÖBoth¡×¤Î¾ì¹ç¤Ï¡¢ Blackboard Key ¤ËÊѹ¹¤ò³ä¤êÅö¤Æ¤ë¤È¡¢¼«Ê¬¼«¿È (Chase Player) ¤È¤½¤ì¤è¤ê¤âÍ¥ÀèÅÙ¤ÎÄ㤤¥¿¥¹¥¯¤òÃæ»ß¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢ HasLineOfSight ¤ÎÃͤ¬Êѹ¹¤µ¤ì¤ÆÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¼«¿È (Chase Player) ¤òÃæ»ß¤·¡¢¤½¤Î»þÅÀ¤Ç¼¡¤Î¥Ö¥é¥ó¥Á (Patrol) ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
HasLineOfSight Ãͤ¬ºÆ¤Ó¡ÖIs Set¡×¤Ë¤Ê¤ë¤È¡¢Observer ¤ÏÍ¥ÀèÅÙ¤ÎÄ㤤¥¿¥¹¥¯¤òÃæ»ß¤·¡¢ºÆÅÙ Chase Player ¥Ö¥é¥ó¥Á¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ç AI ¤ò¥Æ¥¹¥È¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¡¢AI ¤¬¥æ¡¼¥¶¡¼¤òǧ¼±¤·¤¿¤È¤¤ËÄÉÀפò»Ï¤á¤Þ¤¹¡£
AI ¤Ï¡¢¥æ¡¼¥¶¡¼¤ò¸«¼º¤Ã¤¿¾ì¹ç¤Ç¤â¡¢¥æ¡¼¥¶¡¼¤òÄÉÀפ·¤Æ»ëÀþ¤ò¼è¤êÌ᤽¤¦¤È¤·¤Þ¤¹¡£
Line Of Sight Timer ¤ÎÃͤËÆþÎϤ·¤¿»þ´Ö¤¬²á¤®¤ë¤È¡¢ÄÉÀפòÄü¤á¤Æ¥Ñ¥È¥í¡¼¥ë¤ËÌá¤ê¤Þ¤¹¡£
ºÆÀ¸Ãæ¤ËÆ°ºîÃæ¤Î ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤ò¸«¤Æ¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤¬¥Ö¥é¥ó¥Á´Ö¤Ç¤É¤Î¤è¤¦¤ËÀÚ¤êÂؤï¤ë¤«¤ò³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
ºÆÀ¸Ãæ¤Ë ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ Æâ¤ÇÊÑ¿ô¤ò´Æ»ë¤·¤Æ¡¢AI ¤Î¸½ºßÃͤòÃΤ뤳¤È¤â¤Ç¤¤Þ¤¹¡£
AI ¤Ï¡¢¥æ¡¼¥¶¡¼¤ò¸«¼º¤Ã¤¿¾ì¹ç¤Ç¤â¡¢¥æ¡¼¥¶¡¼¤òÄÉÀפ·¤Æ»ëÀþ¤ò¼è¤êÌ᤽¤¦¤È¤·¤Þ¤¹¡£
Line Of Sight Timer ¤ÎÃͤËÆþÎϤ·¤¿»þ´Ö¤¬²á¤®¤ë¤È¡¢ÄÉÀפòÄü¤á¤Æ¥Ñ¥È¥í¡¼¥ë¤ËÌá¤ê¤Þ¤¹¡£
ºÆÀ¸Ãæ¤ËÆ°ºîÃæ¤Î ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤ò¸«¤Æ¡¢¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼¤¬¥Ö¥é¥ó¥Á´Ö¤Ç¤É¤Î¤è¤¦¤ËÀÚ¤êÂؤï¤ë¤«¤ò³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
ºÆÀ¸Ãæ¤Ë ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ Æâ¤ÇÊÑ¿ô¤ò´Æ»ë¤·¤Æ¡¢AI ¤Î¸½ºßÃͤòÃΤ뤳¤È¤â¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ç¡¢AI ¥¥ã¥é¥¯¥¿¡¼¤¬¥×¥ì¡¼¥ä¡¼¤òÄÉÀפ·¡¢»ØÄꤵ¤ì¤¿»þ´ÖÆâ¤Ë¥×¥ì¡¼¥ä¡¼¤ò¸«¼º¤Ã¤¿¸å¤ÏºÆ¤Ó½ä²ó¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç¡¢¼¡¤ÎÍ×ÁǤò ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤ËÄɲ䷤ƤߤƤ¯¤À¤µ¤¤¡£
- ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Ç¡¢Î¾Êý¤Î Move To ¥¿¥¹¥¯¤Ë¡¢¤½¤ì¤ËÀè¹Ô¤¹¤ë ¥¿¥¹¥¯ ¤«¤é¤Îµ¡Ç½¤òÁȤ߹þ¤ó¤À¿·¤·¤¤ ¥µ¡¼¥Ó¥¹ ¤òÄɲä·¤Þ¤¹¡£
- ¥ª¥ê¥¸¥Ê¥ë¤Î ¥Ó¥Ø¥¤¥Ó¥¢¥Ä¥ê¡¼ ¤Ï¡¢°Üư®ÅÙ¤òÄ´À°¤· (¥×¥ì¥¤¥ä¡¼¤òÄɤ¤¤«¤±¤ë¾ì¹ç)¡¢¥é¥ó¥À¥à¤Ë°ÜÆ°¤¹¤ë°ÌÃÖ¤òõº÷¤·¤¿¤ê°Üư®ÅÙ¤òÃÙ¤¯¤¹¤ë¤¿¤á (¥Ñ¥È¥í¡¼¥ë¤Î¾ì¹ç) ¤Ë¡¢ÊÌ¡¹¤Î ¥¿¥¹¥¯ ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤é¤ò Move To ¥¿¥¹¥¯ ¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë ¥µ¡¼¥Ó¥¹ ¤ËÊÑ´¹¤·¤Þ¤¹¡£
- ¥Ò¥ó¥È¡§ ³Æ ¥µ¡¼¥Ó¥¹ ¤Î¥¹¥¯¥ê¥×¥È¤Ï³Æ ¥¿¥¹¥¯ ¤Î¥¹¥¯¥ê¥×¥È¤Ë»÷¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢ Event Receive Execute AI ¤ÎÂå¤ï¤ê¤Ë Event Receive Activation AI ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£¤Ê¤¼¤Ê¤é¤³¤ì¤é¤Ï ¥µ¡¼¥Ó¥¹ ¤Ç¤¢¤ë¤¿¤á¡¢ Finish Execute ¥Î¡¼¥É¤âɬÍפ¢¤ê¤Þ¤»¤ó¡£
- ¥é¥ó¥À¥à¤Ê¥Ñ¥È¥í¡¼¥ëÃÏÅÀ¤ò»ÈÍѤ·¤Æ°ÜÆ°¤¹¤ëÂå¤ï¤ê¤Ë¡¢AI ¤¬°ÜÆ°¤Ç¤¤ë¥Ù¥¯¥¿¡¼ÃͤÎÇÛÎó ÊÑ¿ô¤ò´Þ¤à Patrol Path ¥Ö¥ë¡¼¥×¥ê¥ó¥È ¤òºîÀ®¤·¤Þ¤¹¡£
- ¥Ò¥ó¥È¡§ ½ä²ó¤·¤ÆÇÛÎóÆâ¤Î¼¡¤Î¥¨¥ó¥È¥ê¤ò¼èÆÀ¤·¡¢¤½¤Î°ÌÃÖ´Ö¤Ç AI ¤ò°ÜÆ°¤µ¤»¤Æ¤«¤é¡¢ÇÛÎóÆâ¤Î¸½ºß¤Î¥¨¥ó¥È¥ê¤Ë´ð¤Å¤¤¤Æ Blackboard Key ¤ÎÃͤΠPatrolLocation ¤ò¹¹¿·¤·¤Þ¤¹¡£
- ¥×¥ì¡¼¥ä¡¼¤Î»ëÀþ¤¬¼º¤ï¤ì¤¿¾ì¹ç¤Ï¡¢¥×¥ì¡¼¥ä¡¼¤Î¸½ºß¤Î¾ì½ê¤ò¼èÆÀ¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢AI ¤ò¥×¥ì¡¼¥ä¡¼¤ÎºÇ¸å¤Î´ûÃΤΰÌÃ֤˰ÜÆ°¤·¤Þ¤¹¡£
- ¥Ò¥ó¥È¡§ Turning and Chasing the Player ¤Î Move To ¥³¥Þ¥ó¥É¤Ç¤Ï¡¢¸½ºß (¥×¥ì¡¼¥ä¡¼¤Î¸½ºß¤Î°ÌÃÖ¤ò¼èÆÀ¤¹¤ë) EnemyActor ¤Î°ÌÃÖ¤ò¼èÆÀ¤¹¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤¿¤á¡¢ EnemyActor ¤ÎÂå¤ï¤ê¤Ë°ÌÃÖ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
- ¥×¥ì¥¤¥ä¡¼¤ËÀÜ¿¨¤·¤¿¤é¡¢AI ¤Ë¥¢¥¿¥Ã¥¯µ¡Ç½¤òÄɲä·¤Þ¤¹¡£
- ¥Ò¥ó¥È¡§ Turning and Chasing the Player ¤Î Background ¥¿¥¹¥¯ ¤È¤·¤Æ¿·¤·¤¤ Composite ¥Î¡¼¥É¤òÄɲä·¤Þ¤¹¡£AI ¤¬¥×¥ì¡¼¥ä¡¼¤ËÀÜ¿¨¤·¤¿¤é¡¢¥¢¥¿¥Ã¥¯ ¥¢¥Ë¥á¡¼¥·¥ç¥óÍѤΠTask ¥Î¡¼¥É¤òÄɲä·¤Þ¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¥²¡¼¥à
- Unreal Engine