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

¡¡Ê¬³ä¤·¤¿¥¯¥é¥¹Æâ¤Ë¤¢¤ë¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Ë¤è¤ëÈóƱ´ü½èÍý¤Ë¤Ä¤¤¤Æ¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡Á°Ãʳ¬¤Î³Ø½¬¤È¤·¤Þ¤·¤Æ¡¢²¼µ­¤Îµ­»ö¤Î³Ø½¬¤ò¤ª´ê¤¤Ãפ·¤Þ¤¹¡£

¡¡¡¡¡¡=>¡¡ÈîÂç²½¤·¤¿¥¯¥é¥¹Æâ¤Î½èÍý¤ò¡¢Ìò³ä¤Ë±þ¤¸¤¿¥¯¥é¥¹¤òÊ£¿ôºîÀ®¤·¤Æʬ³ä¤¹¤ë¼ÂÁõÎã

¡¡¤Þ¤¿¤³¤Îµ­»ö¤Ï¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤¬ÌÜŪ¤Ç¤¢¤ë¤¿¤á¡¢UniTask ¼«ÂΤξܺ٤ÊÀâÌÀ¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
»öÁ°¤ËÊ̤ε­»ö¤ä¾¤Î¥µ¥¤¥È¤Îµ­»ö¤ò»²¹Í¤·¤Æ»öÁ°³Ø½¬¤ò¤ª´ê¤¤Ãפ·¤Þ¤¹¡£



Àß·×


¡¡¥³¥ë¡¼¥Á¥ó¤Î¼Â¹ÔÌ¿Îá¤Ç¤¢¤ë StartCoroutine ¥á¥½¥Ã¥É¤Ï MonoBehaviour¤ò·Ñ¾µ¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Ç¤Î¤ßÍøÍѤǤ­¤Þ¤¹¡£
¤½¤Î¤¿¤á¥³¥ë¡¼¥Á¥ó¤Ï¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸Â¸´ü´Ö¤Ë°Í¸¤¹¤ëÈóƱ´ü½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
²¿¸Î¤Ê¤é¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î¤¢¤ë¥¹¥¯¥ê¥×¥È¤Ï¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢
¤½¤Î¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ÇË´þ¤µ¤ì¤¿¥¿¥¤¥ß¥ó¥°¤Ç¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤âÄä»ß¤·¤Þ¤¹¡£
¡¡
¡¡Unity ¤Ç¤Ï UniTask ¤Ë¤è¤ê¡¢async / await ¤Ë¤è¤ëÈóƱ´ü½èÍý¤¬¼ÂÁõ²Äǽ¤Ç¤¹¡£
¤³¤Á¤é¤Ï¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸Â¸´ü´Ö¤Ë¤Ï°Í¸¤·¤Þ¤»¤ó¤¬¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ÇË´þ¤µ¤ì¤Æ¤â¼«Æ°Åª¤Ë½èÍý¤ÏÄä»ß¤·¤Þ¤»¤ó¡£
Àµ¤·¤¤½ñ¤­Êý¤òÍý²ò¤·¤Æ¥í¥¸¥Ã¥¯¤òÁȤळ¤È¤¬½ÐÍè¤ì¤Ð¡¢¥³¥ë¡¼¥Á¥ó¤è¤ê¤â½ÀÆð¤Ê½èÍý¤¬µ­½Ò¤Ç¤­¤Þ¤¹¡£

¡¡¤É¤Á¤é¤Î½èÍý¤Î½ñ¤­Êý¤â³Ð¤¨¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢¥½¡¼¥¹¥³¡¼¥É¤Îµ­½Ò¤ÎÉý¤¬¹­¤¬¤ê¤Þ¤¹¡£
º£²ó¤ÏÁ°²ó¤ÎÈîÂç²½¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Îʬ³ä¤ò¥Ù¡¼¥¹¤Ë¡¢¥³¥ë¡¼¥Á¥ó¤Î½èÍý¤ò UniTask ¤òÍøÍѤ·¤¿ÈóƱ´ü½èÍý¤ËÊѹ¹¤·¤Þ¤¹¡£


ʬ³äÁ°¤Î¥¯¥é¥¹


¡¡²¼µ­¤Ïº£²ó¤Î¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤ÇÍøÍѤ¹¤ë¥½¡¼¥¹¥³¡¼¥É¤Ç¤¹¡£
°ÊÁ°¤Î³Ø½¬¤Çʬ³ä¤¹¤ëºÝ¤ËÍøÍѤ·¤¿¥½¡¼¥¹¥³¡¼¥É¤ÈƱ¤¸¤â¤Î¤òÍøÍѤ·¤Þ¤¹¡£


PlayerController.cs

<= ¥¯¥ê¥Ã¥¯¤·¤¿¤é³«¤­¤Þ¤¹¡£



¥¯¥é¥¹Ê¬³ä¤Ë¤è¤ëÌò³ä¤Î¹Í¤¨Êý


¡¡¤³¤ì¤âÁ°Ãʳ¬¤ÈƱ¤¸¹Í¤¨Êý¤Ç¤¹¤Î¤Ç¡¢¤³¤³¤Ç¤Ï³ä°¦¤·¤Þ¤¹¡£

¡¡³Ø½¬¤È¤·¤Æ¤Ï¡¢Ê¬³ä¤·¤¿³Æ¥¯¥é¥¹Æâ¤Ë¤¢¤ë¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ò UniTask ¤òÍøÍѤ·¤¿ async / await ¤Î½èÍý¤Ë¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤ò¹Ô¤¤¤Þ¤¹¡£


¿Æ¥¯¥é¥¹¤òºîÀ®¤¹¤ë


¡¡¤³¤Î¥¯¥é¥¹¤Ë¤ÏÊѹ¹¤Ï¤¢¤ê¤Þ¤»¤ó¡£


<= ¥¯¥ê¥Ã¥¯¤·¤¿¤é³«¤­¤Þ¤¹¡£



»Ò¥¯¥é¥¹¤òºîÀ®¤¹¤ë

£±¡¥PlayerMove.cs


¡¡¤³¤Î¥¯¥é¥¹¤Ë¤ÏÊѹ¹¤Ï¤¢¤ê¤Þ¤»¤ó¡£

<= ¥¯¥ê¥Ã¥¯¤·¤¿¤é³«¤­¤Þ¤¹¡£



£²¡¥PlayerAnimation.cs


¡¡¤³¤Î¥¯¥é¥¹¤Ë¤ÏÊѹ¹¤Ï¤¢¤ê¤Þ¤»¤ó¡£


<= ¥¯¥ê¥Ã¥¯¤·¤¿¤é³«¤­¤Þ¤¹¡£



£³¡¥PlayerAction.cs


¡¡¤³¤Î¥¯¥é¥¹¤Ë¤Ï¥³¥ë¡¼¥Á¥ó¤òÍøÍѤ·¤¿¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢
¿·¤·¤¤¥á¥½¥Ã¥É¤òºîÀ®¤·¤¿¾å¤Ç¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤ò¹Ô¤Ã¤ÆÈóƱ´ü½èÍý¤òÃÖ¤­´¹¤¨¤Þ¤¹¡£


<= ¥¯¥ê¥Ã¥¯¤·¤¿¤é³«¤­¤Þ¤¹¡£


¡¡async / await ¤Ë¤è¤ëÈóƱ´ü½èÍýÍѤΥ᥽¥Ã¥É¤Ï¡¢Ìá¤êÃͤò UniTask ·¿¤Ë¤·¤Þ¤¹¡£
¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤È°ã¤¤¡¢Ìá¤êÃͤˤÏǤ°Õ¤Î¾ðÊó¤ò»ý¤¿¤»¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£UniTask<int> ¤Î¤è¤¦¤Ë½ñ¤±¤Þ¤¹¡£

¡¡²Ã¤¨¤Æ¡¢¥á¥½¥Ã¥É¤ÎÄêµÁ¤Ë¤Ï async ¥­¡¼¥ï¡¼¥É¤òÉÕÍ¿¤·¤Þ¤¹¡£
¥á¥½¥Ã¥É̾¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë ¡Á Async ¤Ç½ª¤ï¤ë¤è¤¦¤Ë¤·¡¢ÈóƱ´üÍѤΥ᥽¥Ã¥É¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ë¤è¤¦¤Ë̿̾¤·¤Þ¤¹¡£
º£²ó¤Ç¤¢¤ì¤Ð PlayActionAsync ¤È¤·¤Æ¤¤¤Þ¤¹¡£

¡¡await ¥­¡¼¥ï¡¼¥É¤òÀèƬ¤Ë¤Ä¤±¤ë¤³¤È¤Ç¡¢ÈóƱ´ü½èÍý¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤Ï yield return ÉդΠStartCoroutine ¤ÈƱ¤¸Ìò³ä¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ÈóƱ´ü½èÍý¤¬´°Î»¤¹¤ë¤Þ¤Ç¼¡¤Î½èÍý¤Ë¤Ï°Ü¹Ô¤·¤Þ¤»¤ó¡£

¡¡¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Ë¤è¤ëÈóƱ´ü½èÍý¤Ï¼Â¹Ô¤·¤Æ¤¹¤°¤Ë¼¡¤Î½èÍý¤Ë°Ü¹Ô¤·¤Þ¤·¤¿¤¬¡¢
async / await ¤Ë¤è¤ëÈóƱ´ü½èÍý¤ÏÂÔµ¡¤¹¤ë¤³¤È¤¬Á°Äó¤Ë¤Ê¤Ã¤Æ¤¤¤ëÈóƱ´ü½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£


£´¡¥EventChecker.cs


¡¡¤³¤Î¥¯¥é¥¹¤ÏÊѹ¹¤¢¤ê¤Þ¤»¤ó¡£


<= ¥¯¥ê¥Ã¥¯¤·¤¿¤é³«¤­¤Þ¤¹¡£



£µ¡¥PlayerManager.cs


¡¡¤³¤Î¥¯¥é¥¹¤Ë¤ÏÈóƱ´ü½èÍý¤¬¤¿¤¯¤µ¤ó¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢Â礭¤ÊÊѹ¹¤¬¤¢¤ê¤Þ¤¹¡£


<= ¥¯¥ê¥Ã¥¯¤·¤¿¤é³«¤­¤Þ¤¹¡£



Forget ¥á¥½¥Ã¥É


¡¡ÈóƱ´ü½èÍý°Ê³°¤Î¥á¥½¥Ã¥ÉÆâ¤Ç await ¤Î¤Ê¤¤ÈóƱ´ü½èÍý¤ò¼Â¹Ô¤¹¤ë¤È·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¤½¤Î¾ì¹ç¤Ë¤Ï¡¢Forget ¥á¥½¥Ã¥É¤òÄɲ乤뤳¤È¤Ç¡¢ÂÔµ¡¤Î¤Ê¤¤ÈóƱ´ü½èÍý(½¾Íè¤Î¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É)¤È¤·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£


Update ¥á¥½¥Ã¥ÉÆâ
  if (Input.GetButtonDown("Action")) {

      // ¥×¥ì¥¤¥ä¡¼¤Î¸þ¤¤¤Æ¤¤¤ëÊý¸þ¤Ë¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ¥¢¥¯¥·¥ç¥ó¤Ç¤­¤ë¤«È½Äê
      PrepareJedgeAction().Forget();
  }

¡¡Forget ¥á¥½¥Ã¥É¤òÄɲ䷤Ƥ¤¤ë½èÍý¤ÏÂÔµ¡¤»¤º¤Ë¡¢¼¡¤Î½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£


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


¡¡¥¹¥¯¥ê¥×¥È¤Î¥¢¥¿¥Ã¥ÁÀè¤Ê¤É¤ÏÊѤï¤ê¤Þ¤»¤ó¤Î¤Ç¡¢¥½¡¼¥¹¥³¡¼¥É¤Î½¤Àµ¤¬½ªÎ»¤·¤¿¤é¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤Ï´°À®¤Ç¤¹¡£

¡¡¤É¤ÎÉôʬ¤ò½¤Àµ¤·¤Æ¤¤¤ë¤Î¤«¡¢½èÍý¤Î¸«Ä¾¤·¤ò¤·¤¿¾å¤Ç¡¢¤¤¤Þ¤Þ¤Ç¤ÈƱ¤¸¤è¤¦¤Ë½èÍý¤¬Æ°ºî¤¹¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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