Unity¤Ë´ØÏ¢¤¹¤ëµ­»ö¤Ç¤¹

¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢¥²¡¼¥à¤Î¥Ù¡¼¥¹Éôʬ¤Ç¤¢¤ë²èÌ̤Υ¿¥Ã¥×½èÍý¤ÎÀ©¸æ¤Ë¤Ä¤¤¤Æ¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£


¡ã¼ÂÁõÆ°²è¡¡²èÌ̤ò¥¿¥Ã¥×¤·¤¿ºÝ¤ËÇÛÃÖ²Äǽ¤Ê°ÌÃ֤Ǥ¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¿¥Ã¥×¤·¤¿°ÌÃ֤˥­¥ã¥é¤òÀ¸À®¤¹¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡¡°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£

¼ê½ç£¶¡¡¡Ý¥¿¥¤¥ë¤Î¥¿¥Ã¥×´¶ÃÎÀ©¸æ¤Î¼ÂÁõ¡Ý
¡¡£¹¡¥¥¿¥Ã¥×¤·¤¿¥¿¥¤¥ë¤Î°ÌÃ֤˥­¥ã¥é¤òÀ¸À®¤¹¤ë
£±£°¡¥¥¿¥Ã¥×¤·¤¿ºÝ¤Ë¡¢ÇÛÃÖ²Äǽ¤Ê¥¿¥¤¥ë¤Î°ÌÃ֤ˤΤߥ­¥ã¥é¤òÀ¸À®¤¹¤ë



¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£

¡¡¡¦Vector3Int ¹½Â¤ÂÎ
¡¡¡¦Camera.ScreenToWorldPoint ¥á¥½¥Ã¥É
¡¡¡¦GridLayout.WorldToCell ¥á¥½¥Ã¥É
¡¡¡¦Tilemap.GetColliderType ¥á¥½¥Ã¥É



£¹¡¥¥¿¥Ã¥×¤·¤¿¥¿¥¤¥ë¤Î°ÌÃ֤˥­¥ã¥é¤òÀ¸À®¤¹¤ë

£±¡¥Àß·×


¡¡Unity ¤Ë¤Ï²èÌ̤Υ¿¥Ã¥×¤ò´¶ÃΤ¹¤ë¤¿¤á¤ÎÀìÍѥ᥽¥Ã¥É¤¬¤¤¤¯¤Ä¤«ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¦¤Á¤Î£±¤Ä¤Ç¤¢¤ë Camera ¥¯¥é¥¹¤Î´ÉÍý¤¹¤ë ScreenToWorldPoint ¥á¥½¥Ã¥É¤Ï²èÌ̤Υ¹¥¯¥ê¡¼¥óºÂɸ¤ò¥ï¡¼¥ë¥ÉºÂɸ¤ËÊÑ´¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
²èÌ̤Υ¿¥Ã¥×¤·¤¿°ÌÃÖ¾ðÊó¤ò¥²¡¼¥àÆâ¤Î°ÌÃÖ¾ðÊó¤Ø¤ÈÊÑ´¹¤·¤Æ¤¯¤ì¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤òÍøÍѤ·¤Þ¤¹¡£

¡¡º£²óÍøÍѤ¹¤ë¥¿¥¤¥ë¥Þ¥Ã¥×¤Ï¥ï¡¼¥ë¥ÉºÂɸ¤Ç¤Ï¤Ê¤¯¡¢¥¿¥¤¥ë¥Þ¥Ã¥×Æâ¤Î¥»¥ëºÂɸ¤È¤¤¤¦ºÂɸÂηϤˤè¤Ã¤Æ´ÉÍý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á½¾Íè¤Î²èÌ̤Υ¿¥Ã¥×¤ò´¶ÃΤ¹¤ë¥á¥½¥Ã¥É¤Î¤ß¤Ç¤Ï¡¢¥¿¥¤¥ë¥Þ¥Ã¥×Æâ¤Î¥¿¥¤¥ë¤òÆÃÄꤹ¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£

¡¡¤½¤³¤Ç²èÌ̤Υ¿¥Ã¥×¤ò´¶ÃΤ·¤Æ¥ï¡¼¥ë¥ÉºÂɸ¤ò¼èÆÀ¤·¤¿¤¢¤È¤Ë¡¢¥ï¡¼¥ë¥ÉºÂɸ¤ò¥¿¥¤¥ë¥Þ¥Ã¥×¤Î¥»¥ëºÂɸ¤ËÊÑ´¹¤¹¤ë¥á¥½¥Ã¥É¤òÁȤ߹ç¤ï¤»¤ÆÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
²èÌ̤Υ¿¥Ã¥×¤·¤¿°ÌÃÖ¤ò¥¿¥¤¥ë¥Þ¥Ã¥×Æâ¤Î£±¤Ä¤Î¥¿¥¤¥ë¤ÎÃÏÅÀ¤Èɳ¤Å¤±¤ò¤·¤ÆºÂɸ¤ò»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë½èÍý¤ò¹Í¤¨¤Þ¤¹¡£

¡¡¥»¥ë¤ÎºÂɸ¤¬¤ï¤«¤ì¤Ð¡¢¤½¤ÎÃÏÅÀ¤ËÂФ·¤Æ Instantiate ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢¥­¥ã¥é¤ò¥¿¥¤¥ë¥Þ¥Ã¥×¾å¤ËÀ¸À®¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡
¡¡Unity ¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ëÊ£¿ô¤Î¥á¥½¥Ã¥É¤È¤½¤Î¥á¥½¥Ã¥É¤ÎÌá¤êÃͤò¾å¼ê¤Ë³èÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢º£²ó¤Î¥¿¥Ã¥×½èÍý¤¬¼ÂÁõ¤Ç¤­¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
º£¸å¤â¤³¤Î¤è¤¦¤ËÊ£¹ç¼°¤Ê¥í¥¸¥Ã¥¯¤ä¹Í¤¨Êý¤¬É¬Íפˤʤê¤Þ¤¹¤Î¤Ç¡¢¤·¤Ã¤«¤ê¤È³Ø½¬¤·¤Æ³è¤«¤·¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£


£²¡¥CharaGenerator ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡²èÌ̤Υ¿¥Ã¥×¤ò´¶ÃΤ¹¤ë¤¿¤á¤Î¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ëÁ°¤Ë¤Ï¥¹¥¯¥ê¥×¥ÈÀìÍѤΥե©¥ë¥À¤òÍÑ°Õ¤·¡¢¤½¤ÎÃæ¤ÇºîÀ®¤¹¤ë¤è¤¦¤Ë¤·¤Æ¥Õ¥¡¥¤¥ë´ÉÍý¤ò¤·¤ä¤¹¤¯¤·¤Þ¤¹¡£

¡¡Project ¥Õ¥©¥ë¥À¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¡¢¤¢¤ë¤¤¤Ï + ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create => Folder ¤òÁªÂò¤·¤Þ¤¹¡£
̾Á°¤ò Scripts ¤ËÊѹ¹¤·¤Þ¤¹¡£¤³¤Î¥Õ¥©¥ë¥ÀÆâ¤ÇƱ¤¸¤è¤¦¤ËºÆÅÙ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create => C# Script ¤òÁªÂò¤·¤Þ¤¹¡£

¡¡¿·¤·¤¯¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò CharaGenerator ¤ËÊѹ¹¤·¤Þ¤¹¡£
¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤¹¤ë¤³¤È¤Ç Visual Studio ¥¨¥Ç¥£¥¿¡¼¤¬µ¯Æ°¤·¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤Ë¥¹¥¯¥ê¥×¥È¤òµ­½Ò¤·¤Æ¤¤¤­¤Þ¤¹¡£
¡¡

CharaGenerator.cs

<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹¡£


¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£¥»¡¼¥Ö¤Ï Ctrl + Shift + S ¥­¡¼¤Ç¤¹¡£


£³¡¥¡ãVector3Int ¹½Â¤ÂΡä


¡¡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.ScreenToWorldPoint ¥á¥½¥Ã¥É¡ä


¡¡°ú¿ô¤Ç»ØÄꤷ¤¿¥¹¥¯¥ê¡¼¥óºÂɸ¤Î¾ðÊó¤ò¥ï¡¼¥ë¥ÉºÂɸ¤ËÊÑ´¹¤¹¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£

  // ¥¿¥Ã¥×(¥Þ¥¦¥¹¥¯¥ê¥Ã¥¯)¤Î°ÌÃÖ¤ò¼èÆÀ¤·¤Æ¥ï¡¼¥ë¥ÉºÂɸ¤ËÊÑ´¹
  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...


£µ¡¥¡ãGridLayout.WorldToCell ¥á¥½¥Ã¥É¡ä


¡¡°ú¿ô¤Ë»ØÄꤷ¤¿¥ï¡¼¥ë¥ÉºÂɸ(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...


£¶¡¥CharaGenerator ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢CharaGenerator ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤ÆÀßÄê¤ò¤¹¤ë


¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£
¿·¤·¤¤ Transform ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¤ß¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò CharaGenerator ¤ËÊѹ¹¤·¤Þ¤¹¡£


¥Ò¥¨¥é¥ë¥­¡¼²èÁü



¡¡Àè¤Û¤ÉºîÀ®¤·¤¿ CharaGenerator ¥¹¥¯¥ê¥×¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ CharaGenerator ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¥¢¥¿¥Ã¥Á¤·¤¿¤éɬ¤º¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Æ¡¢Àµ¾ï¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤«¤òÌÜ»ë¤Ç¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£

¡¡CharaGenerator ¥¹¥¯¥ê¥×¥È¤Ë¤Ï¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤ê¥¢¥µ¥¤¥ó¤¹¤ë¾ðÊ󤬣²¤Äɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤òÀßÄꤷ¤Þ¤¹¡£

¡¡CharaPrefab ÊÑ¿ô¤Ë¤Ï¡¢Prefabs ¥Õ¥©¥ë¥À¤Ë¤¢¤ë Chara ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£

¡¡Grid ÊÑ¿ô¤Ë¤Ï Grid_Base ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£Grid ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬ÊÑ¿ô¤Î¾ðÊó¤È¤·¤ÆÂåÆþ¤µ¤ì¤Þ¤¹¡£


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£


£·¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤¹¤ë


¡¡¥»¡¼¥Ö¤ò¹Ô¤¤¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ½èÍý¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£
¤É¤Î¤è¤¦¤Ê½èÍý¤òµ­½Ò¤·¡¢¤É¤Î¤è¤¦¤ÊÀ©¸æ½èÍý¤¬Æ°¤¯¤Î¤«¡¢¥¤¥á¡¼¥¸¤òºî¤Ã¤Æ¤«¤é¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡²èÌ̤ò¥Þ¥¦¥¹¤Ç¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤ÎÃÏÅÀ¤Î¥¿¥¤¥ë¾å¤Ë¥­¥ã¥é¤¬À¸À®¤µ¤ì¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£


¡ã¼Â¹ÔÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯

¡¡
¡¡Â³¤¤¤Æ¤Ï¡¢¥¿¥Ã¥×¤·¤¿ºÝ¤ÎÀ©¸æ½èÍý¤òÄɲä·¤Þ¤¹¡£


£±£°¡¥¥¿¥Ã¥×¤·¤¿ºÝ¤Ë¡¢ÇÛÃÖ²Äǽ¤Ê¥¿¥¤¥ë¤Î°ÌÃ֤ˤΤߥ­¥ã¥é¤òÀ¸À®¤¹¤ë

£±¡¥Àß·×


¡¡¸½ºß¤Ï¤¹¤Ù¤Æ¤Î¥¿¥¤¥ë¤ò¥¿¥Ã¥×¤Ç´¶ÃΤ·¤Æ¤·¤Þ¤¦¤¿¤á¡¢¥­¥ã¥é¤¬¤É¤³¤Ç¤â¼«Í³¤ËÇÛÃ֤Ǥ­¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤³¤Î¤Þ¤Þ¤Ç¤¹¤È¥¿¥ï¡¼¥Ç¥£¥Õ¥§¥ó¥¹¥²¡¼¥à¤È¤·¤Æ¤ÏÀ®¤êΩ¤¿¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤¿¤á¡¢
¥¿¥Ã¥×¤·¤¿ºÝ¤Ë¡ÖÇÛÃÖ²Äǽ¤Ê¥¿¥¤¥ë¡×¤Î¤ß¤òÁªÊ̤·¡¢¤½¤ÎÃÏÅÀ¤Ë¤Î¤ß¥­¥ã¥é¤òÀ¸À®¤¹¤ëÀ©¸æ½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¡¡
¡¡ÇÛÃÖ²Äǽ¤Ê¥¿¥¤¥ë¤ÎȽÄê¤Ë¤Ï¥¿¥¤¥ë¤Î»ý¤Ä¾ðÊó¤Î£±¤Ä¤Ç¤¢¤ë ColliderType ¤òÍøÍѤ·¤Þ¤¹¡£
¤³¤Î¾ðÊ󤬻ØÄꤷ¤¿¾ðÊó¤ÈƱ¤¸¤Ç¤¢¤ë¾ì¹ç¤Ë¸Â¤ê¡¢¡ÖÇÛÃÖ²Äǽ¤Ê¥¿¥¤¥ë¡×¤È¤·¤Æǧ¼±¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£


£²¡¥CharaGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡CharaGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢¥¿¥Ã¥×¤Î´¶ÃΤò¹Ô¤Ã¤¿¤¢¤È¤Ë¡¢¤½¤Î¥¿¥Ã¥×¤·¤¿¥»¥ëºÂɸ¤Î ColliderType ¤ò³Îǧ¤·¤Æ
»ØÄꤵ¤ì¤¿¥¿¥¤¥×¤Ç¤¢¤ë¤È¤­¤Î¤ß¡¢¥­¥ã¥é¤òÀ¸À®¤¹¤ë¤è¤¦¤ËÀ©¸æ¤ò¼ÂÁõ¤·¤Þ¤¹¡£

¡¡½èÍý¤òµ­½Ò¤¹¤ëÁ°¤Ë¡¢¼«Ê¬¤Ç¤É¤Î¤è¤¦¤ÊÀ©¸æ¤¬¹Ô¤¨¤ì¤Ð¥­¥ã¥é¤ÎÇÛÃÖ¤ÎÀ©¸æ¤¬²Äǽ¤Ë¤Ê¤ë¤Î¤«¡¢¥¤¥á¡¼¥¸¤òºî¤Ã¤Æ¤ß¤Æ¤«¤é½èÍý¤ò½¤Àµ¤·¤Þ¤·¤ç¤¦¡£
¥×¥í¥°¥é¥à¤Î¥í¥¸¥Ã¥¯¤òÁȤßΩ¤Æ¤ëºÝ¤Ë¤Ï¡¢½èÍý¤Î¥¤¥á¡¼¥¸¤ò»ý¤Ä¤³¤È¤¬¤È¤Æ¤âÂçÀڤˤʤê¤Þ¤¹¡£
¤É¤ó¤Ê¤È¤­¤Ë¡¢¤É¤¦¤Ê¤Ã¤Æ¤Û¤·¤¤¤Î¤«¡¢¤½¤Î¥¤¥á¡¼¥¸¤òÆüËܸ첽¤·¡¢¤µ¤é¤Ë¥×¥í¥°¥é¥à¤È¤·¤Æ¸À¸ì²½¤·¤Æ¤¤¤¯¤³¤È¤¬µá¤á¤é¤ì¤Þ¤¹¡£

¡¡¤Þ¤¿Á°²óÍÑ°Õ¤·¤Æ¤¤¤ë¥­¥ã¥é¤ÎÀ¸À®½èÍý¤Ë¤Ä¤¤¤Æ¤Ï¥á¥½¥Ã¥É²½¤·¤Æ¤¤¤Þ¤¹¡£
»öÁ°¤Ëµ­½Ò¤·¤Æ¤¢¤Ã¤¿½èÍý¤ò¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¥á¥½¥Ã¥É²½¤Ç¤­¤ë¤Î¤«¤â¡¢¹ç¤ï¤»¤Æ³Ø½¬¤·¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£


CharaGenerator.cs

<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹¡£


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é˺¤ì¤º¤Ë¥»¡¼¥Ö¤ò¤·¤Þ¤¹¡£


£³¡¥¡ãTilemap.GetColliderType ¥á¥½¥Ã¥É¡ä


¡¡°ú¿ô¤Ë»ØÄꤷ¤¿¥»¥ëºÂɸ(¥¿¥¤¥ë¥Þ¥Ã¥×¤ÎºÂɸ¾ðÊó¡£Vector3Int ·¿)¤òÅϤ¹¤³¤È¤Ç¡¢¤½¤Î¥»¥ëºÂɸ¤Ë¤¢¤ë¥¿¥¤¥ë¤Î ColliderType ¤òÌá¤êÃͤȤ·¤Æ¼èÆÀ¤·¤Þ¤¹¡£
ColliderType ¤Ï None¡¢Sprite¡¢Grid ¤Î£³¼ïÎब¤¢¤ê¤Þ¤¹¡£

  // ¥¿¥Ã¥×¤·¤¿°ÌÃ֤Υ¿¥¤¥ë¤Î¥³¥é¥¤¥À¡¼¤Î¾ðÊó¤ò³Îǧ¤·¡¢¤½¤ì¤¬ None ¤Ç¤¢¤ë¤Ê¤é
  if (tilemaps.GetColliderType(gridPos) == Tile.ColliderType.None) {

  }

¡¡¾åµ­¤ÎÎã¤Ç¤Ï¡¢²èÌ̤Υ¿¥Ã¥×¤·¤¿ÃÏÅÀ¤Î¥»¥ëºÂɸ¤ò°ú¿ô¤È¤·¤Æ¡¢¤½¤ÎºÂɸ¤Î¥¿¥¤¥ë¤Î»ý¤Ä ColliderType ¤Î¾ðÊó¤ò¼èÆÀ¤·¡¢¤½¤Î¥¿¥¤¥×¤¬ None ¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï
if ʸ¤Î¾ò·ï¤òËþ¤¿¤·¤Æ½èÍý¤ò¹Ô¤¦¤è¤¦¤ËÀ©¸æ¤·¤Æ¤¤¤Þ¤¹¡£

Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
TileMap
https://docs.unity3d.com/ScriptReference/Tilemaps....
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
TileMap.GetColliderType
https://docs.unity3d.com/ScriptReference/Tilemaps....
¥³¥¬¥Í¥Ö¥í¥° ÍÍ
¡ÚUnity¡Û¥¿¥¤¥ë¥Þ¥Ã¥× - Tilemap ¥¯¥é¥¹¤Ç¤è¤¯»È¤¦´Ø¿ô
https://baba-s.hatenablog.com/entry/2018/04/08/131...


£´¡¥CharaGenerator ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¤¹¤ë


¡¡CharaGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤Î¤Ç¡¢CharaGenerator ¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
¥¢¥µ¥¤¥ó¤¹¤ë¾ðÊ󤬿·¤·¤¯£±¤Äɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤ò½çÈÖ¤ËÀßÄꤷ¤Þ¤¹¡£

¡¡Tilemaps ÊÑ¿ô¤Ë¤Ï Grid_Walk ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤Î Tilemap ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È ¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£

¡¡¥¢¥µ¥¤¥ó¤¹¤ëÂоݤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò´Ö°ã¤¨¤Ê¤¤¤è¤¦¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¢¥µ¥¤¥ó¤¹¤ë¤È¡¢¤½¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë³ºÅö¤¹¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊ󤬼«Æ°Åª¤ËÊÑ¿ô¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡£


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£


£µ¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤¹¤ë


¡¡¥»¡¼¥Ö¤ò¹Ô¤¤¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ½èÍý¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£

¡¡¿§¡¹¤Ê¥¿¥¤¥ë¤ò¥¿¥Ã¥×¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
Grid_Base ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤Î¥¿¥¤¥ë(²¼ÃÏÉôʬ)¤Î¤ß¤ËÈ¿±þ¤·¤Æ¥­¥ã¥é¤¬À¸À®¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ì¤Ð¡¢À©¸æÀ®¸ù¤Ç¤¹¡£


¡ã¼ÂÁõÆ°²è¡¡²èÌ̤ò¥¿¥Ã¥×¤·¤¿ºÝ¤ËÇÛÃÖ²Äǽ¤Ê°ÌÃ֤Ǥ¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¿¥Ã¥×¤·¤¿°ÌÃ֤˥­¥ã¥é¤òÀ¸À®¤¹¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯




¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£

¡¡¼¡¤Ï¡¡¼ê½ç£·¡¡¡ÝŨ¥­¥ã¥é¤ÎºîÀ®¤È°ÜÆ°½èÍý¤Î¼ÂÁõ¡Ý¡¡¤Ç¤¹¡£

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

Menu



´ðÁÃ

µ»½Ñ/Ãμ±(¼ÂÁõÎã)

3D¥¢¥¯¥·¥ç¥ó¥²¡¼¥à

2D¤ª¤Ï¤¸¤­¥²¡¼¥à(ȯŸÊÔ)

2D¶¯À©²£¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

2D¥¿¥Ã¥×¥·¥å¡¼¥Æ¥£¥ó¥°(³ÈÄ¥ÊÔ)

¥ì¡¼¥¹¥²¡¼¥à(È´¿è)

2DÊüÃÖ¥²¡¼¥à(ȯŸÊÔ)

3D¥ì¡¼¥ë¥¬¥ó¥·¥å¡¼¥Æ¥£¥ó¥°(±þÍÑÊÔ)

3Dæ½Ð¥²¡¼¥à(È´¿è)

2D¥ê¥¢¥ë¥¿¥¤¥à¥¹¥È¥é¥Æ¥¸¡¼

3D¥¿¥Ã¥×¥¢¥¯¥·¥ç¥ó(NavMeshAgent »ÈÍÑ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥«¥¨¥ë¤Î°Ù¤Ë¡Á¡¢¥Ü¥³¥¹¥«¥¦¥©¡¼¥ºÉ÷)

VideoPlayer ¥¤¥Ù¥ó¥ÈϢư¤Î¼ÂÁõÎã

VideoPlayer ¥ê¥¹¥ÈÆ⤫¤é¥à¡¼¥Ó¡¼ºÆÀ¸¤Î¼ÂÁõÎã(ȯŸ)

AR ²èÁüÉÕ¤­¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¤Î¼ÂÁõÎã

AR ¥ê¥¹¥ÈÆ⤫¤éÀ¸À®¤Î¼ÂÁõÎã(ȯŸ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥µ¥Ð¥¤¥Ð¡¼É÷)

private



¤³¤Î¥µ¥¤¥ÈÆâ¤ÎºîÉʤϥæ¥Ë¥Æ¥£¤Á¤ã¤ó¥é¥¤¥»¥ó¥¹¾ò¹à¤Î¸µ¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹