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

¡¡¥Ù¥ë¥È¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó¤Ç¤Ï¡¢°ÜÆ°¤ÎÍ×ÁǤ¬ÆÃħŪ¤Ç¤¹¡£

¡¡¡¦±ü¹ÔÊý¸þ¤Ø¤Î°ÜÆ°»þ¤Ë¤Ï¥­¥ã¥é¤Î¸þ¤­¤¬ÊѤï¤é¤Ê¤¤
¡¡¡¦¥¨¥ê¥¢Æâ¤Ç¤Î°ÜÆ°ÈϰϤËÀ©¸Â¤¬¤¢¤ë(¥Ù¥ë¥È¥¹¥¯¥í¡¼¥ë)

¡¡¤³¤³¤Ç¤Ï¸þ¤­¤òÊѤ¨¤º¤Ë±ü¹Ô°ÜÆ°¤ò¤¹¤ëºÝ¤Ë¸þ¤­¤òÊѤ¨¤º¤Ë°ÜÆ°¤¹¤ë½èÍý¤È¡¢°ÜÆ°ÈϰϤÎÀ©¸Â½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£



Àß·×


¡¡£³£Ä¶õ´Ö¤Ç¤Î°ÜÆ°¤Ë¤Ê¤ë¤¿¤á¡¢X¼´¤Çº¸±¦°ÜÆ°¤ò¡¢Z¼´¤Ç±ü¹Ô°ÜÆ°¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤³¤Î¤È¤­°ÜÆ°¤Ë¹ç¤ï¤»¤ÆÁ´Êý°Ì¤Ë¥­¥ã¥é¤Î¸þ¤­¤òÊѤ¨¤Æ¤·¤Þ¤¦¤È±ü¹Ô°ÜÆ°¤ò¤·¤¿ºÝ¤Ë¡¢¥­¥ã¥é¤¬ÀµÌ̤ò¸þ¤¤¤Æ¤·¤Þ¤Ã¤¿¤ê¡¢ÇØÃæ¤ò¸«¤»¤Æ¤·¤Þ¤Ã¤¿¤ê¤·¤Þ¤¹¡£
¤³¤Î¤Þ¤Þ¤Ç¤âÌäÂê¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥Ù¥ë¥È¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó¤È¤¤¤¦¥²¡¼¥àÀ­¤Ë¹ç¤ï¤»¤Æ¡¢¥­¥ã¥é¤Î¸þ¤­¤Ïº¸±¦Êý¸þ¤Î¤ß¸ÇÄê¤ò¤·¤¿¤¤½ê¤Ç¤¹¡£

¡¡¥­¥ã¥é¤Î°ÜÆ°»þ¤Ë¸þ¤­¤Ë´Ø¤¹¤ëÀ©¸æ¤ò¹Ô¤¦¤³¤È¤Ç¤³¤ÎÌäÂê¤ò²ò¾Ã¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


¡¡¥­¥ã¥é¤Î°ÜÆ°ÈϰϤǤ¹¤¬¡¢¥Ù¥ë¥È¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó¤Ë¤Ï¤½¤Î̾¤ÎÄ̤ꡢ¥¨¥ê¥¢Ã±°Ì¤Ç¤Î°ÜÆ°ÈϰϤËÀ©¸Â¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤·¤Æ¤½¤Î¥¨¥ê¥¢¤ÎŨ¤òÁ´ÌǤµ¤»¤ë¤³¤È¤Ç¼¡¤Î¥¨¥ê¥¢¤Ø¤Î°ÜÆ°¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤ÎÉôʬ¤â¥­¥ã¥é¤Î°ÜÆ°¤ÎÉôʬ¤ËÀ©¸æ¤ò¹Ô¤¦¤³¤È¤Ç¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Þ¤¹¡£

¡¡°ÜÆ°ÈϰϤϸÇÄêÃͤˤ»¤º¡¢³Æ¥¨¥ê¥¢¤´¤È¤Ë°ÜÆ°¤Ç¤­¤ëÈϰϤξðÊó¤ò»ý¤¿¤»¤ë¤³¤È¤¬¤Ç¤­¤ì¤ÐÀ©¸æ¤¬²Äǽ¤Ç¤¹¡£

¡¡¤Þ¤º¤ÏÀ©¸Â¤¬¤Ç¤­¤ë¤«¤É¤¦¤«¤«¤é¸¡¾Ú¤·¤Æ¤¤¤Ã¤Æ¡¢¤½¤Î¸å¡¢¼ÂºÝ¤Ë¥¨¥ê¥¢¤Î°ÜÆ°ÈϰϤòÈ¿±Ç¤·¤Æ¤¤¤¯¼ê½ç¤Ç¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤¹¡£


¼ÂÁõÆ°²è¡¡¾å²¼°ÜÆ°¤Ç¤Ï¸þ¤­¤òÊѤ¨¤Ê¤¤
https://gyazo.com/d2f497e5fb3b6ef5b6629c0fb146f1f5

¼ÂÁõÆ°²è¡¡²èÌ̤κ¸±¦¤Ë¤Ï°ÜÆ°À©¸Â¤¬¤¢¤ë
https://gyazo.com/5053e9bfca1585283e2035df5885cf91


¼ÂÁõ¤Î¼ê½ç


¡¡£±¡¥°ÜÆ°À©¸ÂÍѤΥ¯¥é¥¹¤òºîÀ®¤¹¤ë
¡¡£²¡¥¥­¥ã¥é¤ò´ÉÍý¤¹¤ëPlayerController¥¯¥é¥¹¤òºîÀ®¤¹¤ë


¿·¤·¤¯³Ø½¬¤¹¤ëÆâÍÆ


¡¡£±¡¥MonoBehaviour¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Ê¤¤¥¯¥é¥¹¤ÎºîÀ®¡¢Æþ¤ì»Ò¥¯¥é¥¹¤ÎºîÀ®
¡¡£²¡¥Mathf.Clamp¥á¥½¥Ã¥É
¡¡£³¡¥const½¤¾þ»Ò


£±¡¥°ÜÆ°À©¸ÂÍѤΥ¯¥é¥¹¤òºîÀ®¤¹¤ë


¡¡º£ÅÙ¤ÎÀ߷פò¤Õ¤Þ¤¨¤Æ¡¢°ÜÆ°À©¸ÂÍѤΥ¯¥é¥¹¤òºîÀ®¤·¤Æ¤ª¤­¤Þ¤¹¡£


MoveLimit.cs



¡ãMonoBehaviour¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Ê¤¤¥¯¥é¥¹¤ÎºîÀ®¡¢Æþ¤ì»Ò¥¯¥é¥¹¤ÎºîÀ®¡ä


¡¡MonoBehaviour¤Î·Ñ¾µ¤¬¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤¬
¤¤¤º¤ì¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤Ç¤â¥¤¥ó¥¹¥¿¥ó¥¹¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¤Þ¤¿¥¯¥é¥¹¤ÎÃæ¤Ë¥¯¥é¥¹¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤è¤¦¤Êºî¤ê¤Î¥¯¥é¥¹¤òÆþ¤ì»Ò¡Ê¥Í¥¹¥È¡Ë¥¯¥é¥¹¤È¸À¤¤¤Þ¤¹¡£
£±¤Ä¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆÍÑ°Õ¤¹¤ëɬÍפΤʤ¤¡¢»ÈÍÑÈϰϤθ¤é¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤Ê¤É¤Ï¡¢¤³¤Î¤è¤¦¤ËÆþ¤ì»Ò¥¯¥é¥¹¤Ë¤·¤Æ»È¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡º£²ó¤ÏHorizontalLimit¥¯¥é¥¹¤ÈDepthLimit¥¯¥é¥¹¤òÆþ¤ì»Ò¥¯¥é¥¹¤È¤·¤ÆºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤ÏMoveLimit¥¯¥é¥¹Æâ¤ËÍÑ°Õ¤·¤Æ¡¢¤Þ¤È¤á¤Æ»È¤¦¤³¤È¤òÁÛÄꤷ¤¿À߷פˤʤäƤ¤¤Þ¤¹¡£

¡¡
¡¡¤Þ¤¿³Æ¥¯¥é¥¹¤Ë¤Ï[Serializable]°À­¤¬ÉÕÍ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î°À­¤òÉÕÍ¿¤¹¤ë¤È¡¢¤³¤Î¥¯¥é¥¹¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç³Îǧ½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


£²¡¥¥­¥ã¥é¤ò´ÉÍý¤¹¤ëPlayerController¥¯¥é¥¹¤òºîÀ®¤¹¤ë


¡¡PlayerController¥¯¥é¥¹¤òºîÀ®¤·¡¢¥­¥ã¥é¥¯¥¿¡¼¤Ë¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£

PlayerController.cs



¡ãMathf.Clamp¥á¥½¥Ã¥É¡ä


¡¡Mathf ¹½Â¤ÂΤϡ¢Unity ¤¬ÍÑ°Õ¤·¤Æ¤¤¤ë¡¢¿ô³Ø´Ø¿ô¤ÎÊÑ¿ô¤ä¥á¥½¥Ã¥É¤ò¤Þ¤È¤á¤Æ¤¢¤ë¹½Â¤ÂΤǤ¹¡£
Ä̾ï¤Î Math ¥¯¥é¥¹¤È°Û¤Ê¤ê¡¢Ìá¤êÃÍ¤Ï float ·¿¤ÇÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£


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



¡¡Clamp ¥á¥½¥Ã¥É¤Ï¡¢¡ÖÀ©¸æ¤·¤¿¤¤»ØÄêÃͤò¡¢»ØÄꤷ¤¿ÈÏ°ÏÆâ¤ÎºÇ¾®ÃÍ¡¢ºÇÂçÃͤ˼ý¤á¤Æ¤¯¤ì¤ë(ÃÖ¤­´¹¤¨¤Æ¤¯¤ì¤ë)¡×½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

¡ã¥á¥½¥Ã¥É¤Îµ­Ë¡¡ä
  À©¸æ¤·¤¿¤¤»ØÄêÃÍ = Mathf.Clamp(À©¸æ¤·¤¿¤¤»ØÄêÃÍ, ºÇ¾®ÃÍ, ºÇÂçÃÍ);
¡¡
¡¡¤³¤Î¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢·×»»½èÍý¸å¤ÎÃͤòÀ©¸Â¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢²¼µ­¤Î½èÍý¤Ï¡¢transform.position.x¤ÎÃͤò¡¢
moveLimit.horizontalLimit.left¡¡¡Á¡¡moveLimit.horizontalLimit.right¤Î´Ö¤ËÀ©¸Â¤¹¤ë¤È¤¤¤¦½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¤â¤·¤âºÇ¾®ÃͤȺÇÂçÃͤòĶ¤¨¤¿¾ì¹ç¤Ë¤Ï¡¢¼«Æ°Åª¤Ë¤½¤ÎÈÏ°ÏÆâ¤Ë¼ý¤Þ¤ë¤è¤¦¤ËÄ´À°¤·¤Æ¤¯¤ì¤Þ¤¹¡£

¡¡float posX = Mathf.Clamp(transform.position.x, moveLimit.horizontalLimit.left, moveLimit.horizontalLimit.right);


¡¡¤½¤Î·ë²Ì¡¢¾ï¤Ë¥×¥ì¥¤¥ä¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÜÆ°ÈϰϤò¡¢À©¸Â¤µ¤ì¤¿ÈÏ°ÏÆâ¤Ë¼ý¤Þ¤ë¤è¤¦À©¸æ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


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


¡ãconst½¤¾þ»Ò¡ä


¡¡ÊÑ¿ô¤ÎÀë¸À¤È°ì½ï¤Ë¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë½¤¾þ»Ò¤Ç¤¹¡£¤³¤Î½¤¾þ»Ò¤ò»ý¤ÄÊÑ¿ô¤Ï¸ÇÄêÃͤȤʤꡢÊѹ¹¤¹¤ë¤³¤È¤¬½ÐÍè¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥²¡¼¥àÃæ¤Ç¾ï¤Ë¸ÇÄêÃͤȤ·¤ÆÍøÍѤ·¤¿¤¤ÃͤòÍÑ°Õ¤¹¤ë¾ì¹ç¤ËÍøÍѤ¹¤ë¤ÈÊØÍø¤Ç¤¹¡£

¡¡º£²ó¤ÏString·¿¤ÎÃͤòÍÑ°Õ¤·¡¢²¿²ó¤«½ñ¤¯Ê¸»úÎó¤ÎÂǤÁ´Ö°ã¤¨¤ò̤Á³¤ËËɤ°¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£

¡¡private const string HORIZONTAL = "Horizontal";


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


¡¡PlayerController¥¯¥é¥¹¤ò¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¥¯¥¿¡¼Ìò¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤È¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¥¢¥µ¥¤¥ó¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£

¡¡°Üư®Å٤Ȳóž®ÅÙ¤ÏŬµ¹¤ÊÃͤòÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£




¡¡[Serializable]°À­¤ò»ý¤Ä¥¯¥é¥¹¤Ç¤¢¤ë¤¿¤á¡¢MoveLimitÊÑ¿ô¤òÀë¸À¤¹¤ë¤È¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤³¤³¤Ç¥­¥ã¥é¤Î°ÜÆ°ÈϰϤò²¾¤ËÀßÄꤷ¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£




¡¡¤½¤Î¸å¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
Àè¤Û¤É»ØÄꤷ¤¿°ÜÆ°ÈÏ°ÏÆ⤷¤«¥­¥ã¥é¤¬°ÜÆ°¤¬½ÐÍè¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤ì¤ÐÀ®¸ù¤Ç¤¹¡£

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


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

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

Menu


´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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