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

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

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

¼ê½ç£·¡¡¡¼¥­¥ã¥é¥¯¥¿¡¼¤Î·ÐÏ©°ÜÆ°µ¡Ç½¡¼
£±£°¡¥PlayerNavigationController ¥¹¥¯¥ê¥×¥È¤ÎºîÀ®



¡¡¡ã¿·¤·¤¯³Ø½¬¤¹¤ëÆâÍÆ¡ä
¡¡¡¦RequireComponent(typeof(¥¯¥é¥¹Ì¾/¥³¥ó¥Ý¡¼¥Í¥ó¥È̾))]°À­
¡¡¡¦SerializeField °À­
¡¡¡¦TryGetComponent ¥á¥½¥Ã¥É¤È out ¥­¡¼¥ï¡¼¥ÉÀë¸À
¡¡¡¦Vector3.Distance() ¥á¥½¥Ã¥É¡¡¡¼£²ÅÀ´Ö¤Î°ÌÃÖ¾ðÊ󤫤éµ÷Î¥¤ÈÊý¸þ¤ò»»½Ð¤¹¤ë¡¼
¡¡¡¦NavMeshAgent ¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤È¥á¥½¥Ã¥É
¡¡¡¡¡¡¡¡¡¼£±¡¥NavMeshAgent.destination ÊÑ¿ô(SetDestination ¥á¥½¥Ã¥É)¡¼
¡¡¡¡¡¡¡¡¡¼£²¡¥NavMeshAgent.speed ÊÑ¿ô¡¼
¡¡¡¡¡¡¡¡¡¼£³¡¥NavMeshAgent.ResetPath ¥á¥½¥Ã¥É¡¼




£±£°¡¥PlayerNavigationController ¥¹¥¯¥ê¥×¥È¤ÎºîÀ®

£±¡¥Àß·×


¡¡¥¢¥¯¥·¥ç¥ó¥²¡¼¥à¤Ç¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢º£²ó¤Î¥²¡¼¥à¤Ï¡¢½½»ú¥­¡¼¤ÎÁàºî¤ÇǤ°Õ¤Î°ÜÆ°¤ò¹Ô¤¦¥¿¥¤¥×¤Ç¤Ï¤Ê¤¯¡¢
¥¹¥Æ¡¼¥¸Æâ¤ò¥¿¥Ã¥×¤¹¤ë¤³¤È¤Ç¡¢¤½¤ÎÃÏÅÀ¤Þ¤Ç¼«Æ°Åª¤Ë·ÐÏ©¤ò·èÄꤷ¤Æ°ÜÆ°¤¹¤ë¥¿¥¤¥×¤òÍøÍѤ·¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢Á°²ó¤Î¼ê½ç¤Ç¤Ï AI ¤Ë¤è¤ë·ÐÏ©¤Î·×»»¤ò¹Ô¤¦¤¿¤á¡¢NavMeshAgent ¤Î½àÈ÷¤ò¹Ô¤¤¤Þ¤·¤¿¡£
º£²ó¤Ï¤½¤Á¤é¤Îµ¡Ç½¤òÍøÍѤ·¤Æ¥­¥ã¥é¥¯¥¿¡¼¤òÁàºî¤¹¤ë¤¿¤á¤Ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Æ¡¢µ¡Ç½¤òÀ©¸æ¤·¤Þ¤¹¡£


£²¡¥¥¹¥¯¥ê¥×¥ÈºîÀ®¤Î½àÈ÷


¡¡º£¸å¿¤¯¤Î¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Æ¤¤¤¯¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¥¹¥¯¥ê¥×¥È¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥Õ¥©¥ë¥À¤òºîÀ®¤·¤Æ¤«¤é
¥¹¥¯¥ê¥×¥È¤ÎºîÀ®¤ËÆþ¤ê¤Þ¤·¤ç¤¦¡£

¡¡Project ¥Õ¥©¥ë¥ÀÆâ¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤¹¤ë¤«¡¢Project ¥¿¥Ö¤Î²¼¤Ë¤¢¤ë + ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¥á¥Ë¥å¡¼¤òɽ¼¨¤·¤Þ¤¹¡£
Create ¢ª Folder ¤òÁªÂò¤·¡¢Ì¾Á°¤ò Scripts ¤ËÊѹ¹¤·¤Þ¤¹¡£


Scripts ¥Õ¥©¥ë¥ÀºîÀ®



£³¡¥¥¹¥¯¥ê¥×¥ÈºîÀ®


¡¡Â³¤¤¤Æ¡¢¤½¤Î Scripts ¥Õ¥©¥ë¥À¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ¥Õ¥©¥ë¥À¤ò³«¤­¡¢¤½¤ÎÃæ¤ÇºÆÅÙ±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤òɽ¼¨¤·¡¢
Create ¢ª C# Script ¤òÁªÂò¤·¤Þ¤¹¡£¿·¤·¤¤¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò PlayerNavigationController ¤ËÊѹ¹¤·¤Þ¤¹¡£
̾Á°¤ò´Ö°ã¤¨¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢°ìÅÙºï½ü¤·¤Æ¡¢¤â¤¦°ìÅÙºîÀ®¤·Ä¾¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¿·¤·¤¤µ¡Ç½¤ò¤¿¤¯¤µ¤óÍøÍѤ·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¤¢¤È¤ËÀâÌÀ¤òÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥È¤Î½èÍý¤òµ­½Ò¸å¤ËÀâÌÀ¤òÆɤó¤ÇÍý²ò¤ò¿¼¤á¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤Ê¤ª Ray ¤È Physics.Raycast ¥á¥½¥Ã¥É¤ÎÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï³ä°¦¤·¤Æ¤¤¤Þ¤¹¡£
Unity ¤Î¶µ²Ê½ñ¤Ë¤Æ³Ø½¬ºÑ¤Ç¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ÇÉü½¬¤ò¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£


PlayerNavigationController.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£Ctrl + Shift + S ¥­¡¼¤Ç¥»¡¼¥Ö¤Ç¤­¤Þ¤¹¡£
¼«Æ°Åª¤Ë Unity ¤È¤ÎƱ´ü¤¬¹Ô¤ï¤ì¤Æ¡¢¥¨¥é¡¼¤¬¤¢¤ë¾ì¹ç¤Ë¤Ïɽ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£


£´¡¥¡ãRequireComponent(typeof(¥¯¥é¥¹Ì¾/¥³¥ó¥Ý¡¼¥Í¥ó¥È̾))]°À­¡ä

¡¡¡¡
¡¡[] ¤Ç½ñ¤«¤ì¤¿¾ðÊó¤Ï°À­¡ÊAttribute¡Ë¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ç¤¹¡£
°À­¤òÉÕÍ¿¤¹¤ë»ö¤Ç¾¤ÎÊÑ¿ô¤È¶èÊ̤·¤¿¤ê¡¢ÆÃÊ̤ʵóÆ°¤òÀßÄꤹ¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

[RequireComponent(typeof(Rigidbody))]
public class PlayerController : MonoBehaviour {

¡¡¤³¤ÎRequireComponent(¥ê¥¯¥ï¥¤¥¢¡¦¥³¥ó¥Ý¡¼¥Í¥ó¥È)°À­¤Ï¡¢¥¯¥é¥¹Ì¾¤Î£±¹Ô¾å¤Ëµ­½Ò¤¹¤ë°À­¤Ç¤¹¡£

¡¡¤³¤Î°À­¤Î(°ú¿ô)¤Ç»ØÄꤷ¤¿¥¯¥é¥¹¤ä¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢Console ¥Ó¥å¡¼¤Ë¥¨¥é¡¼¤¬½Ð¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¡¡

¡¡¤Þ¤¿¤³¤Î°À­¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È¤ò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤È¡¢°ú¿ô¤Ç»ØÄꤷ¤Æ¤¤¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¼«Æ°Åª¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Þ¤¹¡£(º£²ó¤Ï Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È)
¤Ä¤Þ¤ê¤³¤Îµ¡Ç½¤Ï¡¢¥¹¥¯¥ê¥×¥È¤òÀµ¾ï¤ËÆ°ºî¤µ¤»¤ë¤¿¤á¤ËɬÍפʥ³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¶¯À©Åª¤ËÍÑ°Õ¤·¤Æ¤¯¤ì¤ëÆâÍƤˤʤäƤ¤¤Þ¤¹¡£
¡¡
¡¡º£²ó¤³¤Î PlayerController ¥¹¥¯¥ê¥×¥È¤Ë¤è¤ê Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤µ¤»¤ë¤Ë¤Ï Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬É¬Íפˤʤê¤Þ¤¹¡£
[RequireComponent(typeof(Rigidbody))]°À­¤òÄɲ乤뤳¤È¤Ë¤è¤Ã¤Æ¡¢¼«Æ°Åª¤Ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥¢¥¿¥Ã¥Á¤ò¹Ô¤¦¤È¤È¤â¤Ë¡¢¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¤¬½Ð¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
RequireComponent


£µ¡¥¡ãSerializeField °À­¡ä


¡¡ÊÑ¿ô¤ÎÀë¸À¤Ë¹ç¤ï¤»¤ÆÀë¸À¤Ç¤­¤ë¡¢Â°À­¾ðÊó¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Î£±¤Ä¤Ç¤¹¡£ÊÑ¿ô¤ÎÀë¸À¤ÎÁ°¤Ë [ ] ÉÕ¤­¤Ç½ñ¤«¤ì¤¿ÆâÍƤ¬Â°À­¾ðÊó¤È¤Ê¤ê¤Þ¤¹¡£

¡¡º£²óÍøÍѤ·¤Æ¤¤¤ë°À­¤Ï SerializeField ¤È¤¤¤¦Â°À­¾ðÊó¤Ç¤¹¡£¤³¤Îµ¡Ç½¤Ï¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤ËÊÑ¿ô¤òɽ¼¨¤µ¤»¤ë¡¢¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£

¡¡¼ç¤Ë private ½¤¾þ»Ò¤È¥»¥Ã¥È¤ÇÍѤ¤¤é¤ì¡¢¥¢¥µ¥¤¥ó¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ç²Äǽ¤Ë¤¹¤ë¤â¤Î¤Î¡¢ÊÑ¿ô¤Î»²¾ÈÀ褬³°Éô¤Î¥¹¥¯¥ê¥×¥È¤Ë¤Ê¤¤(public¤ÎɬÍפ¬¤Ê¤¤)¾ì¹ç¤ËÍøÍѤ·¤Þ¤¹¡£

¡¡¤¿¤È¤¨¤Ð Button¥³¥ó¥Ý¡¼¥Í¥ó¥È¤äText¥³¥ó¥Ý¡¼¥Í¥ó¥È¤È¤¤¤Ã¤¿¡¢¥¢¥µ¥¤¥ó¤Ï¤¹¤ë¤â¤Î¤Î¡¢¤½¤ÎÊÑ¿ô¤ÎÍøÍÑÀ褬¾¤Î¥¹¥¯¥ê¥×¥È¤Ë¤Ï¤Ê¤¤¤è¤¦¤Ê¤â¤Î¡¢¤Ë¤ÏÍøÍѤ·¤ä¤¹¤¤¤Ç¤¹¡£

¡¡º£²ó¤Ï¥×¥ì¥¤¥ä¡¼¤Î°Üư®ÅÙ¤òÀßÄꤹ¤ë¤¿¤á¤ÎÊÑ¿ô¤ÎÀë¸À¤Ë°À­¾ðÊó¤òÉÕÍ¿¤·¤Æ¤¤¤Þ¤¹¡£
°Üư®Å٤ξðÊó¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤»¤ë¤³¤È¤Ë¤è¤ê¡¢°Üư®ÅÙ¤ÎÄ´À°¤Ë¤¢¤¿¤ê¡¢
¥¹¥¯¥ê¥×¥ÈÆâ¤Ç¤½¤ÎÅÔÅÙ½ñ¤­Ä¾¤µ¤Ê¤¯¤Æ¤â¤è¤¤¤è¤¦¤Ë¤¹¤ëÌÜŪ¤ÇÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£

»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
SerializeField


£¶¡¥¡ãTryGetComponent ¥á¥½¥Ã¥É¤È out ¥­¡¼¥ï¡¼¥ÉÀë¸À¡ä


  if (!TryGetComponent(out agent)) {
      Debug.Log("NavMeshAgent ¤ò¼èÆÀ½ÐÍè¤Þ¤»¤ó¡£");
      return;
  }

¡¡Unity2019.2°Ê¹ß¤ËÄɲ䵤줿¥á¥½¥Ã¥É¤Ç¤¹¡£½èÍý·ë²Ì¤È¤·¤Æ bool ·¿¤ÇÌá¤êÃͤòÊÖ¤·¤Æ¤¯¤ì¤Þ¤¹¡£
¤³¤Î¤È¤­¤Î½èÍý·ë²Ì¤È¤¤¤¦¤Î¤Ï¡¢»ØÄꤷ¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î·¿¤Î¼èÆÀ¤ò¹Ô¤¤¡¢¤½¤ì¤¬¼èÆÀ¤Ç¤­¤ì¤Ðtrue¡¢¼èÆÀ¤Ç¤­¤Ê¤±¤ì¤Ðfalse¤¬Ìá¤ê¤Þ¤¹¡£

¡¡¤Þ¤¿ out ¥­¡¼¥ï¡¼¥É¤Ë¤è¤ëÀë¸À¤¬¤¢¤ê¤Þ¤¹¡£
¡¡out ¥­¡¼¥ï¡¼¥ÉÀë¸À¤ò¹Ô¤¦¤È¡¢out ¤òÉÕ¤±¤¿°ú¿ô¤Ç»ØÄꤷ¤¿ÊÑ¿ô¤Ï¥á¥½¥Ã¥ÉÆâ¤Çɬ¤º·ë²Ì¤¬Æþ¤ë¤³¤È¤¬Êݾڤµ¤ì¤ë¤â¤Î¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢½èÍý·ë²Ì¤ÎÌá¤êÃͤ¬ true ¤Î¾ì¹ç¤Ë¤Ïɬ¤º¡¢¤³¤Î out ¤Î¸å¤ËÀë¸À¤·¤¿ÊÑ¿ôÆâ¤Ë·¿¤¬ÂåÆþ¤µ¤ì¤Þ¤¹¡£

¡¡Ã¼Åª¤Ë¤¤¤¦¤Ê¤é¤Ð¡¢GetComponent ¥á¥½¥Ã¥É¤Î½èÍý¤Ë²Ã¤¨¤Æ¡¢¤½¤Î½èÍý¤ÎÀ®ÈÝȽÄê(¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¼èÆÀ½ÐÍ褿¤«¡¢½ÐÍè¤Ê¤«¤Ã¤¿¤«)¤òƱ»þ¤Ë¹Ô¤Ã¤Æ¤¯¤ì¤ë¥á¥½¥Ã¥É¤Ë¤Ê¤ê¤Þ¤¹¡£



¡ã¼ÂÁõÎã­¡¡ä
  private Rigidbody rb;

  TryGetComponent(out rb);

¡ã¼ÂÁõÎã­¢¡¡Ìá¤êÃͤò³èÍÑ¡ä
if(col.gameObject.TryGetComponent(out Rigidbody rigid)) {

   // ½èÍý¤ò½ñ¤¯
}

¡¡º£²ó¤Ï¼ÂÁõÎã­¡¤Î½èÍý¤È¤·¤ÆÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£¥¹¥¯¥ê¥×¥ÈÆâ¤Ë TryGetComponent ¥á¥½¥Ã¥É¤òľÀܵ­½Ò¤·¤¿¾ì¹ç¡¢GetComponent ¥á¥½¥Ã¥É¤ÈƱÍͤˡ¢
¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤«¤é»ØÄꤵ¤ì¤Æ¤¤¤ë¼ïÎà¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Æ¤Þ¤¹¡£
¤½¤ì¤ò out ¥­¡¼¥ï¡¼¥É¸å¤Î rb ÊÑ¿ô¤ËÂåÆþ¤·¤Æ¤¤¤Þ¤¹¡£GetComponent ¥á¥½¥Ã¥É¤Î¤è¤¦¤Ë<·¿°ú¿ô>¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¤Î¤Ï¡¢rb ÊÑ¿ô¤Ë¤è¤Ã¤Æ·¿¤ò¿äÏÀ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤¿¤á¤Ç¤¹¡£

¡¡out ¥­¡¼¥ï¡¼¥É°Ê¹ß¤Ë¤Ï¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¼èÆÀ¤·¤¿¤¤·¿¤ÈÊÑ¿ô¤òÀë¸À¤·¤Þ¤¹¡£º£²ó¤Î¤è¤¦¤Ë»öÁ°¤ËÊÑ¿ô¤ÎÀë¸À¤ò¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ÊÑ¿ô¤Î¤ß¤òÍÑ°Õ¤·¤Æ¤ª¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¼ÂÁõÎã­¢¤Î¾ì¹ç¤Ï¡¢¤â¤·¤â¤³¤Î TryGetComponent ¥á¥½¥Ã¥É¤Î½èÍý·ë²Ì¤¬¼Â¹Ô²Äǽ¤Ê¤é¤Ð¡¢¤Ä¤Þ¤ê¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
out ¤È¤·¤ÆÍÑ°Õ¤·¤¿ rigid ÊÑ¿ô¤Ë Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤¬ÂåÆþ¤µ¤ì¤Þ¤¹''¡£¤Þ¤¿¡¢true ¤ÎÃͤ¬¡¢¤½¤ì¤È¤ÏÊ̤˽èÍý·ë²Ì¤È¤·¤ÆÌá¤ê¤Þ¤¹¡£
out ¤ËÍÑ°Õ¤·¤¿ÊÑ¿ô¤¬»öÁ°¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤Î¾ì¹ç(Î㤨¤Ð rb ÊÑ¿ô)¤Ë¤Ï¡¢Àë¸À¤µ¤ì¤Æ¤¤¤¿ÊÑ¿ô¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡£
¤³¤ÎÊÕ¤ê¤ÏÊÑ¿ô¤Î¥¹¥³¡¼¥×¤ò¹Í¤¨¤Æ¼ÂÁõ¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£

¡¡TryGetComponent ¥á¥½¥Ã¥É¤Î½èÍý·ë²Ì¤¬ false ¤Î¾ì¹ç¤Ë¤Ï Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¼èÆÀ¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¤¿¤á¡¢rigid ÊÑ¿ô¤Ï null ¤Î¤Þ¤Þ¤Ç¡¢false ¤¬½èÍý·ë²Ì¤È¤·¤ÆÌá¤ê¤Þ¤¹''¡£


¡¡¤Ê¤ª TryGetComponent ¥á¥½¥Ã¥É¤Ë¤ÏÊ£¿ô¤Î½ñ¼°¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Á¤é¤Ï²¼µ­¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Component.TryGetComponent


£·¡¥¡ãVector3.Distance() ¥á¥½¥Ã¥É¡¡¡¼£²ÅÀ´Ö¤Î°ÌÃÖ¾ðÊ󤫤éµ÷Î¥¤ÈÊý¸þ¤ò»»½Ð¤¹¤ë¡¼¡ä


¡¡°Ê²¼¤Î·×»»¼°¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢Î㤨¤Ð¡¢¥×¥ì¥¤¥ä¡¼¤ÈŨ¤È¤Î¡Öµ÷Î¥¡×¤¬º¹Ê¬¤È¤·¤Æ»»½Ð¤µ¤ì¤Þ¤¹¡£¤³¤Î¤È¤­°ì½ï¤Ë¡ÖÊý¸þ¡×¤Î¾ðÊó¤â¼èÆÀ¤Ç¤­¤Þ¤¹¡£

¡ã£²ÅÀ´Ö¤Îµ÷Î¥¤ÈÊý¸þ¤Î»»½Ð¡ä
  float distination = ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈA¤Î°ÌÃÖ¾ðÊó - ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈB ¤Î°ÌÃÖ¾ðÊó;

¡¡¤³¤Î·×»»µ¡Ç½¤ò»ý¤Ä¥á¥½¥Ã¥É¤¬ Vector3.Distance ¥á¥½¥Ã¥É¤Ç¤¹¡£



¡¡Â裱°ú¿ô¤ÈÂ裲°ú¿ô¤Ë»ØÄꤷ¤¿Vector3·¿¤Î£²ÅÀ´Ö¤Îµ÷Î¥¤ò¡¢float·¿¤ËÊÑ´¹¤·¤Æµ÷Î¥¤È¤·¤ÆÌᤷ¤Æ¤¯¤ì¤ë¥á¥½¥Ã¥É¤Ë¤Ê¤ê¤Þ¤¹¡£
Ìá¤êÃͤ˹ç¤ï¤»¤Æ¡¢º¸ÊÕ¤Ëfloat·¿¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤ÆÂåÆþ¤µ¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤·¡¢Èæ³Ó½èÍý¤Î·ë²Ì¤È¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡£

¡¡// ÌÜŪÃϤ˶á¤Å¤¤¤¿¤é
  if (Vector3.Distance(transform.position, destination) <= 0.15f) {
  ¡¡¡¡// Ää»ß¤µ¤»¤ë
      agent.ResetPath();
  }

¡¡º£²ó¤Î¼ÂÁõÎã¤Ç¤Ï¡¢¥­¥ã¥é¥¯¥¿¡¼¤Î°ÌÃÖ¤ÈÌÜɸÃÏÅÀ¤È¤òÈæ³Ó¤·¡¢¤½¤ÎÌá¤êÃͤÎÃͤ¬ 0.15f °Ê²¼¤Ë¤Ê¤Ã¤¿ºÝ¤Ë¤Ï
¤Û¤ÜÌÜɸÃÏÅÀ¤ËÅþÃ夷¤Æ¤¤¤ë¤â¤Î¤ÈȽÃǤ·¡¢¤½¤Î¥¿¥¤¥ß¥ó¥°¤Ç if ʸÆâ¤Î½èÍý¤¬¼Â¹Ô¤µ¤ì¤Æ NavMeshAgent ¤¬Ää»ß¤¹¤ëÌ¿Î᤬¼Â¹Ô¤µ¤ì¤ë¥í¥¸¥Ã¥¯¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡
»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Vector3.Distance


£¸¡¥¡ãNavMeshAgent ¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤È¥á¥½¥Ã¥É¡ä


¡¡NavMeshAgent ¥¯¥é¥¹¤Ë¤Ï¿¤¯¤ÎÊÑ¿ô¤È¥á¥½¥Ã¥É¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Îµ¡Ç½¤ò¾å¼ê¤¯³èÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢AI ¤Ë¤è¤ë NavMeshAgent ¤Î¥ë¡¼¥È¤Î¼«Æ°°ÜÆ°¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¡¡NavMeshAgent ·¿¤ò¥¹¥¯¥ê¥×¥ÈÆâ¤ÇÀë¸À¤·¡¢³ÆÊÑ¿ô¤ä¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï using UnityEngine.AI; ¤ÎÀë¸À¤¬É¬ÍפǤ¹¡£

¡¡º£²ó¤Ï¼ÂÁõ¤ËÍøÍѤ·¤¿µ¡Ç½¤Î¤ß¤òÈ´¿è¤·¤Æ·ÇºÜ¤·¤Æ¤¤¤Þ¤¹¡£
¤¹¤Ù¤Æ¤Îµ¡Ç½¤Ï¾Ò²ð¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¡¢¼«Ê¬¤ÇÄ´¤Ù¤Æ¤ß¤Þ¤·¤ç¤¦¡£


£±¡¥NavMeshAgent.destination ÊÑ¿ô(SetDestination ¥á¥½¥Ã¥É)

¡¡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.speed ÊÑ¿ô

¡¡NavMeshAgent ¤Ë¤è¤ë¥ë¡¼¥È°ÜÆ°»þ¤ÎºÇÂç®ÅÙ¤ÎÀßÄêÃͤǤ¹¡£0 ¤Ë¤¹¤ë¤³¤È¤Ç°ÜÆ°¤ÏÄä»ß¤·¤Þ¤¹¡£
NavMeshAgent ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¥¢¥¿¥Ã¥Á¤·¤¿ºÝ¤Î½é´üÃÍ¤Ï 3.5 ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¥²¡¼¥à¤ÎÆâÍƤ˱þ¤¸¤ÆÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
º£²ó¤Î¼ÂÁõÎã¤Î¤è¤¦¤Ë¡¢¥¹¥¯¥ê¥×¥È¤«¤éÀ©¸æ¤â²Äǽ¤Ç¤¹¡£

¡¡// °Üư®ÅÙ¤ÎÀßÄê
  agent.speed = 3.0f;

¡ã»²¹Í¥µ¥¤¥È¡ä
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
NavMeshAgent.speed
https://docs.unity3d.com/jp/current/ScriptReferenc...


£³¡¥NavMeshAgent.ResetPath ¥á¥½¥Ã¥É

¡¡NavMeshAgent ¤Î¸½ºß¤Î·ÐÏ©¤òºï½ü¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢SetDestination ¥á¥½¥Ã¥É¤Ê¤É¤Ë¤è¤Ã¤ÆºÆÅÙÌÜɸÃÏÅÀ¤òÀßÄꤷ¤Ê¤¤¸Â¤ê¡¢Æ°ºî¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£

¡ã»²¹Í¥µ¥¤¥È¡ä
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
NavMeshAgent.ResetPath
https://docs.unity3d.com/jp/current/ScriptReferenc...


£¹¡¥GamblerCat ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë PlayerNavigationController ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤ÆÀßÄê¤ò¹Ô¤¦


¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë GamblerCat ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¡¢PlayerNavigationController ¥¹¥¯¥ê¥×¥È¤ò
¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤¿¤é¡¢É¬¤º¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Æ¡¢¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡PlayerNavigationController ¥¹¥¯¥ê¥×¥È¤Ëµ­½Ò¤·¤Æ¤¤¤ë RequireComponent °À­¤Ë¤è¤ê¡¢
¼«Æ°Åª¤Ë NavMeshAgent ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¡£


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




¡¡Äɲä·¤¿¥¹¥¯¥ê¥×¥È¤È¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î³Îǧ¤ÈÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡PlayerNavigationController ¥¹¥¯¥ê¥×¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Üư®ÅÙ¤ÎÀßÄ꤬¹Ô¤¨¤Þ¤¹¤Î¤Ç¡¢Ç¤°Õ¤ÎÃͤòÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
°Üư®Å٤ˤĤ¤¤Æ¤Ï¡¢¥¹¥Æ¡¼¥¸¤Î¹­¤µ¤Ê¤É¤Ë¤â¤è¤ê¤Þ¤¹¤Î¤Ç¡¢Å¬µ¹Ä´À°¤ò¹Ô¤¦¤È¤è¤¤¤Ç¤·¤ç¤¦¡£

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




¡¡Â³¤¤¤Æ¡¢NavMeshAgent ¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡Speed ¤ÎÃͤˤĤ¤¤Æ¤Ï¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤ÆÀ©¸æ¤ò¹Ô¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ÀßÄêÉÔÍפǤ¹¡£
½é´üÃͤΤޤޤǤâ¤è¤¤¤Ç¤¹¤·¡¢0 ¤ËÌᤷ¤Æ¤ª¤¤¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£

¡¡¤½¤ì°Ê³°¤Î¹àÌܤˤĤ¤¤Æ¤Ï¡¢²¼µ­¤Î²èÁü¤ò»²¹Í¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£


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



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


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


¡¡¥¹¥¯¥ê¥×¥È¤ÎÀ©¸æ¤Ë¤Ä¤¤¤Æ¡¢Íý²ò¤ò¿¼¤á¤Æ¤«¤é¥²¡¼¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¤É¤Î¤è¤¦¤ËÆ°ºî¤¹¤ì¤ÐÀµ¤·¤¤µóÆ°¤Ç¤¢¤ë¤Î¤«¡¢¤½¤ì¤ò¼«Ê¬¤ÇȽÃǤǤ­¤ë¾õÂ֤ˤʤäƤ«¤é¡¢¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥¹¥Æ¡¼¥¸¤Î¥Õ¥í¥¢Éôʬ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Þ¥¦¥¹¤Îº¸¥¯¥ê¥Ã¥¯¤·¤¿¤È¤­¡¢¤½¤ÎÃÏÅÀ¤ò°ÜÆ°ÌÜɸ¤È¤·¤Æ
GamblerCat ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬°ÜÆ°¤ò³«»Ï¤·¡¢¤½¤ÎÃÏÅÀ¤ËÃ夤¤¿¤é°ÜÆ°¤ò½ªÎ»¤·¤ÆÄä»ß¤¹¤ì¤Ð¡¢À©¸æÀ®¸ù¤Ç¤¹¡£

¡¡°ÜÆ°Ãæ¤Ç¤¢¤Ã¤Æ¤â¡¢ÊÌ¤Î¥Õ¥í¥¢¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¯¥ê¥Ã¥¯¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢
¤½¤Á¤é¤ò°ÜÆ°ÌÜɸ¤È¤·¤ÆÊѹ¹¤¹¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£

¡¡¤Þ¤¿¥Õ¥í¥¢¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È°Ê³°¤Î¾ì½ê¤ò¥¯¥ê¥Ã¥¯¤·¤¿¤È¤­¤Ë¤Ï¡¢¤½¤ÎÃÏÅÀ¤Ë¤Ï°ÜÆ°¤·¤Ê¤¤¤è¤¦¤ËÀ©¸æ¤µ¤ì¤Æ¤¤¤ì¤Ð
¤½¤ì¤âÀ©¸æÀ®¸ù¤Ç¤¹¡£¤³¤ÎÀ©¸æ¤¬¹Ô¤¨¤Æ¤¤¤Ê¤¤¤È¡¢¥¹¥Æ¡¼¥¸¤Î³°¤Ë¤â°ÜÆ°¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¡¢¥²¡¼¥à¤¬À®Î©¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£

¡¡Unity ¤Î¶µ²Ê½ñ¤Î¥¢¥Ã¥×¥ë¥­¥ã¥Ã¥Á¤Ç¤Î¥Ð¥¹¥±¥Ã¥È¤Î°ÜÆ°À©¸Â¤ò»×¤¤½Ð¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


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


¡¡¤¤¤Þ¤Ï¤Þ¤À¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ÎÀßÄê¤ò¤ª¤³¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬°ÜÆ°¤À¤±¤¹¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£



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

¡¡=>¡¡¼¡¤Ï¡¡¼ê½ç£¸¡¡¡Ý¥­¥ã¥é¥¯¥¿¡¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥óÁ«°ÜÀßÄê¡Ý¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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