ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2022ǯ05·î26Æü(ÌÚ) 17:01:51ÍúÎò
¡¡°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤¤Þ¤¹¡£
¼ê½ç£¶¡¡¡¼¥×¥ì¥¤¥ä¡¼¥¥ã¥é¤Î°ÜÆ°¤ÎÀ©¸æ½èÍý¤ÎºîÀ®¡¼
¡¡£¹¡¥PlayerController ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢¥×¥ì¥¤¥ä¡¼¥¥ã¥é¤ò°ÜÆ°¤µ¤»¤ë
¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¡¡¡¦RequireComponent °À ¡¡¡¦Header °À¡¡ ¡¦Input.GetAxis ¥á¥½¥Ã¥É ¡¡¡¦Vector3.normalized ÊÑ¿ô¤òÍøÍѤ·¤¿Àµµ¬²½½èÍý ¡¡¡¦Rigidbody2D.velocity ÊÑ¿ô¤È velocity ÊÑ¿ô¤òÍøÍѤ·¤¿°ÜÆ°½èÍý ¡¡¡¦FixedUpdate ¥á¥½¥Ã¥É ¡¡¡¦Summary¡Ê¥µ¥Þ¥ê¡¼¡Ëµ¡Ç½¡¡ ¡¡¡¦InputManager¤Ë¤è¤ë¥¡¼ÆþÎϤÎÀßÄê
¡¡Unity ¤Ë¤ª¤¤¤Æ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁàºî¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢¥¹¥¯¥ê¥×¥È¤òÍøÍѤ·¤Æ¡¢À©¸æ¤¬É¬Íפʥ³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤Ë¥¢¥¯¥»¥¹¤·¤ÆÀ©¸æÁàºî¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡º£²óÀ©¸æ¤ò¹Ô¤¤¤¿¤¤¤Î¤Ï Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈÀìÍѤΥ¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¡¡¿·¤·¤¯ PlayerController ¤È¤¤¤¦¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤ò»È¤Ã¤Æ¥¥ã¥é¤ÎÀ©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤¤Þ¤¹¡£
¡¡À©¸æ¤È¤Ï¡¢¥¥ã¥é¤Î¹ÔÆ°¡Ê°ÜÆ°¡¢¥¸¥ã¥ó¥×¤Ê¤É¡Ë¤À¤±¤Ç¤Ï¤Ê¤¯¡¢°ÜÆ°¤Ë¹ç¤ï¤»¤¿¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ÎºÆÀ¸¤ä¡¢²èÌ̤ΰÜÆ°ÈϰϤÎÀ©¸Â¤Ê¤É¿´ô¤ËÅϤê¤Þ¤¹¡£
¤½¤ì¤é¤ò½çÈ֤˼ÂÁõ¤·¤Æ¤¤¤¤Ê¤¬¤é¡¢¥¹¥¯¥ê¥×¥È¤Î³Ø½¬¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢¥¥ã¥é¤Î°ÜÆ°¤Ë¤Ä¤¤¤Æ°·¤¤¤Þ¤¹¡£°ÜÆ°¤Ë¤Ï Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Îµ¡Ç½¤òÍøÍѤ·¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
Unity¥¤¥ó¥¿¡¼¥Ï¥¤¥Ö¥í¥°ÍÍ
ʪÍý¥¨¥ó¥¸¥ó¤ÈÅö¤¿¤êȽÄê¤ò»È¤¤¤³¤Ê¤½¤¦(¤½¤Î1)
http://inter-high-blog.unity3d.jp/2019/06/28/rigid...
¡¡ºÇ½é¤Ï¥¡¼¥Ü¡¼¥É¤ÇÁàºî¤¬¤Ç¤¤ë¤è¤¦¤¹¤ë¤¿¤á¡¢¥¡¼¥Ü¡¼¥É¤Î¥¡¼ÆþÎϤËÈ¿±þ¤·¤Æ¡¢¥²¡¼¥à²èÌ̤Υ¥ã¥é¤¬°ÜÆ°¤¹¤ë¤è¤¦¤ËÀ©¸æ¤òÄɲä·¤Þ¤¹¡£
°ÜÆ°ÍѤΥ¢¥Ë¥á¡¼¥·¥ç¥ó¤ÎÀ©¸æ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡²ó°Ê¹ß¤Ë¹Ô¤¤¤Þ¤¹¡£
¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢½¤Àµ¤·¤Æ¤¤¤¯¥Ý¥¤¥ó¥È¤Ï¡¢¤¹¤Ù¤Æ¤ò°ìÅ٤˵½Ò¤·¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
£±¤Ä£±¤Ä¡¢½ÐÍè¤ë»ö¡¢Íý²ò¤·¤Æ¤¤¤ë½èÍý¤òÀѤ߾夲¤Æ¡¢¤½¤Î·ë²Ì¤È¤·¤Æ¡¢Ê£»¨¤«¤Ä¿ÍͤʽèÍý¤¬½ÐÍè¾å¤¬¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡Project Æâ¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¡¢Create => Folder ¤òÁªÂò¤·¡¢Scripts ¥Õ¥©¥ë¥À¤òºîÀ®¤·¤Þ¤¹¡£
¡¡ºîÀ®¤·¤¿Scripts ¥Õ¥©¥ë¥À¤òÁªÂò¤·¡¢¤½¤ÎÃæ¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¡¢Create => C# Script ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
Scripts ¥Õ¥©¥ë¥ÀÆâ¤Ë¿·¤·¤¤ C# ¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
¡¡Ì¾Á°¤ò PlayerController ¤ËÊѹ¹¤·¤Þ¤¹¡£¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ¥¨¥Ç¥£¥¿¡¼¡ÊVisual Studio¡Ë¤òΩ¤Á¾å¤²¡¢¥¹¥¯¥ê¥×¥È¤ò½ñ¤¤¤Æ¤¤¤¤Þ¤¹¡£
¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤éɬ¤º¥»¡¼¥Ö¤ò¤·¤Þ¤¹¡£VisualStudio ¤Ç¤Ï ctrl + Shift + S ¥¡¼¤Ç°ì³ç¥»¡¼¥Ö¤Ç¤¤Þ¤¹¡£
¡¡¿·¤·¤¯³Ø½¬¤¹¤ë½èÍý¤¬¤¿¤¯¤µ¤ó½Ð¤Æ¤¤Þ¤¹¤Î¤Ç¡¢¥¹¥¯¥ê¥×¥È¤Ï½ñ¤¤¤Æ½ª¤ï¤ê¤Ç¤Ï¤Ê¤¯¤Æ¡¢Æɤ߲ò¤±¤ë¤è¤¦¤Ë¤·¤Ã¤«¤ê¤ÈÉü½¬¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
PlayerController.cs
¡¡[] ¤Ç½ñ¤«¤ì¤¿¾ðÊó¤Ï°À¡ÊAttribute¡Ë¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ç¤¹¡£
°À¤òÉÕÍ¿¤¹¤ë»ö¤Ç¾¤ÎÊÑ¿ô¤È¶èÊ̤·¤¿¤ê¡¢ÆÃÊ̤ʵóÆ°¤òÀßÄꤹ¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
[RequireComponent(typeof(Rigidbody2D))] public class PlayerController : MonoBehaviour {
¡¡¤³¤ÎRequireComponent(¥ê¥¯¥ï¥¤¥¢¡¦¥³¥ó¥Ý¡¼¥Í¥ó¥È)°À¤Ï¡¢¥¯¥é¥¹Ì¾¤Î£±¹Ô¾å¤Ëµ½Ò¤¹¤ë°À¤Ç¤¹¡£
¡¡¤³¤Î°À¤Î(°ú¿ô)¤Ç»ØÄꤷ¤¿¥¯¥é¥¹¤ä¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢Console ¥Ó¥å¡¼¤Ë¥¨¥é¡¼¤¬½Ð¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¡¡
¡¡¤Þ¤¿¤³¤Î°À¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È¤ò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤È¡¢°ú¿ô¤Ç»ØÄꤷ¤Æ¤¤¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¼«Æ°Åª¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Þ¤¹¡£(º£²ó¤Ï Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È)
¤Ä¤Þ¤ê¤³¤Îµ¡Ç½¤Ï¡¢¥¹¥¯¥ê¥×¥È¤òÀµ¾ï¤ËÆ°ºî¤µ¤»¤ë¤¿¤á¤ËɬÍפʥ³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¶¯À©Åª¤ËÍÑ°Õ¤·¤Æ¤¯¤ì¤ëÆâÍƤˤʤäƤ¤¤Þ¤¹¡£
¡¡
¡¡º£²ó¤³¤Î PlayerController ¥¹¥¯¥ê¥×¥È¤Ë¤è¤ê Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤µ¤»¤ë¤Ë¤Ï Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬É¬Íפˤʤê¤Þ¤¹¡£
[RequireComponent(typeof(Rigidbody2D))]°À¤òÄɲ乤뤳¤È¤Ë¤è¤Ã¤Æ¡¢¼«Æ°Åª¤Ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥¢¥¿¥Ã¥Á¤ò¹Ô¤¦¤È¤È¤â¤Ë¡¢¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¤¬½Ð¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¡¡Header¡Ê¥Ø¥Ã¥À¡¼¡Ë°À¤Ï¡¢Àè¤Û¤É³Ø½¬¤·¤¿ RequireComponent °À¤ÈƱ¤¸¡¢Â°À¤Î£±¤Ä¤Ç¤¹¡£
¡¡Header °À¤òÊÑ¿ô¤ÎÀë¸À¤ËÄɲ乤ë¤È¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ë( )Æâ¤Ëµ½Ò¤·¤¿Ê¸»ú¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
[Header("°Üư®ÅÙ")] public float moveSpeed;
¤¢¤ë¤¤¤Ï
[Header("°Üư®ÅÙ")] public float moveSpeed;
¡¡µ½Ò¤ÎÊýË¡¤Ï¤É¤Á¤é¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü(ÊÑ¿ô̾¤Î¾å¤Ë Header °À¤ÇÀßÄꤷ¤¿ÆâÍƤ¬É½¼¨¤µ¤ì¤Æ¤¤¤ë)
![](https://image02.seesaawiki.jp/i/o/i-school-memo/erQ7XecT9n.png)
¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ëɽ¼¨¤µ¤ì¤ëÊÑ¿ô̾¤À¤±¤Ç¤¹¤È¤ï¤«¤ê¤Ë¤¯¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ÆüËܸì¤Ç¥³¥á¥ó¥È¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤ë¤¿¤á¡¢ÊÑ¿ô¤ÎÆâÍƤ¬¤ï¤«¤ê¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
º£¸å¤âÆä˶µºàÆâ¤ËµºÜ¤¬¤Ê¤¯¤Æ¤â¡¢¼«Ê¬¤ÇȽÃǤò¤·¤Æ¡¢É¬Íפ˱þ¤¸¤Æ¤³¤Î Header °À¤ò»È¤¤¤³¤Ê¤·¤Þ¤·¤ç¤¦¡£
»²¹Í¥µ¥¤¥È
¥¨¥¯¥¹¥×¥é¥Ü ÍÍ
¡ÚUnity¡ÛHeaderAttribute¤ò»È¤Ã¤Æ¥Õ¥£¡¼¥ë¥É¤òÀ°Íý¤·¤Æ¤ß¤Ê¥¤¥«?
https://ekulabo.com/attribute-header
¡¡Ê̤ε»ö¤Ç¾Ü¤·¤¯²òÀ⤷¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò³Îǧ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¡¡=>¡¡Input.GetAxis¥á¥½¥Ã¥É¤ÈInputManager¤Î´ØÏ¢À
¡¡Àµµ¬²½½èÍý¤Ç¤¹¡£magnitude(¥Þ¥°¥Ë¥Á¥å¡¼¥É¡£Ä¹¤µ)¤ò£±¤È¤·¤¿¥Ù¥¯¥È¥ë(ñ°Ì¥Ù¥¯¥È¥ë)¤òÊÖ¤·¤Þ¤¹¡£Ìá¤êÃÍ¤Ï Vector3 ·¿¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¡¡// ¼Ð¤á°ÜÆ°¤Îµ÷Î¥¤¬Áý¤¨¤Ê¤¤¤è¤¦¤ËÀµµ¬²½½èÍý¤ò¹Ô¤¤¡¢Ã±°Ì¥Ù¥¯¥È¥ë¤È¤¹¤ë(Êý¸þ¤Î¾ðÊó¤Ï»ý¤Á¤Ä¤Ä¡¢µ÷Î¥¤Ë¤è¤ë®ÅÙº¹¤ò¤Ê¤¯¤·¤Æ°ìÄêÃͤˤ¹¤ë) Vector3 dir = new Vector3(horizontal, vertical, 0).normalized;
¡¡¸½ºß¤Î¥Ù¥¯¥È¥ë¤ÎÊý¸þ¤ò°Ý»ý¤·¤¿¤Þ¤Þ¡¢magnitude¤¬£±¡¢¤¢¤ë¤¤¤Ï£°¤Îñ°Ì¥Ù¥¯¥È¥ë¤òºîÀ®¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£¡Ê¥Ù¥¯¥È¥ë¤ÎÃͤ¬¾®¤µ¤¤¤È£°¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ë
¡¡¤³¤ÎÀµµ¬²½¤ò¹Ô¤¦¤³¤È¤Ë¤è¤Ã¤Æ°ÌÃ֤αó¶á¤Ë´Ø¤ï¤é¤º¡¢magnitude ¤¬¤¹¤Ù¤Æ 1¡¢¤¢¤ë¤¤¤Ï 0 ¤ËÅý°ì¤µ¤ì¤¿Ã±°Ì¥Ù¥¯¥È¥ë¤ÎÃͤȤʤ뤿¤á¡¢
º¸¤È²¼¤ÎÊý¸þ¤Ç¤¢¤ì¤Ð -1¡¢±¦¤È¾å¤ÎÊý¸þ¤Ç¤¢¤ì¤Ð 1¤ÎÃͤ¬¥Ù¥¯¥È¥ë¤È¤·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£Ãͤ¬ 0 ¤Ë¶á¤¤¾ì¹ç¤Ë¤Ï 0 ¤¬¥Ù¥¯¥È¥ë¤È¤·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£
¡¡¥¡¼ÆþÎϤ¬¼Ð¤áÊý¸þ¤Ë¤Ê¤ë¤È¡¢½Ä²£Ä¾Àþ¤è¤ê¤âŤ¤µ÷Î¥¤¬À¸¤Þ¤ì¤Þ¤¹¡£¤½¤ÎÃͤò¤½¤Î¤Þ¤ÞÍøÍѤ·¤Æ¤·¤Þ¤¦¤È¡¢¼Ð¤á°ÜÆ°¤ÎÊý¤¬°Üư®ÅÙ¤¬Â®¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤½¤³¤ÇÀµµ¬²½½èÍý¤ò¹Ô¤¤Ã±°Ì¥Ù¥¯¥È¥ë¤òºî¤ë¤³¤È¤Ç¡¢Êý¸þ¤Î¾ðÊó¤Ï¤½¤Î¤Þ¤Þ¤Ç¡¢ÃͤÀ¤±¤ò 0 ¤« 1 ¤« -1 ¤Ëºî¤êľ¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ÎÃͤò°ÜÆ°¤ÎÆþÎÏÃͤȤ·¤ÆÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢°ÜÆ°Êý¸þ¤Î¾ðÊó¤Ï¤½¤Î¤Þ¤Þ¤Ç¡¢°ÜÆ°¤¹¤ë®ÅÙ¤òÊäÀµ¤¹¤ë¤³¤È¤¬½ÐÍè¤Æ¤¤¤Þ¤¹¡£
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¡¦¥ê¥Õ¥¡¥ì¥ó¥¹
https://docs.unity3d.com/ja/current/ScriptReferenc...
TechProjinÍÍ
Unity¤ÎVector3¤Ç¤è¤¯»È¤¦¤â¤Î¤Þ¤È¤á
https://tech.pjin.jp/blog/2016/02/16/unity_vector3...
¡¡¥¥ã¥é¤Î°ÜÆ°¤Ë¤Ï¿§¡¹¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¤¬¡¢º£²ó¤Ï¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î´ÉÍý¤·¤Æ¤¤¤ë¡¢Velocity¡Ê¥Ù¥í¥·¥Æ¥£¡£Â®Å٥٥¯¥È¥ë¡Ë¤Î¾ðÊó¤òÁàºî¤·¤Æ¡¢¥¥ã¥é¤ò°ÜÆ°¤µ¤»¤Þ¤¹¡£
Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È(º£²ó¤Ï¥¥ã¥é)¤ËÂФ·¤Æ¡¢Â®ÅÙ¾ðÊó¤òÍ¿¤¨¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¥ã¥é¤Î°ÜÆ°¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¡¡velocity(¥Ù¥í¥·¥Æ¥£)¤È¤ÏRigidbody¥¯¥é¥¹¤Î»ý¤Ä¾ðÊó¤Î£±¤Ä¤Ç¡¢³Æ¼´(x,y,z)¤Î®Å٥٥¯¥È¥ë¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£
¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬Ää»ß¤·¤Æ¤¤¤ë¾ì¹ç¡¢velocity¤ÎÃͤϤ¹¤Ù¤Æ 0 ¤Ç¤¹¡£(velocity = 0, 0, 0)
// velocity(®ÅÙ)¤Ë¿·¤·¤¤ÃͤòÂåÆþ¤·¤Æ°ÜÆ° rb.velocity = dir * moveSpeed;
¡¡x¼´¤È z¼´¤Ë¤Ä¤¤¤Æ¤Ï¡¢dir ÊÑ¿ô¤Ç½àÈ÷¤·¤¿¥¡¼ÆþÎϤÎÃͤ¬ÂåÆþ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÃÍ¤È moveSpeed ÊÑ¿ô¤Î·×»»·ë²Ì¤¬Æþ¤ê¡¢¤½¤Î¼´¤ÎÊý¸þ¤Ø°ÜÆ°¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡½èÍý¤Îľ¸å¤Ë Debug.Log¥á¥½¥Ã¥É¤òÆþ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢Console ¥Ó¥å¡¼¤òÄ̤¸¤Æ¡¢¤³¤Î velocity ¤ÎÃͤÎÆ°¤¤ò´Ñ»¡¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥¡¼ÆþÎϤò¹Ô¤¤¤Ê¤¬¤é¡¢¤É¤Î¤è¤¦¤Ê½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£
»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Rigidbody2D.velocity
https://docs.unity3d.com/jp/current/ScriptReferenc...
Samurai BlogÍÍ
¡ÚUnityÆþÌç¡ÛRigidbody¤Ç¼«ºß¤Ë°ÜÆ°!velocity¤Î³èÍÑÊýË¡!
https://www.sejuku.net/blog/55084
¡¡Rigidbody ¤Ë¤è¤ëʪÍý±é»»¤Î½èÍý¤ò·Ñ³Ū¤Ë½èÍý¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢Update ¥á¥½¥Ã¥É¤Ç¤Ï¤Ê¤¯¤Æ FixedUpdate ¥á¥½¥Ã¥É¤òÍøÍѤ·¤ÆÀ߷פò¹Ô¤¤¤Þ¤¹¡£
¡¡FixedUpdate ¥á¥½¥Ã¥É¤Ï½é´üÀßÄê¤Ç¤Ï 0.02ÉÃ(1Éô֤Ë50²ó)¤´¤È¤Î¸ÇÄê¥Õ¥ì¡¼¥à¥ì¡¼¥È¤Ç¡¢ÊªÍý±é»»¤Î½èÍý¤Î¹¹¿·¤ò¹Ô¤¦Ä¾Á°¤Ë¼«Æ°Åª¤Ë¸Æ¤Ó¤À¤µ¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
Update ¥á¥½¥Ã¥É¤Ï¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈÅù¤ÎÆ°ºî¤Î¥ì¥ó¥À¥ê¥ó¥°Á°¤ËËè¥Õ¥ì¡¼¥à¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢½èÍý¤Î¥¿¥¤¥ß¥ó¥°¤È¥Õ¥ì¡¼¥à¤Î¸Æ¤Ó½Ð¤·¤¬¸ÇÄ꤫¤É¤¦¤«¤¬¡¢
Update ¥á¥½¥Ã¥É¤È FixedUpdate ¥á¥½¥Ã¥É¤Î°ã¤¤¤Ç¤¹¡£
¡¡°Ê¾å¤Î¤³¤È¤«¤é¡¢FixedUpdate ¥á¥½¥Ã¥É¤ÏʪÍýµóÆ°¤Î¹¹¿·¤ÎľÁ°¤Ë¸Æ¤Ð¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¢¤ë¤¿¤á¡¢ÊªÍý±é»»¤Î½èÍý¤ò¹Ô¤¦¤³¤È¤ËŬ¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç
Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÍøÍѤ·¤¿°ÜÆ°½èÍý¤Ë¤Ä¤¤¤Æ¤Ï¡¢FixedUpdate ¥á¥½¥Ã¥É¤Ë¤Æ¹Ô¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
SamuraiBlog ÍÍ
¡ÚUnityÆþÌç¡ÛUpdate¥á¥½¥Ã¥É¤È¤Ï?FixedUpdate¤È¤Î°ã¤¤¤âÅ°Äì²òÀâ!
https://www.sejuku.net/blog/49382
¤«¤á¤¯¤á ÍÍ
Unity¤ÎUpdate¤ÈFixedUpdate¡¢LateUpdate¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ
https://gametukurikata.com/basic/update
¡¡´Ø¿ô¡Ê¥á¥½¥Ã¥É¡Ë¤ä¥¯¥é¥¹¤òºîÀ®¤·½ª¤ï¤ê¤Þ¤·¤¿¤é¡¢É¬¤º¤½¤Î´Ø¿ô¤ä¥¯¥é¥¹¤ÎÀâÌÀ¤ò½ñ¤¯¤è¤¦¤Ë¿´¤¬¤±¤Þ¤·¤ç¤¦¡£½ñ¤¯¾ì½ê¤Ï´Ø¿ô̾¡¢¤¢¤ë¤¤¤Ï¥¯¥é¥¹Ì¾¤Î£±¹Ô¾å¤ÎÉôʬ¤Ç¤¹¡£
Ⱦ³Ñ¥¹¥é¥Ã¥·¥å¤ò3¸ÄϢ³¤Çµ½Ò¤¹¤ë¤ÈÀâÌÀÍѤΥ³¥á¥ó¥È¤Ç¤¢¤ë¥µ¥Þ¥ê¡¼(³µÍ×)¤¬¼«Æ°Åª¤Ëµ½Ò¤µ¤ì¤Þ¤¹¡£
¡¡Ê̤ε»ö¤Ç¾Ü¤·¤¯²òÀ⤷¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò³Îǧ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¡¡=>¡¡ÃΤäƤª¤¤¿¤¤Æ¦Ãμ±
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Î Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë PlayerController ¥¹¥¯¥ê¥×¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¥¢¥¿¥Ã¥Á¤·¤¿¤é¡¢É¬¤º¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î³Îǧ¤ò¹Ô¤¤¡¢Àµ¾ï¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡PlayerController ¥¹¥¯¥ê¥×¥È¤Ë¹ç¤ï¤»¤Æ¡¢Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤âƱ»þ¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ï PlayerController ¥¹¥¯¥ê¥×¥È¤ËÀßÄꤷ¤Æ¤¢¤ë RequireComponent °À¤Ë¤è¤ëµ¡Ç½¤Ç¤¹¡£
¡¡Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£ÀßÄꤹ¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï£²¤Ä¤Ç¤¹¡£
¡¡ºÇ½é¤Ë Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡Gravity Scale ¤ÎÃͤò 0 ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£0 ¤Ë¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢½ÅÎϤαƶÁ¤ò¼õ¤±¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡
¡¡Constraints ¥×¥í¥Ñ¥Æ¥£Æâ¤Î Freeze Rotation ¤Î Z ¤Ë¥Á¥§¥Ã¥¯¤ò¤¤¤ì¤Æ¤¯¤À¤µ¤¤¡£
Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÍøÍѤ·¤Æ°ÜÆ°¤ò¹Ô¤¦¾ì¹ç¡¢ºÂɸ¤òľÀÜÊѹ¹¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢ÊªÍý±é»»¤òÍøÍѤ·¤Æ¡¢¤½¤Î·ë²Ì¤È¤·¤Æ¥¥ã¥é¤ÎºÂɸ¤¬°ÜÆ°¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢½ÅÎϤäË໤¤È¤¤¤Ã¤¿ÊªÍýˡ§¤¬°ÜÆ°¤ÎºÝ¤Ë´Ø¤ï¤Ã¤Æ¤¯¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£Â¾¤Î¤â¤Î¤Ë¤Ö¤Ä¤«¤ì¤ÐÄä»ß¤·¤Þ¤¹¤¬¡¢¤½¤Î»þ¤Ë²Ã®¤¬¤¢¤ì¤Ð¡¢²óž¤¬È¯À¸¤·¤ÆÁ°¤Î¤á¤ê¤ËÅݤì¤Þ¤¹¡£
¤³¤ÎÀßÄê¤Ë¤è¤ê¡¢¥¥ã¥é¤¬°ÜÆ°¤·¤¿¤ê¡¢Ää»ß¤·¤¿¤ê¤·¤¿ºÝ¤Ë¡¢²Ã®¤Ë¤è¤ëÀª¤¤¤¬¤¢¤Ã¤Æ¤â²óž¤òµ¯¤³¤µ¤Ê¤ê¡¢Åݤì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡Rigidbody2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È
![](https://image02.seesaawiki.jp/i/o/i-school-memo/OgEEBW6dgD.png)
¡¡Â³¤¤¤Æ¡¢PlayerController ¥¹¥¯¥ê¥×¥È¤ÎÃæ¤Ç public ½¤¾þ»Ò¤ÇÀë¸À¤·¤Æ¤¤¤ëÊÑ¿ô¤¬¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Å¬µ¹¤ÊÃͤòÂåÆþ¤·¤Æ¤¯¤À¤µ¤¤¡£
Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼
![](https://image01.seesaawiki.jp/i/o/i-school-memo/oXEQCpV5o5.png)
¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£
¡¡¥¹¥¯¥ê¥×¥ÈÆâ¤ÎÀ©¸æ½èÍý¤Ë¤Ä¤¤¤Æ¡¢¤·¤Ã¤«¤ê¤ÈÍý²ò¤ò¤·¤¿¾å¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ½èÍý¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£
¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¡¡Unity¤Ë¤Ï InputManager ¤È¤¤¤¦ÀßÄê¹àÌܤ¬¤¢¤ê¡¢¤³¤ÎÃæ¤ËºÇ½é¤«¤éÆÃÄê¤Î¥¡¼ÆþÎÏÍѤΥ¡¼¥Ü¡¼¥É¤Î¥Ü¥¿¥ó¤òÅÐÏ¿¤·¤Æ¤¢¤ê¤Þ¤¹¡£
¡¡InputManager¤Ï¡¢Unity¤Îº¸¾å¤Î¥á¥Ë¥å¡¼¤Ë¤¢¤ë Edit => Project Settings ¤«¤éProject Settings ¥¦¥¤¥ó¥É¥¦¤ò³«¤¡¢º¸¤Î¹àÌܤ«¤é InputManager ¤òÁªÂò¤¹¤ë¤È³Îǧ¤ÈÀßÄ꤬²Äǽ¤Ç¤¹¡£
¡¡º£²ó¤ÏÀßÄê¤ò¤½¤Î¤Þ¤ÞÍøÍѤ·¤Þ¤¹¡£¹àÌܤˤ¢¤ë¡¢Horizontal ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£²¼µ¤Î¤è¤¦¤ÊÀßÄêÍѤÎÆâÍƤ¬É½¼¨¤µ¤ì¤Þ¤¹¡£
InputManager
![](https://image02.seesaawiki.jp/i/o/i-school-memo/1tmBl5d2zp.png)
¡¡°ìÈÖ¾å¤ÎÀßÄê¹àÌÜ¤Ë Name ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÉôʬ¤Ë»ØÄꤷ¤¿Ê¸»úÎó¤òÌ¿Î᤹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¡¼ÆþÎÏÍѤÎȽÄê¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
Horizontal ¤Ë¤Ï»Ï¤á¤«¤é Horizontal ¤È¤¤¤¦Ê¸»úÎó¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¾ðÊó¤òÍøÍѤ·¤Æ¥¡¼ÆþÎÏÍѤÎȽÄê¤ò¹Ô¤¦½èÍý¤ò¥¹¥¯¥ê¥×¥È¤Ëµ½Ò¤·¤Þ¤¹
¡¡¼ÂºÝ¤Ë¡¢¤É¤Î¥¡¼¤ÎÆþÎϤòȽÄꤹ¤ë¤«¤Ç¤¹¤¬¡¢¤³¤Î Horizontal ¤Ë¤Ï¡¢Negative Button ¤Ë left(º¸Ìð°õ¥¡¼)¡¢
Positive Button ¤Ëright(±¦Ìð°õ¥¡¼)¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¿åÊ¿(²£)Êý¸þÍѤΥ¡¼ÆþÎϤÎȽÄê¤ò¼èÆÀ¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡Vertical ¤Ë¤Ä¤¤¤Æ¤âƱÍͤǤ¹¡£¤¢¤ï¤»¤Æ³Îǧ¤·¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡¼¡¤Ï¡¡¼ê½ç£·¡¡¡Ý¥×¥ì¥¤¥ä¡¼¥¥ã¥é¤Î°ÜÆ°¥¢¥Ë¥á¤ÎºîÀ®¡Ý¡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯