ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2022ǯ03·î07Æü(·î) 17:40:17ÍúÎò
¡ã¼ÂÁõÆ°²è¡¡²èÌ̤ò¥¿¥Ã¥×¤·¤¿ºÝ¤ËÇÛÃÖ²Äǽ¤Ê°ÌÃ֤Ǥ¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¿¥Ã¥×¤·¤¿°ÌÃ֤˥¥ã¥é¤ò°ÜÆ°¤¹¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¡¡°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤¤Þ¤¹¡£
¼ê½ç£·¡¡¡Ý¥¿¥¤¥ë¤Î¥¿¥Ã¥×´¶ÃÎÀ©¸æ¤Î¼ÂÁõ¡Ý
£±£±¡¥°ÜÆ°²Äǽ¤Ê¥¿¥¤¥ë¤ò¥¿¥Ã¥×¤·¤¿ºÝ¤Ë¥¥ã¥é¤ò°ÜÆ°¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë
¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¡¡¡¦Vector3Int ¹½Â¤ÂÎ ¡¡¡¦Camera.ScreenToWorldPoint ¥á¥½¥Ã¥É ¡¡¡¦GridLayout.WorldToCell ¥á¥½¥Ã¥É ¡¡¡¦Tilemap.GetColliderType ¥á¥½¥Ã¥É ¡¡¡¦NavMeshAgent ¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤È¥á¥½¥Ã¥É
¡¡Unity ¤Ë¤Ï²èÌ̤Υ¿¥Ã¥×¤ò´¶ÃΤ¹¤ë¤¿¤á¤ÎÀìÍѥ᥽¥Ã¥É¤¬¤¤¤¯¤Ä¤«ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¦¤Á¤Î£±¤Ä¤Ç¤¢¤ë Camera ¥¯¥é¥¹¤Î´ÉÍý¤¹¤ë ScreenToWorldPoint ¥á¥½¥Ã¥É¤Ï²èÌ̤Υ¹¥¯¥ê¡¼¥óºÂɸ¤ò¥ï¡¼¥ë¥ÉºÂɸ¤ËÊÑ´¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
²èÌ̤Υ¿¥Ã¥×¤·¤¿°ÌÃÖ¾ðÊó¤ò¥²¡¼¥àÆâ¤Î°ÌÃÖ¾ðÊó¤Ø¤ÈÊÑ´¹¤·¤Æ¤¯¤ì¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤òÍøÍѤ·¤Þ¤¹¡£
¡¡º£²óÍøÍѤ¹¤ë¥¿¥¤¥ë¥Þ¥Ã¥×¤Ï¥ï¡¼¥ë¥ÉºÂɸ¤Ç¤Ï¤Ê¤¯¡¢¥¿¥¤¥ë¥Þ¥Ã¥×Æâ¤Î¥»¥ëºÂɸ¤È¤¤¤¦ºÂɸÂηϤˤè¤Ã¤Æ´ÉÍý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á½¾Íè¤Î²èÌ̤Υ¿¥Ã¥×¤ò´¶ÃΤ¹¤ë¥á¥½¥Ã¥É¤Î¤ß¤Ç¤Ï¡¢¥¿¥¤¥ë¥Þ¥Ã¥×Æâ¤Î¥¿¥¤¥ë¤òÆÃÄꤹ¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
¡¡¤½¤³¤Ç²èÌ̤Υ¿¥Ã¥×¤ò´¶ÃΤ·¤Æ¥ï¡¼¥ë¥ÉºÂɸ¤ò¼èÆÀ¤·¤¿¤¢¤È¤Ë¡¢¥ï¡¼¥ë¥ÉºÂɸ¤ò¥¿¥¤¥ë¥Þ¥Ã¥×¤Î¥»¥ëºÂɸ¤ËÊÑ´¹¤¹¤ë¥á¥½¥Ã¥É¤òÁȤ߹ç¤ï¤»¤ÆÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
²èÌ̤Υ¿¥Ã¥×¤·¤¿°ÌÃÖ¤ò¥¿¥¤¥ë¥Þ¥Ã¥×Æâ¤Î£±¤Ä¤Î¥¿¥¤¥ë¤ÎÃÏÅÀ¤Èɳ¤Å¤±¤ò¤·¤ÆºÂɸ¤ò»ØÄê¤Ç¤¤ë¤è¤¦¤Ë½èÍý¤ò¹Í¤¨¤Þ¤¹¡£
¡¡¥»¥ë¤ÎºÂɸ¤¬¤ï¤«¤ì¤Ð¡¢¤½¤ÎÃÏÅÀ¤ËÂФ·¤Æ NavMeshAgent ¤ÎÌÜɸÃÏÅÀ¤È¤·¤ÆÀßÄꤹ¤ë¤³¤È¤Ç¡¢
¥¿¥¤¥ë¥Þ¥Ã¥×¾å¤Ë¤¤¤ë¥¥ã¥é¤ò NavMeshAgent ¤Îµ¡Ç½¤ò»È¤¤¡¢°ÜÆ°ÉԲĤΥ¿¥¤¥ë¤ò²óÈò¤·¤Ê¤¬¤é¡¢ÌÜŪÃϤޤǰÜÆ°¤µ¤»¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡
¡¡Unity ¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ëÊ£¿ô¤Î¥á¥½¥Ã¥É¤È¤½¤Î¥á¥½¥Ã¥É¤ÎÌá¤êÃͤò¾å¼ê¤Ë³èÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢º£²ó¤Î¥¿¥Ã¥×½èÍý¤¬¼ÂÁõ¤Ç¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
º£¸å¤â¤³¤Î¤è¤¦¤ËÊ£¹ç¼°¤Ê¥í¥¸¥Ã¥¯¤ä¹Í¤¨Êý¤¬É¬Íפˤʤê¤Þ¤¹¤Î¤Ç¡¢¤·¤Ã¤«¤ê¤È³Ø½¬¤·¤Æ³è¤«¤·¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£
¡¡²èÌ̤Υ¿¥Ã¥×(¥Þ¥¦¥¹¥¯¥ê¥Ã¥¯)¤ò´¶ÃΤ·¡¢¤½¤ÎÃÏÅÀ¤Ë¥¥ã¥é¤ò°ÜÆ°¤µ¤»¤ë¤¿¤á¤Î¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ëÁ°¤Ë¤Ï¥¹¥¯¥ê¥×¥ÈÀìÍѤΥե©¥ë¥À¤òÍÑ°Õ¤·¡¢¤½¤ÎÃæ¤ÇºîÀ®¤¹¤ë¤è¤¦¤Ë¤·¤Æ¥Õ¥¡¥¤¥ë´ÉÍý¤ò¤·¤ä¤¹¤¯¤·¤Þ¤¹¡£
¡¡Project ¥Õ¥©¥ë¥À¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¡¢¤¢¤ë¤¤¤Ï + ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¡¢Create => Folder ¤òÁªÂò¤·¤Þ¤¹¡£
̾Á°¤ò Scripts ¤ËÊѹ¹¤·¤Þ¤¹¡£¤³¤Î¥Õ¥©¥ë¥ÀÆâ¤ÇƱ¤¸¤è¤¦¤ËºÆÅÙ¥á¥Ë¥å¡¼¤ò³«¤¡¢Create => C# Script ¤òÁªÂò¤·¤Þ¤¹¡£
¡¡¿·¤·¤¯¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò MoveToClickTileMapPoint ¤ËÊѹ¹¤·¤Þ¤¹¡£
¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤¹¤ë¤³¤È¤Ç Visual Studio ¥¨¥Ç¥£¥¿¡¼¤¬µ¯Æ°¤·¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤Ë¥¹¥¯¥ê¥×¥È¤òµ½Ò¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡
MoveToClickTileMapPoint.cs
¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£¥»¡¼¥Ö¤Ï Ctrl + Shift + S ¥¡¼¤Ç¤¹¡£
¡¡Vector3 ¹½Â¤ÂΤò int ·¿¤Çɽ¸½¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£Ä̾ï¤Î Vector3 ·¿¤È¤Î°ã¤¤¤Ï³Æ¹àÌܤ¬ float ·¿¤Ç¤Ï¤Ê¤¯¡¢¤¹¤Ù¤Æ int ·¿¤Ç´ÉÍý¤µ¤ì¤Æ¤¤¤ëÉôʬ¤Ç¤¹¡£
¡¡º£²ó¤Î¥¿¥¤¥ë¥Þ¥Ã¥×¤Ç¤ÏºÂɸ¾ðÊ󤬥¥ë¥ÉºÂɸ¤Ç¤Ï¤Ê¤¯¡¢¥»¥ëºÂɸ¤È¤¤¤¦ÂηϤǴÉÍý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ï (3, 4) ¤ä(110, 44) ¤Î¤è¤¦¤Ë¡¢¤¹¤Ù¤ÆÀ°¿ô¤Î Vector3Int ¹½Â¤ÂΤǺÂɸ¤¬É½¸½¤µ¤ì¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥»¥ëºÂɸ¤Î¾ðÊó¤ò¥¹¥¯¥ê¥×¥ÈÆâ¤Ç°·¤¦¾ì¹ç¤Ë¤â Vector3Int ¹½Â¤ÂΤξðÊó¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢¥»¥ëºÂɸ¤ò¼èÆÀ¤·¤¿¤ê¡¢ÍøÍѤ·¤¿¤ê¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡Ä̾ï¤Î¥ï¡¼¥ë¥ÉºÂɸ¤Ï Vector3 ¹½Â¤ÂÎ(float ·¿)¡¢¥»¥ëºÂɸ¤Ï Vector3Int ¹½Â¤ÂÎ(int ·¿)¤È¤¤¤¦É÷¤Ë¡¢ºÂɸ¤Î´ÉÍý¤·¤Æ¤¤¤ë·¿¤ò³Ð¤¨¤Æ¤·¤Þ¤¦¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Vector3Int
https://docs.unity3d.com/ja/current/ScriptReferenc...
¡¡°ú¿ô¤Ç»ØÄꤷ¤¿¥¹¥¯¥ê¡¼¥óºÂɸ¤Î¾ðÊó¤ò¥ï¡¼¥ë¥ÉºÂɸ¤ËÊÑ´¹¤¹¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
// ¥¿¥Ã¥×(¥Þ¥¦¥¹¥¯¥ê¥Ã¥¯)¤Î°ÌÃÖ¤ò¼èÆÀ¤·¤Æ¥ï¡¼¥ë¥ÉºÂɸ¤ËÊÑ´¹ Camera.main.ScreenToWorldPoint(Input.mousePosition);
¡¡¥¿¥Ã¥×¤·¤¿°ÌÃÖ¡¢¤¢¤ë¤¤¤Ï¥Þ¥¦¥¹¤Î¥Ý¥¤¥ó¥¿¤¬¤¢¤ë¥¹¥¯¥ê¡¼¥óºÂɸ¤Î¾ðÊó(Input.mousePosition ÊÑ¿ô)¤ò°ú¿ô¤Ë»ØÄꤷ¡¢
¤½¤ÎÃͤòÌá¤êÃͤȤ·¤Æ Vector3 ¹½Â¤ÂΤΥ¥ë¥ÉºÂɸ¤ËÊÑ´¹¤·¤Æ¤¤¤Þ¤¹¡£
¡¡º£²ó¤Ï¤³¤ÎÃͤò WorldToCell ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢¤µ¤é¤Ë¥¿¥¤¥ë¥Þ¥Ã¥×¤Î¥»¥ëºÂɸ¤ËÊÑ´¹¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤Î¥á¥½¥Ã¥É¤Ï£²£Ä¤Ç¤ÏÌäÂê¤Ê¤¯Æ°ºî¤·¤Þ¤¹¤¬¡¢£³£Ä¤Î¾ì¹ç¤Ë¤Ï Z ¼´¤Î¾ðÊó¤ò¹Íθ¤·¤Ê¤¤¤ÈÀµ³Î¤Ê·×»»¤ò¹Ô¤Ã¤Æ¤¯¤ì¤Þ¤»¤ó¡£
¥¹¥¯¥ê¡¼¥óºÂɸ¤Ï£²¼¡¸µ(Vector2 ¹½Â¤ÂÎ)¤Ç¤¢¤ë¤¿¤á¡¢Vector3 ¹½Â¤ÂΤÎÃͤËÊÑ´¹¤·¤¿ºÝ¡¢Z ¼´¤Ë¤Ï¾ï¤Ë 0 ¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£
¤³¤¦¤¤¤Ã¤¿¥±¡¼¥¹¤Î¾ì¹ç¤Ë¤Ï¡¢ Z ¼´¤ËŬÀÚ¤ÊÃͤòÂåÆþ¤·¤ÆÍøÍѤ·¤Þ¤¹¡£
¤Þ¤¿¥«¥á¥é¤Î Projection ¤ÎÀßÄ꤬£²£Ä¤Î¾ì¹ç¤Ë¤Ï¼«Æ°Åª¤Ë Orthographic ¤Ë¤Ê¤ë¤Î¤ËÂФ·¡¢£³£Ä¤Î¾ì¹ç¤Ë¤Ï Perspective ¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤ÎÊÕ¤ê¤Ë¤âÃí°Õ¤¬É¬Íפˤʤê¤Þ¤¹¡£
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Camera.ScreenToWorldPoint
https://docs.unity3d.com/ja/current/ScriptReferenc...
¡¡°ú¿ô¤Ë»ØÄꤷ¤¿¥ï¡¼¥ë¥ÉºÂɸ(Vector3 ·¿)¤ò¡¢¥¿¥¤¥ë¥Þ¥Ã¥×Æâ¤ÎºÂɸñ°Ì¤Ç¤¢¤ë¥»¥ëºÂɸ(Vector3Int ·¿) ¤ËÊÑ´¹¤¹¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
// ¥¿¥Ã¥×(¥Þ¥¦¥¹¥¯¥ê¥Ã¥¯)¤Î°ÌÃÖ¤ò¼èÆÀ¤·¤Æ¥ï¡¼¥ë¥ÉºÂɸ¤ËÊÑ´¹¤·¡¢¤½¤ì¤ò¤µ¤é¤Ë¥¿¥¤¥ë¤Î¥»¥ëºÂɸ¤ËÊÑ´¹ gridPos = grid.WorldToCell(Camera.main.ScreenToWorldPoint(Input.mousePosition));
¡¡º£²ó¤Î¼ÂÁõ¤Ç¤Ï¡¢ScreenToWorldPoint ¥á¥½¥Ã¥É¤ÎÌá¤êÃͤȤ·¤Æ Vector3 ¹½Â¤ÂΤξðÊó¤ò¼èÆÀ¤·¤Æ¡¢¤½¤ì¤ò¥ï¡¼¥ë¥ÉºÂɸ¤ÎÃͤȤ·¤Æ°ú¿ô¤Ë»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£
WorldToCell ¥á¥½¥Ã¥É£è¤Ç¤Ï¤½¤Î°ú¿ô¤Î°ÌÃ֤ηë²Ì¤ò¥¿¥¤¥ë¥Þ¥Ã¥×Æâ¤Ë¤¢¤ë¥»¥ëºÂɸ¤È¤·¤Æ Vector3Int ¹½Â¤ÂΤξðÊó¤È¤·¤ÆÊÑ´¹¤·¤Æ¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤Î¤è¤¦¤ËºÂɸ¤Î¾ðÊó¤òÊÑ´¹¤·¤Æ¤¤¤¯¤³¤È¤Ë¤è¤Ã¤Æ¡¢²èÌ̤Υ¿¥Ã¥×¤Î°ÌÃÖ¾ðÊó¤ò¥¿¥¤¥ë¥Þ¥Ã¥×Æâ¤Î¥¿¥¤¥ë¤Î°ÌÃÖ¾ðÊó¤Èɳ¤Å¤±¤ÆÍøÍѤ¹¤ë½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Grid
https://docs.unity3d.com/ja/current/ScriptReferenc...
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
GridLayout.WorldToCell
https://docs.unity3d.com/ja/current/ScriptReferenc...
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ë Chara ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤òÁªÂò¤·¤Þ¤¹¡£
¡¡ºÇ½é¤Ë¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î°ìÈÖ²¼¤Ë¤¢¤ë Add Component ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¡¢NavMeshAgent ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥¹¥¤¥Ã¥Á¤Ï¥ª¥Õ¤Ë¤·¤Æ¤ª¤¤Þ¤¹¡£¤½¤Î¤Û¤«¤ÎÀßÄê¤Ï½é´üÃͤÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¡¡
¡¡¼¡¤Ë MoveToClickTileMapPoint ¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¢¥¿¥Ã¥Á¤·¤¿¤éɬ¤º¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Æ¡¢Àµ¾ï¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤«¤òÌÜ»ë¤Ç¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
¡¡MoveToClickTileMapPoint ¥¹¥¯¥ê¥×¥È¤Ë¤Ï¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤ê¥¢¥µ¥¤¥ó¤¹¤ë¾ðÊ󤬣²¤Äɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤òÀßÄꤷ¤Þ¤¹¡£
¡¡grid ÊÑ¿ô¤Ë¤Ï¡¢¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ë Grid_DontMove_Base ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¡¡tilemap ÊÑ¿ô¤Ë¤Ï Grid_DontMove_Base ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë Tilemap ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ë¥×¥ì¥Õ¥¡¥Ö¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¹¹¿·¤·¤¿¾ì¹ç¡¢
Prefabs ¥Õ¥©¥ë¥À¤Ë¤¢¤ë Chara ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÊý¤Ë¤Ï¡¢¤½¤ì¤é¤Î¾ðÊó¤Ï¹¹¿·¤µ¤ì¤Þ¤»¤ó¡£
¡¡¤½¤Î¤¿¤á¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î¾åÉô¤Ë¤¢¤ë Overrides ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¡¢¥×¥ì¥Õ¥¡¥Ö¤Î¾ðÊó¤ò¹¹¿·¤·¤Æ¤ª¤¤Þ¤¹¡£
¡¡¥»¡¼¥Ö¤ò¹Ô¤¤¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ½èÍý¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£
¤É¤Î¤è¤¦¤Ê½èÍý¤òµ½Ò¤·¡¢¤É¤Î¤è¤¦¤ÊÀ©¸æ½èÍý¤¬Æ°¤¯¤Î¤«¡¢¥¤¥á¡¼¥¸¤òºî¤Ã¤Æ¤«¤é¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤Þ¤ººÇ½é¤Ë¡¢Chara ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î³Îǧ¤ò¹Ô¤¤¤Þ¤¹¡£
MoveToClickTileMapPoint ¥¹¥¯¥ê¥×¥È¤Î Start ¥á¥½¥Ã¥É¤Î½èÍý¤Ë¤è¤ê¡¢¥ª¥Õ¤Ë¤Ê¤Ã¤Æ¤¤¤ë NavMeshAgent ¤Î¥¹¥¤¥Ã¥Á¤¬¥ª¥ó¤ËÀÚ¤êÂؤï¤ë¤Ï¤º¤Ç¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
¡¡ÌäÂê¤Ê¤¯ NavMeshAgent ¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£
¥²¡¼¥à³«»Ï¸å¤Ë NavMeshAgent ¤ò¥ª¥ó¤Ë¤¹¤ëÍýͳ¤Ë¤Ä¤¤¤Æ¤Ï¡¢Ê̤ε¡²ñ¤Ë¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£
¡¡Â³¤¤¤Æ¡¢²èÌ̤ò¥Þ¥¦¥¹¤Ç¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤ÎÃÏÅÀ¤Ë¸þ¤«¤Ã¤Æ¡¢Chara ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬°ÜÆ°¤ò³«»Ï¤·¡¢
¥¯¥ê¥Ã¥¯¤·¤¿ÃÏÅÀ¤Ç°ÜÆ°¤òÄä»ß¤¹¤ì¤Ð¡¢NavMeshAgent ¤Ë¤è¤ë¼«Æ°·ÐÏ©°ÜÆ°¤ÎÀ©¸æ¤ÏÀ®¸ù¤Ç¤¹¡£
¡ã¼Â¹ÔÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¡¡ºÇ¸å¤Ë NavMeshAgent ¤Îµ¡Ç½¤Ë¤Ä¤¤¤Æ³Ø½¬¤·¤Þ¤¹¡£
¡¡NavMeshAgent ¥¯¥é¥¹¤Ë¤Ï¿¤¯¤ÎÊÑ¿ô¤È¥á¥½¥Ã¥É¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Îµ¡Ç½¤ò¾å¼ê¤¯³èÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢AI ¤Ë¤è¤ë NavMeshAgent ¤Î¥ë¡¼¥È¤Î¼«Æ°°ÜÆ°¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡NavMeshAgent ·¿¤ò¥¹¥¯¥ê¥×¥ÈÆâ¤ÇÀë¸À¤·¡¢³ÆÊÑ¿ô¤ä¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï using UnityEngine.AI; ¤ÎÀë¸À¤¬É¬ÍפǤ¹¡£
¡¡º£²ó¤Ï¼ÂÁõ¤ËÍøÍѤ·¤¿µ¡Ç½¤Î¤ß¤òÈ´¿è¤·¤Æ·ÇºÜ¤·¤Æ¤¤¤Þ¤¹¡£
¤¹¤Ù¤Æ¤Îµ¡Ç½¤Ï¾Ò²ð¤Ç¤¤Þ¤»¤ó¤Î¤Ç¡¢¼«Ê¬¤ÇÄ´¤Ù¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¡¡NavMeshAgent ÌÜɸÃÏÅÀ¤òÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤¤ë Vector3 ·¿¤ÎÊÑ¿ô¤Ç¤¹¡£
¤³¤Î¾ðÊó¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ç¡¢NavMeshAgent ¤ËÌÜŪÃϤذÜÆ°¤¹¤ë¤³¤È¤òÅÁ¤¨¡¢°ÜÆ°¤ò³«»Ï¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡ÌÜɸÃÏÅÀ¤ÎÀßÄêÊýË¡¤Ë¤Ï¤â¤¦£±¤Ä¡¢SetDestination ¥á¥½¥Ã¥É¤âÍÑ°Õ¤µ¤ì¤Æ¤ª¤ê¡¢¤½¤Á¤é¤Ç¤âƱ¤¸¤è¤¦¤ËÌÜŪÃϤÎÀßÄ꤬²Äǽ¤Ç¤¹¡£
¡¡SetDestination ¥á¥½¥Ã¥É¤Ë¤Ï bool ·¿¤ÎÌá¤êÃͤ¬¤¢¤ê¡¢Àµ¾ï¤ËÌÜŪÃϤÎÀßÄ꤬Í׵ᤵ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤òɾ²Á¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
ÌÜŪÃϤ¬Àµ¾ï¤ËÍ׵ᤵ¤ì¤Æ¤¤¤ì¤Ð true¡¢Í×µá¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï false ¤¬Ìá¤ê¤Þ¤¹¡£
¡¡ÍÑÅӤ˱þ¤¸¤Æ»È¤¤¤ï¤±¤ë¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£
¡¡// ÌÜŪÃϤι¹¿· //agent.SetDestination(nextPos); // ¤É¤Á¤é¤Î½èÍý¤ÇÀßÄê¤ò¤·¤Æ¤âÌäÂê¤Ê¤· ¡¡agent.destination = nextPos;
¡ã»²¹Í¥µ¥¤¥È¡ä
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
NavMeshAgent.destination
https://docs.unity3d.com/jp/current/ScriptReferenc...
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
NavMeshAgent.SetDestination
https://docs.unity3d.com/jp/current/ScriptReferenc...
Unity ¸ø¼°¥Þ¥Ë¥å¥¢¥ë
NavMeshAgent ¤ËÌÜŪÃϤذÜÆ°¤¹¤ë¤³¤È¤òÅÁ¤¨¤ë
https://docs.unity3d.com/ja/current/Manual/nav-Mov...
¡¡NavMeshAgent ¤Ë¤è¤ë¥ë¡¼¥È°ÜÆ°»þ¤ÎºÇÂç®ÅÙ¤ÎÀßÄêÃͤǤ¹¡£0 ¤Ë¤¹¤ë¤³¤È¤Ç°ÜÆ°¤ÏÄä»ß¤·¤Þ¤¹¡£
NavMeshAgent ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¥¢¥¿¥Ã¥Á¤·¤¿ºÝ¤Î½é´üÃÍ¤Ï 3.5 ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¥²¡¼¥à¤ÎÆâÍƤ˱þ¤¸¤ÆÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
º£²ó¤Î¼ÂÁõÎã¤Î¤è¤¦¤Ë¡¢¥¹¥¯¥ê¥×¥È¤«¤éÀ©¸æ¤â²Äǽ¤Ç¤¹¡£
¡¡// °Üư®ÅÙ¤ÎÀßÄê agent.speed = 3.0f;
¡ã»²¹Í¥µ¥¤¥È¡ä
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
NavMeshAgent.speed
https://docs.unity3d.com/jp/current/ScriptReferenc...
¡¡NavMeshAgent ¤Ë¤è¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î²óž¾ðÊó¤ò¹¹¿·¤¹¤ë¤«¤É¤¦¤« bool ·¿¤Ë¤ÆÀßÄꤷ¤Þ¤¹¡£
Ä̾ï¤Ï true ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï NavMeshAgent ¤Î°ÜÆ°»þ¤Ë²óž¤òµö²Ä¤µ¤ì¤Æ¤ª¤ê¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¸þ¤¤¬°ÜÆ°¤Ëȼ¤¤¹¹¿·¤µ¤ì¤Þ¤¹¡£
false ¤Ë¤¹¤ë¤È²óž¤Ï¹¹¿·¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡º£²ó¤Ï 2D ¥²¡¼¥à¤Ç¤¢¤ë¤¿¤á¡¢²óž¤Î¹¹¿·¤ÏÉÔÍפǤ¢¤ê¡¢true ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¸íºîÆ°¤¹¤ë¤¿¤á¡¢false ¤Ë¤·¤Æµ¡Ç½¤ò¥ª¥Õ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
// 3D ÍѤÎÀßÄê¤ò¥ª¥Õ¤Ë¤¹¤ë¡£2D ¤Ê¤Î¤Ç¡¢¤³¤Î½èÍý¤¬¤Ê¤¤¤È¡¢ÊѤʰÌÃ֤˾¡¼ê¤Ë°ÜÆ°¤¹¤ë agent.updateRotation = false; agent.updateUpAxis = false;
¡ã»²¹Í¥µ¥¤¥È¡ä
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
NavMeshAgent.updateRotation
https://docs.unity3d.com/jp/current/ScriptReferenc...
¡¡¥¨¡¼¥¸¥§¥ó¥È(NavMeshAgent ¤Ç°ÜÆ°¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È)¤¬ NavMeshAgent ¤Ë¤è¤ë¸þ¤¤Î±Æ¶Á¤ò¼õ¤±¤ë¤«¤É¤¦¤«¤Ë¤Ä¤¤¤Æ¡¢bool ·¿¤Ë¤ÆÀßÄꤷ¤Þ¤¹¡£
Ä̾ï¤Ï true ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï NavMeshAgent ¤Ë¤è¤ë¸þ¤(¥í¡¼¥«¥ë¼´¤Î¾åÊý¸þ)¤Î±Æ¶Á¤ò¼õ¤±¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢3D ¶õ´Ö¤Ç¤¢¤ì¤Ð¡¢Bake ¤µ¤ì¤¿¥¨¥ê¥¢¤ËÂФ·¤Æ¡¢NavMeshAgent ¤¬¥¨¡¼¥¸¥§¥ó¥È¤ò¿âľ¤Ë¤Ê¤ë¤è¤¦¤ËΩ¤¿¤»¤è¤¦¤È¤·¤Þ¤¹¡£
false ¤Ë¤¹¤ë¤È¤³¤Î¸þ¤¤Î±Æ¶Á¤Ï¼õ¤±¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡¤³¤Á¤é¤ÎÀßÄê¤â¡¢º£²ó¤Ï 2D ¥²¡¼¥à¤Ç¤¢¤ë¤¿¤á¡¢ÉÔÍפʳµÇ°¤Ë¤Ê¤ê¤Þ¤¹¡£
true ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¡¢3D ¶õ´Ö¤Ç¤Ï¤Ê¤¤¤¿¤á¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¿âľ¤ËΩ¤Æ¤ë¤³¤È¤¬½ÐÍ褺¤Ë¸íºîÆ°¤¹¤ë¤¿¤á¡¢false ¤Ë¤·¤Æµ¡Ç½¤ò¥ª¥Õ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
// 3D ÍѤÎÀßÄê¤ò¥ª¥Õ¤Ë¤¹¤ë¡£2D ¤Ê¤Î¤Ç¡¢¤³¤Î½èÍý¤¬¤Ê¤¤¤È¡¢ÊѤʰÌÃ֤˾¡¼ê¤Ë°ÜÆ°¤¹¤ë agent.updateRotation = false; agent.updateUpAxis = false;
¡ã»²¹Í¥µ¥¤¥È¡ä
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
NavMeshAgent .updateUpAxis
https://docs.unity3d.com/jp/current/ScriptReferenc...
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡¼¡¤Ï¡¡¼ê½ç£¸¡¡¡Ý¥«¥á¥é¤ÎÄɽ¾À©¸æ¤Î¼ÂÁõ¡Ý¡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯