https://youtu.be/8RlLQosYFPA
00:00¡¡¥ª¡¼¥×¥Ë¥ó¥°
00:22¡¡1.NavMeshBound Volume¤ÎÇÛÃÖ
01:21¡¡2.NPC¥¥ã¥é¥¯¥¿¡¼¤ÎºîÀ®
02:16¡¡3.NPC¥Ö¥ë¡¼¥×¥ê¥ó¥È¤ÎºîÀ®
04:08¡¡4.ÆÃÄê¤Î¾ì½ê¤Ç°ÜÆ°¤¹¤ëNPC
06:26¡¡¤¶¤Ã¤¯¤ê¤Þ¤È¤á¡ª
06:37¡¡ÀßÄê¥Õ¥¡¥¤¥ë
06:44¡¡¥¨¥ó¥Ç¥£¥ó¥°
1.NavMeshBound Volume¤ÎÇÛÃÖ¡¡00:22
Unreal Engine¤Î¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥·¥¹¥Æ¥à¤Ï¡¢
¿Í¹©ÃÎǽ¡ÊAI¡Ë¤Ç¥¹¥¿¡¼¥È°ÌÃÖ¤«¤éÌÜŪÃϤޤǡ¢ºÇŬ¤Ê¥Ñ¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£
¡Ö¥¢¥¯¥¿¤òÇÛÃ֡פè¤ê
NavMeshBound Volume¤ò¥ì¥Ù¥ë¾å¤Ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Þ¤¹¡£
¥Ê¥Ó¥²¡¼¥·¥ç¥ó ¥á¥Ã¥·¥å ¥Ð¥¦¥ó¥º ¥Ü¥ê¥å¡¼¥à¡£
NavMeshBound Volume¤Ï¡¢
¥ì¥Ù¥ëÆâ¤Ç¥Ê¥Ó¥²¡¼¥·¥ç¥ó¤¹¤ëÎΰè¤ò»ØÄꤷ¤Þ¤¹¡£
[¾ÜºÙ]¥Ñ¥Í¥ë¡ä[Scale] ¤Ç¥×¥ì¥¤ÎΰèÁ´ÂΤòʤ¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
X = 30¡¢Y= 30¡¢Z = 30 ¤ËÀßÄꤷ¤Þ¤¹¡£
¥¡¼¥Ü¡¼¥É¤ÎP¥¡¼¤ò²¡¤¹¤È¡¢
¥ì¥Ù¥ëÆâ¤Î¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥á¥Ã¥·¥å¤ò»ë³Ð²½¤Ç¤¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏÎп§¤Ç»ë³Ð²½¤µ¤ì¤Þ¤¹¡£
»ë³Ð²½¤¬¸«¤Ë¤¯¤¤¾ì¹ç¤Ï¡¢
¥¢¥¦¥È¥é¥¤¥Ê¡¼¤Ç¡¢ [RecastNavMesh-Default]¤òÁªÂò¤·¤Þ¤¹¡£
[¾ÜºÙ]¥Ñ¥Í¥ë¡ä[ɽ¼¨]¡ä[¥ª¥Õ¥»¥Ã¥È¤òÉÁ²è]¤Ç
¥Ê¥Ó¥²¡¼¥·¥ç¥ó ¥á¥Ã¥·¥å¤¬ÉÁ²è¤µ¤ì¤ë¹â¤µ¤òÄ´À°¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Ãͤò¡Ö50¡×¤Ë¤·¤Æ¤ß¤Þ¤¹¡£
¹â¤µ¤¬ÊѤï¤ê¤Þ¤¹¡£
¿Í¹©ÃÎǽ¡ÊAI¡Ë¤Ç¥¹¥¿¡¼¥È°ÌÃÖ¤«¤éÌÜŪÃϤޤǡ¢ºÇŬ¤Ê¥Ñ¥¹¤ò¸¡º÷¤·¤Þ¤¹¡£
¡Ö¥¢¥¯¥¿¤òÇÛÃ֡פè¤ê
NavMeshBound Volume¤ò¥ì¥Ù¥ë¾å¤Ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Þ¤¹¡£
¥Ê¥Ó¥²¡¼¥·¥ç¥ó ¥á¥Ã¥·¥å ¥Ð¥¦¥ó¥º ¥Ü¥ê¥å¡¼¥à¡£
NavMeshBound Volume¤Ï¡¢
¥ì¥Ù¥ëÆâ¤Ç¥Ê¥Ó¥²¡¼¥·¥ç¥ó¤¹¤ëÎΰè¤ò»ØÄꤷ¤Þ¤¹¡£
[¾ÜºÙ]¥Ñ¥Í¥ë¡ä[Scale] ¤Ç¥×¥ì¥¤ÎΰèÁ´ÂΤòʤ¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
X = 30¡¢Y= 30¡¢Z = 30 ¤ËÀßÄꤷ¤Þ¤¹¡£
¥¡¼¥Ü¡¼¥É¤ÎP¥¡¼¤ò²¡¤¹¤È¡¢
¥ì¥Ù¥ëÆâ¤Î¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥á¥Ã¥·¥å¤ò»ë³Ð²½¤Ç¤¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏÎп§¤Ç»ë³Ð²½¤µ¤ì¤Þ¤¹¡£
»ë³Ð²½¤¬¸«¤Ë¤¯¤¤¾ì¹ç¤Ï¡¢
¥¢¥¦¥È¥é¥¤¥Ê¡¼¤Ç¡¢ [RecastNavMesh-Default]¤òÁªÂò¤·¤Þ¤¹¡£
[¾ÜºÙ]¥Ñ¥Í¥ë¡ä[ɽ¼¨]¡ä[¥ª¥Õ¥»¥Ã¥È¤òÉÁ²è]¤Ç
¥Ê¥Ó¥²¡¼¥·¥ç¥ó ¥á¥Ã¥·¥å¤¬ÉÁ²è¤µ¤ì¤ë¹â¤µ¤òÄ´À°¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Ãͤò¡Ö50¡×¤Ë¤·¤Æ¤ß¤Þ¤¹¡£
¹â¤µ¤¬ÊѤï¤ê¤Þ¤¹¡£
2.NPC¥¥ã¥é¥¯¥¿¡¼¤ÎºîÀ®¡¡01:21
[BP_ThirdPersonCharacter] ¥Ö¥ë¡¼¥×¥ê¥ó¥È¤òÊ£À½¤·¤Þ¤¹¡£
̾Á°¤ò¡ÖBP_NPC_Nav¡×¤Ë¤·¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë¤ò³«¤¤Þ¤¹¡£
¥«¥á¥é¤ÏÉÔÍפʤΤǺï½ü¤·¤Þ¤¹¡£
ʬ¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¥Þ¥Æ¥ê¥¢¥ë¤òÊѹ¹¤·¤Þ¤¹¡£
Ê⤯¥¹¥Ô¡¼¥É¤ò300¤Ë¤·¤Þ¤¹¡£
¥¤¥Ù¥ó¥È¥°¥é¥Õ¤Ç¡¢ÆþÎϥΡ¼¥É¤ò¤¹¤Ù¤Æºï½ü¤·¤Þ¤¹¡£
̾Á°¤ò¡ÖBP_NPC_Nav¡×¤Ë¤·¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë¤ò³«¤¤Þ¤¹¡£
¥«¥á¥é¤ÏÉÔÍפʤΤǺï½ü¤·¤Þ¤¹¡£
ʬ¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¥Þ¥Æ¥ê¥¢¥ë¤òÊѹ¹¤·¤Þ¤¹¡£
Ê⤯¥¹¥Ô¡¼¥É¤ò300¤Ë¤·¤Þ¤¹¡£
¥¤¥Ù¥ó¥È¥°¥é¥Õ¤Ç¡¢ÆþÎϥΡ¼¥É¤ò¤¹¤Ù¤Æºï½ü¤·¤Þ¤¹¡£
3.NPC¥Ö¥ë¡¼¥×¥ê¥ó¥È¤ÎºîÀ®¡¡02:16
½àÈ÷¤¬¤Ç¤¤¿¤Î¤Ç¡¢¥Ö¥ë¡¼¥×¥ê¥ó¥È¤òµ½Ò¤·¤Æ¤¤¤¤Þ¤¹¡£
Custom Event¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
̾Á°¤ò¡ÖMoveNPC¡×¤Ë¤·¤Þ¤¹¡£
Get Actor Location¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
GetActorLocation ¥Î¡¼¥É¤«¤éGet Random Reachable Point In Radius¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
[Radius (Ⱦ·Â)]¤ò1000¤ËÀßÄꤷ¤Þ¤¹¡£
Get Random Reachable Point In Radius¥Î¡¼¥É¤Ï¡¢
»ØÄꤵ¤ì¤¿¸¶ÅÀ°ÌÃÖ¤«¤éÅþã²Äǽ¤Ê¡¢¥é¥ó¥À¥à¤Ê°ÌÃÖ¤òÀ¸À®¤·¤Þ¤¹¡£
AI Move To¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
¥«¥¹¥¿¥à¥¤¥Ù¥ó¥ÈMoveNPC ¥Î¡¼¥É¤Ë¤Ä¤Ê¤®¤Þ¤¹¡£
Pawn¥Ô¥ó¤ËSelf¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
Destination¥Ô¥ó¤ËGet Random Reachable Point In Radius¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
½ÐÎÏ¥Ô¥ó¡¢[On Success]¥Ô¥ó¤Ë¡¢Delay¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
[Duration] ¤ò¡Ö2¡×¤ËÀßÄꤷ¤Þ¤¹¡£
¥«¥¹¥¿¥à¥¤¥Ù¥ó¥ÈMoveNPC¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
½ÐÎÏ¥Ô¥ó¡¢[On Fail]¥Ô¥ó¤Ë¡¢Delay¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
[Duration] ¤ò¡Ö0.1¡×¤ËÀßÄꤷ¤Þ¤¹¡£
Event BeginPlay¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
¥«¥¹¥¿¥à¥¤¥Ù¥ó¥ÈMoveNPC¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¡¢Êݸ¤·¤Þ¤¹¡£
¥ì¥Ù¥ëÆâ¤Ë¡ÖBP_NPC_Nav¡×¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Þ¤¹¡£
¤¿¤¯¤µ¤óÇÛÃÖ¤·¤Þ¤¹¡£
µ¯Æ°¤·¤Þ¤¹¡£
NPC¤¬¥ì¥Ù¥ëÆâ¤ò¥é¥ó¥À¥à¤ËÊ⤤ޤï¤ê¤Þ¤¹¡£
Custom Event¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
̾Á°¤ò¡ÖMoveNPC¡×¤Ë¤·¤Þ¤¹¡£
Get Actor Location¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
GetActorLocation ¥Î¡¼¥É¤«¤éGet Random Reachable Point In Radius¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
[Radius (Ⱦ·Â)]¤ò1000¤ËÀßÄꤷ¤Þ¤¹¡£
Get Random Reachable Point In Radius¥Î¡¼¥É¤Ï¡¢
»ØÄꤵ¤ì¤¿¸¶ÅÀ°ÌÃÖ¤«¤éÅþã²Äǽ¤Ê¡¢¥é¥ó¥À¥à¤Ê°ÌÃÖ¤òÀ¸À®¤·¤Þ¤¹¡£
AI Move To¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
¥«¥¹¥¿¥à¥¤¥Ù¥ó¥ÈMoveNPC ¥Î¡¼¥É¤Ë¤Ä¤Ê¤®¤Þ¤¹¡£
Pawn¥Ô¥ó¤ËSelf¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
Destination¥Ô¥ó¤ËGet Random Reachable Point In Radius¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
½ÐÎÏ¥Ô¥ó¡¢[On Success]¥Ô¥ó¤Ë¡¢Delay¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
[Duration] ¤ò¡Ö2¡×¤ËÀßÄꤷ¤Þ¤¹¡£
¥«¥¹¥¿¥à¥¤¥Ù¥ó¥ÈMoveNPC¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
½ÐÎÏ¥Ô¥ó¡¢[On Fail]¥Ô¥ó¤Ë¡¢Delay¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
[Duration] ¤ò¡Ö0.1¡×¤ËÀßÄꤷ¤Þ¤¹¡£
Event BeginPlay¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
¥«¥¹¥¿¥à¥¤¥Ù¥ó¥ÈMoveNPC¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¡¢Êݸ¤·¤Þ¤¹¡£
¥ì¥Ù¥ëÆâ¤Ë¡ÖBP_NPC_Nav¡×¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Þ¤¹¡£
¤¿¤¯¤µ¤óÇÛÃÖ¤·¤Þ¤¹¡£
µ¯Æ°¤·¤Þ¤¹¡£
NPC¤¬¥ì¥Ù¥ëÆâ¤ò¥é¥ó¥À¥à¤ËÊ⤤ޤï¤ê¤Þ¤¹¡£
4.ÆÃÄê¤Î¾ì½ê¤Ç°ÜÆ°¤¹¤ëNPC¡¡04:08
ÆÃÄê¤Î¾ì½ê¤ò¥é¥ó¥À¥à¤Ë¹Ô¤Í褹¤ëNPC¤òºîÀ®¤·¤Þ¤¹¡£
¡ÖBP_NPC_Nav¡×¤òÊ£À½¤·¤Þ¤¹¡£
̾Á°¤ò¡ÖBP_NPC_aimNav¡×¤Ë¤·¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë¤ò³«¤¤Þ¤¹¡£
ʬ¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¥Þ¥Æ¥ê¥¢¥ë¤òÊѹ¹¤·¤Þ¤¹¡£
Ê⤯Speed¤âÊѹ¹¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¡Ö1000¡×¤Ë¤·¤Æ¤ß¤Þ¤¹¡£
¡Ö+¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¡¢ÊÑ¿ô¤òÄɲä·¤Þ¤¹¡£
ÊÑ¿ô̾¡ÖTargetList¡×¤Ë¤·¤Þ¤¹¡£
ÊÑ¿ô¤Î·¿¤ò¡ÖActor¡×¡¢[¥ª¥Ö¥¸¥§¥¯¥È»²¾È] ¤òÁªÂò¤·¤Þ¤¹¡£
[¾ÜºÙ]¥Ñ¥Í¥ë¤Ç¡ÖÇÛÎó¡×¤ËÊѹ¹¤·¤Þ¤¹¡£
¥¤¥ó¥¹¥¿¥ó¥¹ÊÔ½¸²Äǽ¤ò͸ú¤Ë¤·¤Þ¤¹¡£
ÊÑ¿ôTargetList Get¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
ÊÑ¿ôTargetList Get¥Î¡¼¥É¤«¤é¡¢Last Index¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
Random Integer in Range¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
Max¥Ô¥óLast Index¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
ÊÑ¿ôTargetList Get¥Î¡¼¥É¤«¤é¡¢Get (a copy)¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
²¼¤Î¥Ô¥ó¤ËRandom Integer in Range¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
Get (a copy)¥Î¡¼¥É¤ò
Get Actor Location¥Î¡¼¥É¤ÎTarget¥Ô¥ó¤Ë¤Ä¤Ê¤®¤Þ¤¹¡£
Get Random Reachable Point In Radius¥Î¡¼¥É¤Î[Radius¡ÊȾ·Â¡Ë] ¤ÎÃͤò 150 ¤òÀßÄꤷ¤Þ¤¹¡£
°ÜÆ°ÀèActor¤ÎȾ·Â150cmÆâ¤Ç¥é¥ó¥À¥à¤ÊºÂɸ¤òºîÀ®¤·¤Þ¤¹¡£
AI MoveTo ¥Î¡¼¥É¤Î Acceptance Radius ¡ÊµöÍÆȾ·Â¡Ë¤ò¡Ö50¡×¤ËÀßÄꤷ¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¡¢Êݸ¤·¤Þ¤¹¡£
¥ì¥Ù¥ëÆâ¤Ë¡ÖBP_NPC_aimNav¡×¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Þ¤¹¡£
ŬÅö¤ÊStatic Meshes¤òÇÛÃÖ¤·¤Þ¤¹¡£
4¤ÄÇÛÃÖ¤·¤Þ¤¹¡£
¥ì¥Ù¥ëÆâ¤Ë¡ÖBP_NPC_aimNav¡×¤òÁªÂò¤·¤Þ¤¹¡£
[¾ÜºÙ]¥Ñ¥Í¥ë¤Î¥Ç¥Õ¥©¥ë¥È¡ä[Target List]¤Ç
¡Ö+¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Æ°ÜÆ°Àè¤ÎActor¤òÄɲä·¤Þ¤¹¡£
ItemLabel¤«¤éÁªÂò¤·¤Þ¤¹¡£
¤Þ¤¿¤Ï¡¢¥¹¥Ý¥¤¥È¤ÇÁªÂò¤·¤Þ¤¹¡£
µ¯Æ°¤·¤Þ¤¹¡£
NPC¤¬»ØÄꤷ¤¿Actor´Ö¤ò¥é¥ó¥À¥à¤Ë¹Ô¤Í褷¤Þ¤¹¡£
¡ÖBP_NPC_Nav¡×¤òÊ£À½¤·¤Þ¤¹¡£
̾Á°¤ò¡ÖBP_NPC_aimNav¡×¤Ë¤·¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë¤ò³«¤¤Þ¤¹¡£
ʬ¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¥Þ¥Æ¥ê¥¢¥ë¤òÊѹ¹¤·¤Þ¤¹¡£
Ê⤯Speed¤âÊѹ¹¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¡Ö1000¡×¤Ë¤·¤Æ¤ß¤Þ¤¹¡£
¡Ö+¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¡¢ÊÑ¿ô¤òÄɲä·¤Þ¤¹¡£
ÊÑ¿ô̾¡ÖTargetList¡×¤Ë¤·¤Þ¤¹¡£
ÊÑ¿ô¤Î·¿¤ò¡ÖActor¡×¡¢[¥ª¥Ö¥¸¥§¥¯¥È»²¾È] ¤òÁªÂò¤·¤Þ¤¹¡£
[¾ÜºÙ]¥Ñ¥Í¥ë¤Ç¡ÖÇÛÎó¡×¤ËÊѹ¹¤·¤Þ¤¹¡£
¥¤¥ó¥¹¥¿¥ó¥¹ÊÔ½¸²Äǽ¤ò͸ú¤Ë¤·¤Þ¤¹¡£
ÊÑ¿ôTargetList Get¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
ÊÑ¿ôTargetList Get¥Î¡¼¥É¤«¤é¡¢Last Index¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
Random Integer in Range¥Î¡¼¥É¤òÇÛÃÖ¤·¤Þ¤¹¡£
Max¥Ô¥óLast Index¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
ÊÑ¿ôTargetList Get¥Î¡¼¥É¤«¤é¡¢Get (a copy)¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
²¼¤Î¥Ô¥ó¤ËRandom Integer in Range¥Î¡¼¥É¤ò¤Ä¤Ê¤®¤Þ¤¹¡£
Get (a copy)¥Î¡¼¥É¤ò
Get Actor Location¥Î¡¼¥É¤ÎTarget¥Ô¥ó¤Ë¤Ä¤Ê¤®¤Þ¤¹¡£
Get Random Reachable Point In Radius¥Î¡¼¥É¤Î[Radius¡ÊȾ·Â¡Ë] ¤ÎÃͤò 150 ¤òÀßÄꤷ¤Þ¤¹¡£
°ÜÆ°ÀèActor¤ÎȾ·Â150cmÆâ¤Ç¥é¥ó¥À¥à¤ÊºÂɸ¤òºîÀ®¤·¤Þ¤¹¡£
AI MoveTo ¥Î¡¼¥É¤Î Acceptance Radius ¡ÊµöÍÆȾ·Â¡Ë¤ò¡Ö50¡×¤ËÀßÄꤷ¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¡¢Êݸ¤·¤Þ¤¹¡£
¥ì¥Ù¥ëÆâ¤Ë¡ÖBP_NPC_aimNav¡×¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Þ¤¹¡£
ŬÅö¤ÊStatic Meshes¤òÇÛÃÖ¤·¤Þ¤¹¡£
4¤ÄÇÛÃÖ¤·¤Þ¤¹¡£
¥ì¥Ù¥ëÆâ¤Ë¡ÖBP_NPC_aimNav¡×¤òÁªÂò¤·¤Þ¤¹¡£
[¾ÜºÙ]¥Ñ¥Í¥ë¤Î¥Ç¥Õ¥©¥ë¥È¡ä[Target List]¤Ç
¡Ö+¡×¤ò¥¯¥ê¥Ã¥¯¤·¤Æ°ÜÆ°Àè¤ÎActor¤òÄɲä·¤Þ¤¹¡£
ItemLabel¤«¤éÁªÂò¤·¤Þ¤¹¡£
¤Þ¤¿¤Ï¡¢¥¹¥Ý¥¤¥È¤ÇÁªÂò¤·¤Þ¤¹¡£
µ¯Æ°¤·¤Þ¤¹¡£
NPC¤¬»ØÄꤷ¤¿Actor´Ö¤ò¥é¥ó¥À¥à¤Ë¹Ô¤Í褷¤Þ¤¹¡£
[BP_Ther] ¥Ö¥ë¡¼¥×¥ê¥ó¥È¤ò³«¤¤Þ¤¹¡£
[Character Movement] ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÁªÂò¤·¤Þ¤¹¡£
¾ÜºÙ¥Ñ¥Í¥ë¡ä[Character Movement: Avoidance (¥¥ã¥é¥¯¥¿¡¼¥à¡¼¥Ö¥á¥ó¥È¡§²óÈò)]
[Use RVOAvoidance (RVO ²óÈò¤ò»ÈÍÑ)] ¤ò͸ú¤Ë¤·¤Þ¤¹¡£
[Avoidance Consideration Radius (²óÈò¹ÍθȾ·Â)] ¤òÄ´À°¤·¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥ë¤·¤ÆÊݸ¤·¤Þ¤¹¡£
[Character Movement] ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÁªÂò¤·¤Þ¤¹¡£
¾ÜºÙ¥Ñ¥Í¥ë¡ä[Character Movement: Avoidance (¥¥ã¥é¥¯¥¿¡¼¥à¡¼¥Ö¥á¥ó¥È¡§²óÈò)]
[Use RVOAvoidance (RVO ²óÈò¤ò»ÈÍÑ)] ¤ò͸ú¤Ë¤·¤Þ¤¹¡£
[Avoidance Consideration Radius (²óÈò¹ÍθȾ·Â)] ¤òÄ´À°¤·¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥ë¤·¤ÆÊݸ¤·¤Þ¤¹¡£
[BP_NPC_NoAvoidance] ¥Ö¥ë¡¼¥×¥ê¥ó¥È³«¤¤Þ¤¹¡£
¾ÜºÙ¥Ñ¥Í¥ë¡ä¥Ü¡¼¥ó¡äAI Controller Class
[AIController] ¤«¤é[DetourCrowdAIController] ¤ËÊѹ¹¤·¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥ë¤·¤ÆÊݸ ¤·¤Þ¤¹¡£
Detour Crowd Manager ¤ÎÄ´À°¤Ï¡¢
[Settings (ÀßÄê)] ¡ä [Project Settings (¥×¥í¥¸¥§¥¯¥ÈÀßÄê)] ¡ä [Crowd Manager]
[Max Agents (ºÇÂ票¡¼¥¸¥§¥ó¥È)]¡¢ [Max Agent Radius (ºÇÂ票¡¼¥¸¥§¥ó¥ÈȾ·Â)] ¤Ê¤É¤òÄ´À°¤·¤Þ¤¹¡£
¾ÜºÙ¥Ñ¥Í¥ë¡ä¥Ü¡¼¥ó¡äAI Controller Class
[AIController] ¤«¤é[DetourCrowdAIController] ¤ËÊѹ¹¤·¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥ë¤·¤ÆÊݸ ¤·¤Þ¤¹¡£
Detour Crowd Manager ¤ÎÄ´À°¤Ï¡¢
[Settings (ÀßÄê)] ¡ä [Project Settings (¥×¥í¥¸¥§¥¯¥ÈÀßÄê)] ¡ä [Crowd Manager]
[Max Agents (ºÇÂ票¡¼¥¸¥§¥ó¥È)]¡¢ [Max Agent Radius (ºÇÂ票¡¼¥¸¥§¥ó¥ÈȾ·Â)] ¤Ê¤É¤òÄ´À°¤·¤Þ¤¹¡£
¤¶¤Ã¤¯¤ê¤Þ¤È¤á¡ª¡¡06:26
ÀßÄê¥Õ¥¡¥¤¥ë¡¡06:37
NPC¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤ËÂФ·¤Æ¥¯¥¨¥¹¥È¤òÍ¿¤¨¤¿¤ê¡¢¥¹¥È¡¼¥ê¡¼¤Î¿Ê¹Ô¤Ë´Ø¤ï¤ëÌò³ä¤òô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥×¥ì¥¤¥ä¡¼¤Ï¤è¤ê¿¼¤¯Êª¸ì¤ËË×Æþ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥×¥ì¥¤¥ä¡¼¤Ï¤è¤ê¿¼¤¯Êª¸ì¤ËË×Æþ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
NPC¤Ï¡¢¥²¡¼¥à¤ÎÀ¤³¦´Ñ¤ò³ÈÂ礹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
NPC¤¬»ý¤ÄÆȼ«¤Î¥Ð¥Ã¥¯¥¹¥È¡¼¥ê¡¼¤ä¡¢¥²¡¼¥àÆâ¤Îʸ²½¤äÎò»Ë¤Ë´Ø¤¹¤ë¾ðÊó¤òÄ󶡤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
NPC¤¬»ý¤ÄÆȼ«¤Î¥Ð¥Ã¥¯¥¹¥È¡¼¥ê¡¼¤ä¡¢¥²¡¼¥àÆâ¤Îʸ²½¤äÎò»Ë¤Ë´Ø¤¹¤ë¾ðÊó¤òÄ󶡤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
NPC¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤ËÂФ·¤Æ¥¢¥É¥Ð¥¤¥¹¤ä¥Ò¥ó¥È¤òÄ󶡤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥×¥ì¥¤¥ä¡¼¤Ï¥²¡¼¥à¤Î¿Ê¹Ô¤ò¥¹¥à¡¼¥º¤Ë¿Ê¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥×¥ì¥¤¥ä¡¼¤Ï¥²¡¼¥à¤Î¿Ê¹Ô¤ò¥¹¥à¡¼¥º¤Ë¿Ê¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¥²¡¼¥à
- Unreal Engine