ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2026ǯ03·î02Æü(·î) 22:09:18ÍúÎò
¡¡Unity ¤Î¿· Input System ¤Ï¹âµ¡Ç½¤Ç¤¹¤¬¡¢¡Ú»ÅÁȤߤ¬Æñ¤·¤¤¡Û¡Ú¾ðÊó¤¬ÃÇÊÒŪ¡Û¡Ú¸ø¼°¥µ¥ó¥×¥ë¤¬Â絬ÌϤ¹¤®¤ë¡Û¤È¤¤¤Ã¤¿Íýͳ¤Ç¡¢½é¿´¼Ô¤¬ºÃÀÞ¤·¤ä¤¹¤¤ÆâÍÆ¤Ç¤¹¡£
ÆÃ¤Ë½¾Íè¤Î InputManager ¤ËÈæ¤Ù¤ë¤ÈÆñ¤·¤¤ÆâÍÆ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤Îµ»ö¤Ç¤Ï¡¢½é¿´¼Ô¤¬ºÇû¤Ç¡Ö¼ÂÍÑŪ¤ÊÁàºîÆþÎϡפò¼ÂÁõ¤Ç¤¤ë¹½À®¤ò¥Ù¡¼¥¹¤Ë¡¢¸åȾ¤Ç Generate C# ¤ò»È¤Ã¤¿³ÈÄ¥Àß·× ¤Þ¤ÇÃʳ¬Åª¤Ë²òÀ⤷¤Þ¤¹¡£
¡¡¤Ê¤ª¡¢¤³¤Á¤é¤Î¥µ¥¤¥È¤¬Èó¾ï¤ËÃúÇ«¤«¤Ä¡¢¤ï¤«¤ê¤ä¤¹¤¤¤Î¤Ç¤ª¤¹¤¹¤á¤Ç¤¹¡£
¡¡¡¡=>¡¡¤Í¤³¤¸¤ã¤é¥·¥Æ¥£ ÍÍ ¡ÚUnity¡ÛInput System¤Î»È¤¤ÊýÆþÌç
¡¡·ëÏÀ¤«¤é¤¤¤¦¤È¡¢¸ø¼°¤Ç²òÀ⤷¤Æ¤¤¤ë¥³¡¼¥ë¥Ð¥Ã¥¯¤òÍøÍѤ¹¤ë¤è¤ê¤â¡¢
InputActionReference ¥¢¥»¥Ã¥È¤ò¥¢¥µ¥¤¥ó¤·¤Æ¡¢Ä¾ÀÜÆþÎϤòÆÉ¤àÊý¼°¤¬½é¿´¼Ô¤ÎÊý¤Ë¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤Ç¤¹¡£
¡¡Íýͳ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¡¦Update ¤ÇÆþÎÏ ¢ª ½èÍý¤È¤¤¤¦Ä¾´¶Åª¹½Â¤ ¡¦¥Ç¥Ð¥Ã¥°¤¬ÍÆ°× ¡¦¥¡¼¥«¥¹¥¿¥Þ¥¤¥º¤¬Èó¾ï¤Ë´Êñ ¡¦µì InputManager ¤ÈȯÁÛ¤¬¶á¤¤
¡¡ÆþÎÏ´¶ÃΤò¹Ô¤¦¤¿¤á¤Î¡¢¥Ç¥Ð¥Ã¥°ÍÑ¥¹¥¯¥ê¥×¥È¤È¤·¤Æ PlayerInputHandler ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¡¡¤³¤Á¤é¤Ç¤Ï InputActionReference ·¿¤ò¥¢¥µ¥¤¥ó¤·¡¢³Æ Action ¤«¤éÆþÎϤò¼õ¤±ÉÕ¤±¤é¤ì¤ë¾õÂÖ¤òºî¤Ã¤Æ¤¤¤Þ¤¹¡£
PlayerInputHandler.cs
¡¡¤³¤Á¤é¤òǤ°Õ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¡¢³Æ InputActionReference ¤ò¥¢¥µ¥¤¥ó¤·¤¿¾å¤Ç¥²¡¼¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¤½¤·¤Æ¥¡¼ÆþÎϤò¹Ô¤¤¡¢Console ¥Ó¥å¡¼¤Ë¥Ç¥Ð¥Ã¥°¥í¥°¤¬É½¼¨¤µ¤ì¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡InputSystem ¤òÍøÍѤ¹¤ë¤Ë¤¢¤¿¤ê¡¢InputActionReference ¤ò³èÍѤ¹¤ë¥á¥ê¥Ã¥È¤Ç¤¹¡£
| ¹àÌÜ | ÆâÍÆ |
| ³Ø½¬¥³¥¹¥È | Èó¾ï¤ËÄ㤤 |
| ¥Ç¥Ð¥Ã¥° | Update Æâ¤ÇÄɤ¨¤ë |
| ¥¡¼Êѹ¹ | ¥¢¥»¥Ã¥ÈÊѹ¹¤À¤±(¥×¥í¥°¥é¥à¤ÎÊѹ¹ÉÔÍ×) |
| ºÆÍøÍÑ | Prefab²½²Äǽ |
| ²ÄÆÉÀ | Èó¾ï¤Ë¹â¤¤ |
¡¡InputSystem ºÇÂç¤ÎÍøÅÀ¤Ï¡Ú¥¡¼ÀßÄê¤ò¥Ç¡¼¥¿(¥¢¥»¥Ã¥È)¦¤Ç´°·ë¤Ç¤¤ë = ¥×¥í¥°¥é¥à¤ÎÊѹ¹¤¬ÉÔÍסۤȤ¤¤¦ÅÀ¤Ç¤¹¡£
¡¡WASD ¢ª Ìð°õ¥¡¼ ¢ª ¥²¡¼¥à¥Ñ¥Ã¥É
¡¡¤¹¤Ù¤Æ InputAction ¦¤Î Binding ¤òÊѹ¹¤¹¤ë¤À¤±¤Ç¤¹¡£
¡¡InputAction ¥¢¥»¥Ã¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¤Ï Generate C# Class ¤È¤¤¤¦¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤¬¤¢¤ê¤Þ¤¹¡£

¡¡¤³¤Á¤é¤Ï¥¤¥Ù¥ó¥È¶îư·¿¤Î»ÅÁȤߤò¼ÂÁõ¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£
¥³¡¼¥ë¥Ð¥Ã¥¯Êý¼°¤Ë¤è¤ê¡¢»ØÄê¤Î¥á¥½¥Ã¥É¤¬¥¤¥Ù¥ó¥È¤È¤·¤Æ¼Â¹Ô¤µ¤ì¡¢°ú¿ô¤È¤·¤ÆÆþÎÏÃͤò¼õ¤±¼è¤ëÊý¼°¤Ç¤¹¡£
¡¡¤Ç¤¹¤¬¡¢½é¿´¼Ô¸þ¤±¤Ë¤ÏÆñ¤·¤¤ÆâÍÆ¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤Þ¤º¤Ï InputActionReference ·¿¤ò¥¢¥µ¥¤¥ó¤¹¤ëÊý¼°¤Ë´·¤ì¤Æ¤ª¤¡¢
InputSystem ¤Î»ÅÁȤߤò¤¢¤ëÄøÅÙÍý²ò¤Ç¤¤Æ¤«¤é¼ÂÁõ¤ò¹Ô¤Ã¤¿Êý¤¬¤ï¤«¤ê¤ä¤¹¤¤¤È»×¤¤¤Þ¤¹¡£
¡¡²¼µ¤Ï C# Class File ¤Ç¼«Æ°À¸À®¤µ¤ì¤¿ PlayerControls ¥¹¥¯¥ê¥×¥È¤òÍøÍѤ·¡¢
¥¡¼ÆþÎϤò¥³¡¼¥ë¥Ð¥Ã¥¯(¥¤¥Ù¥ó¥È)Êý¼°¤Ç¼õ¤±¼è¤Ã¤ÆÆ°¤«¤¹¥¿¥¤¥×¤Î¥µ¥ó¥×¥ë¥³¡¼¥É¤Ç¤¹¡£
public class PlayerInputHandler : MonoBehaviour
{
private PlayerControls controls;
void Awake()
{
controls = new PlayerControls();
controls.Player.Move.performed += ctx => OnMove(ctx);
controls.Player.Jump.performed += ctx => OnJump();
}
void OnEnable() => controls.Enable();
void OnDisable() => controls.Disable();
void OnMove(InputAction.CallbackContext ctx)
{
Vector2 input = ctx.ReadValue<Vector2>();
Debug.Log($"Move: {input}");
}
void OnJump()
{
Debug.Log("Jump!");
}
}
ReferenceÊý¼°
MonoBehaviour ¨¦ InputActionReference ¢ª action.ReadValue()
Generate C#Êý¼°
Input´ÉÍý¥¯¥é¥¹ ¨¦ PlayerControls ¢ª ActionMap ¢ª ¥¤¥Ù¥ó¥È
¡¡¤³¤Î¤è¤¦¤Ë¡¢´°Á´¤Ë¡ÖÆþÎÏ´ÉÍý¥·¥¹¥Æ¥à¡×¤È¤·¤ÆÊ¬Î¥¤Ç¤¤ë¤Î¤¬ Generate C# ¤ò»È¤¦¥á¥ê¥Ã¥È¤È¥Ý¥¤¥ó¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡InputSystem ¤Ï OnEnable ¥á¥½¥Ã¥É¤Ê¤É¤òÍøÍѤ·¤Æ¡¢controls.Enable(); ¤Î¤è¤¦¤ËÌÀ¼¨Åª¤Ë InputAction ¤Îµ¯Æ°¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ï InputActionReference ¤òÍøÍѤ¹¤ë¾ì¹ç¤âƱ¤¸¤Ç¤¹¡£
¡¡¥¢¥µ¥¤¥ó¤·¤Æ¡¢¥³¡¼¥ë¥Ð¥Ã¥¯¥á¥½¥Ã¥É¤òºîÀ®¤·¤¿¤À¤±¤Ç¤Ïư¤¤Þ¤»¤ó¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
void Awake()
{
controls = new PlayerControls();
controls.Newactionmap.AddCallbacks(this);
}
void OnEnable()
{
controls.Enable();
}
void OnDisable()
{
controls.Disable();
}
¡¡¤³¤Î¤è¤¦¤Ë¥é¥¤¥Õ¥µ¥¤¥¯¥ë¤òºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡InputSystem + Rigidbody2D ¤òÍøÍѤ·¤¿¡¢¥¹¡¼¥Ñ¡¼¥Þ¥ê¥ª¤Î¤è¤¦¤Ê£²£Ä²£¥¹¥¯¥í¡¼¥ë(¥×¥é¥Ã¥È¥Õ¥©¡¼¥Þ¡¼)ÍѤΥץ쥤¥ä¡¼¤Î°Üư½èÍý¤Î¥µ¥ó¥×¥ë¥³¡¼¥É¤Ç¤¹¡£
£³£Ä¤Ë¤Ä¤¤¤Æ¤Ï¥«¥á¥é¤Î²óž¤ò¥×¥ì¥¤¥ä¡¼¤ÎÊý¸þ¤ËÈ¿±Ç¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢Ê̵»ö¤Ë¤Æ¾Ò²ð¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¡¡¢ª¡¡¡ÚUnity 6000 Èǡۥ¥ã¥é¥¯¥¿¡¼¤Î°Üư¤È¥«¥á¥é¤Î²óžµ¡Ç½
¡¡
PlayerPlatformerController.cs
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°









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