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

¡¡£²²ó¤Ëʬ¤±¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤Î¥­¥ã¥é¥¯¥¿¡¼¤Î°ÜÆ°¥¢¥Ë¥á½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¡¡°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£


¡ã¼ÂÁõÆ°²è(¼ê½ç£±£°¤Þ¤Ç¼ÂÁõ¤·¤¿¤È¤­¤Î¤â¤Î)¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¼ê½ç£±£°¡¡¡¼¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°¤È°ÜÆ°¥¢¥Ë¥á¤ÎƱ´ü½èÍý¤Î¼ÂÁõ¡¼

¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£

¡¡¡¦TryGetComponent ¥á¥½¥Ã¥É¤È out ¥­¡¼¥ï¡¼¥ÉÀë¸À
¡¡¡¦Mathf.Approximately ¥á¥½¥Ã¥É
¡¡¡¦Animator.SetFloat ¥á¥½¥Ã¥É
¡¡¡¦Vector2.Set ¥á¥½¥Ã¥É
¡¡¡¦Vector2.Normalize ¥á¥½¥Ã¥É¤òÍøÍѤ·¤¿Àµµ¬²½½èÍý



£±£¶¡¥PlayerController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢¥­¥ã¥é¤Î°ÜÆ°¤·¤Æ¤¤¤ëÊý¸þ¤ò¼èÆÀ¤·¡¢¤½¤Î¸å¡¢°ÜÆ°¥¢¥Ë¥á¤ÈƱ´ü¤µ¤»¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë

£±¡¥Àß·×


¡¡¼ÂÁõÆ°²è¤ò³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¤è¤¦¤ÊÆ°²è¤Ë¤Ê¤ëµóÆ°¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤«¡¢¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£

¡¡¥Ý¥¤¥ó¥È¤Ï¼¡¤ÎÅÀ¤Ç¤¹¡£

¡¡¡¦¥­¥ã¥é¤Î°ÜÆ°Êý¸þ¤Ë¹ç¤ï¤»¤Æ¡¢¤½¤Î°ÜÆ°Êý¸þ¤Î¥­¥ã¥é¤Î°ÜÆ°¥¢¥Ë¥á¤¬ºÆÀ¸¤µ¤ì¤ë

¡¡º£²ó¤Ï¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢Ää»ßÃæ¤Î¥¢¥Ë¥á¤òÍÑ°Õ¤·¤Æ­Ƨ¤ß¤ò»ß¤á¤ë¤è¤¦¤Ë¤·¤Æ¤â¤¤¤¤¤È»×¤¤¤Þ¤¹¡£



¡¡Animator ¤³¤Á¤é¤Ë¤ÆÀ½ºî¤·¤¿¥¢¥Ë¥á¤ÎÁ«°Ü½èÍý¤Ï¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Animator ¥³¥ó¥Ý¡¼¥Í¥ó¥ÈÆâ¤Ë¤¢¤ë Controller ¥×¥í¥Ñ¥Æ¥£¤ÎÉôʬ¤ÇÀ©¸æ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÏÊ£¿ô¤Î²èÁü¤ò¤Þ¤È¤á¤Æ¥Ò¥¨¥é¥ë¥­¡¼¤Ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤¿ºÝ¤Ë¤Ï¡¢¼«Æ°Åª¤ËÄɲ䵤ì¤Þ¤¹¡£


Animator ¥³¥ó¥Ý¡¼¥Í¥ó¥È



¡¡Controller ¥×¥í¥Ñ¥Æ¥£¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¾ðÊ󤬡¢Àè¤Û¤É Animator ¥Ó¥å¡¼¤ÇÀßÄꤷ¤¿¾ðÊó¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¤³¤Î Controller ¤òÊѹ¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢°Û¤Ê¤ë¥¢¥Ë¥á¤ÎÁ«°Ü¤ò¹Ô¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡
¡¡¤Þ¤¿ Animator ¥Ó¥å¡¼¤Î Parameters ¤ËÀßÄꤷ¤¿¾ðÊó¤òÁàºî¤¹¤ë¤¿¤á¤Ë¤â¡¢¤³¤Î Animator ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬É¬Íפˤʤê¤Þ¤¹¤Î¤Ç¡¢
¥¢¥Ë¥á¤ÎÀ©¸æ¤ò¹Ô¤¦¾ì¹ç¤Ë¤Ï¡¢¤³¤Î Animator ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¥¹¥¯¥ê¥×¥ÈÆâ¤ÇÊÑ¿ô¤Ë¼èÆÀ¤·¤Æ¡¢¤½¤ì¤òÍøÍѤ¹¤ë¤È¤¤¤¦ÊýË¡¤ÇÀ©¸æ¤ò¹Ô¤¤¤Þ¤¹¡£



¡¡Blend Tree ¤Î Speed Éôʬ¤Ç¥­¥ã¥é¤Î¥¢¥Ë¥á¤¬ÃͤÎÊѲ½¤Ë¹ç¤ï¤»¤Æ Blend Tree ¤Î Walks ¤È Runs ¤¬¼«Æ°Åª¤ËÀÚ¤êÂؤï¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£

¡¡¤Ä¤Þ¤ê¡¢¥­¥ã¥é¤Î¥­¡¼ÆþÎϤξðÊó¤ò¡¢Spped ¤ÎÉôʬ¤ÈƱ´ü¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¢
¤½¤Î¤Þ¤Þ¥­¥ã¥é¤Î°ÜÆ°¥¢¥Ë¥á¤Ë¤âŬÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤ì¤¬º£²ó¤Î°ÜÆ°¥¢¥Ë¥á¤È¥­¥ã¥é¤Î°ÜÆ°¤È¤òƱ´ü¤µ¤»¤ë¥í¥¸¥Ã¥¯¤Ë¤Ê¤ê¤Þ¤¹¡£



¡¡¥×¥ì¥¤¥ä¡¼ÍѤΥ­¥ã¥é¤ÎÀ©¸æ¤Ï PlayerController ¥¹¥¯¥ê¥×¥È¤Ë¤ª¤¤¤Æ¹Ô¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
°Ê¾å¤ÎÀ©¸æ½èÍý¤ò PlayerController ¥¹¥¯¥ê¥×¥È¤Ë¼ÂÁõ¤·¤Æ¡¢¥­¥ã¥é¤Î°ÜÆ°¤È°ÜÆ°¥¢¥Ë¥á¤È¤òƱ´ü¤µ¤»¤Æ¤¤¤­¤Þ¤¹¡£

¡¡º£²ó¤Ï¼ÂÁõÎã¤ò¤½¤Î¤Þ¤Þ·ÇºÜ¤·¤Æ¤¤¤Þ¤¹¤¬¡¢º£¸å¡¢¼«Ê¬¤Ç°ÜÆ°¥¢¥Ë¥á¤Ê¤É¤Î¼ÂÁõ¤ò¹Ô¤¦¾ì¹ç¤â¡¢Æ±¤¸¤è¤¦¤Ê¹Í¤¨Êý¤Ç¼ÂÁõ¤¬½ÐÍè¤Þ¤¹¡£
¤É¤Î½èÍý¤È¤É¤Î½èÍý¤¬¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë¤Î¤«¡¢Unity ¤ÎÀ©¸æ¤ò¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¥¹¥¯¥ê¥×¥È¤«¤é¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¤Î¤«¡¢
À߷פιͤ¨Êý¡¢¥í¥¸¥Ã¥¯¤Îºî¤êÊý¤ò³Ð¤¨¤Æ¤¤¤Ã¤Æ¡¢¼«Ê¬¤Î¥²¡¼¥à¤Ë¤â³èÍѤǤ­¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


£²¡¥PlayerController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡¤½¤ì¤Ç¤Ï¼ÂÁõ¤ò¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
BlendTree ¤Î Palameter ¤Ë¤Ï Animator ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬»ý¤Ä SetFloat ¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤³¤È¤Ç float ·¿¤Î¾ðÊó¤òÁ÷¤Ã¤ÆÀ©¸æ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤½¤Î¤¿¤á¤Ë¤Ï Animator ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤ò¼èÆÀ¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢ÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¤ª¤¯¤³¤È¤«¤é»Ï¤á¤Þ¤¹¡£


PlayerController.cs

¡¡<=¡¡¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£


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


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

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

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

¡ã¼ÂÁõÎã­¡¡ä
  TryGetComponent(out anim);

¡ã¼ÂÁõÎã­¢¡¡Ìá¤êÃͤò³èÍÑ¡ä
¡¡if (!TryGetComponent(out anim)) {
  ¡¡¡¡Debug.Log("Animator ¼èÆÀ½ÐÍè¤Þ¤»¤ó¤Ç¤·¤¿");
  }
}

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

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

¡¡¤â¤·¤â¤³¤Î TryGetComponent ¥á¥½¥Ã¥É¤Î½èÍý·ë²Ì¤¬¼Â¹Ô²Äǽ¤Ê¤é¤Ð¡¢¤Ä¤Þ¤ê¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë Animator ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
out ¤È¤·¤ÆÍÑ°Õ¤·¤¿ anim ÊÑ¿ô¤Ë Animator ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤¬ÂåÆþ¤µ¤ì¤Þ¤¹''¡£¤Þ¤¿¡¢true ¤ÎÃͤ¬¡¢¤½¤ì¤È¤ÏÊ̤˽èÍý·ë²Ì¤È¤·¤ÆÌá¤ê¤Þ¤¹¡£

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


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

»²¹Í
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Component.TryGetComponent
https://docs.unity3d.com/ScriptReference/Component...


£´¡¥¡ãMathf.Approximately ¥á¥½¥Ã¥É¡ä


¡¡bool ·¿¤ÎÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤Ç¤¹¡£
¡¡£²¤Ä¤Î float ÃͤòÈæ³Ó¤·¡¢¤½¤ì¤é¤¬¸ß¤¤¤Ë¾®¤µ¤ÊÃÍ (Epsilon) ¤ÎÈÏ°ÏÆâ¤Ë¤¢¤ë¾ì¹ç¤Ë true ¤ÇÊÖ¤·¤Þ¤¹¡£
¸·Ì©¤ÊÃͤǤϤʤ¯¡ÖÂçÂÎÅù¤·¤¤¤«¤É¤¦¤«¡×¤òȽÃǤ¹¤ë¤è¤¦¤Ê¥±¡¼¥¹¤ÇÍøÍѤǤ­¤Þ¤¹¡£

  if (!Mathf.Approximately(horizontal, 0.0f)) {
¡¡¡¡¡¡// ½èÍý
  }

¡¡º£²ó¤Î¥±¡¼¥¹¤Î¾ì¹ç¡¢horizontal ¤ÎÃÍ¤È 0.0f ¤òÈæ¤Ù¤Æ¡¢horizontal ¤ÎÃͤ¬ 0.0 f ¤Ç¤Ï¤Ê¤¤¤«¡¢0.0f ¤Ë¶á¤¤ÃͤǤʤ±¤ì¤Ð¡¢false ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¾ì¹ç¤Ë¡¢if ʸÆâ¤Î½èÍý¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥­¡¼ÆþÎϤµ¤ì¤¿Ãͤ¬ 0 ¤Ë¶á¤¤ÃͤǤʤ±¤ì¤Ð°ÜÆ°¤·¤Æ¤¤¤ë¤È¹Í¤¨¤Æ¡¢if ʸÆâ¤Î½èÍý¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ï float ·¿¤Î¤è¤¦¤ËºÙ¤«¤¯Æ°¤¯¡¢ÉâÆ°¾®¿ôÅÀ¤ÎÃͤξì¹ç¡¢ÆÃÄêÃÍ(0.046303f ¤Ê¤É¤ÎÃÍ)¤ò£±¤Ä¤È¤·¤Æ¸ÂÄꤹ¤ë¤³¤È¤¬Æñ¤·¤¤¤¿¤á¤Ç¤¹¡£
float ·¿¤ÎÃͤò¾ò·ï¼°¤È¤·¤ÆÈæ³Ó¤¹¤ë¾ì¹ç¤Ë¤ÏÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£


»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Mathf.Approximately
https://docs.unity3d.com/ja/current/ScriptReferenc...
Qiita @Hirai0827 ÍÍ
Á´Unity»È¤¤¤ÏMathf¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤òÆɤá
https://qiita.com/Hirai0827/items/c8bc643c0bcfe5ca...
Íõ¤Èø¡¹ ÍÍ
¡ÚUnity¡ÛÃΤäÆÆÀ¤¹¤ëMathf¥¯¥é¥¹
http://megumisoft.hatenablog.com/entry/2015/08/29/...


£µ¡¥¡ãAnimator.SetFloat ¥á¥½¥Ã¥É¡ä


¡¡Unity¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Ï¡¢Animator¥¯¥é¥¹¤Ë¤è¤Ã¤ÆÍÍ¡¹¤Ê¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ÎÀ©¸æ¤¬¹Ô¤¨¤Þ¤¹¡£
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Animator
https://docs.unity3d.com/ja/current/ScriptReferenc...

¡¡º£²ó¤Ï¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ÎÁ«°Ü¤Î¤¿¤á¤Ë¡¢SetFloat ¥á¥½¥Ã¥É¤òÍøÍѤ·¡¢Á«°Ü¤Î¾ò·ï¤ò¤³¤Î¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë»ØÄꤷ¤Æ¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ÎÁ«°Ü¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡³Æ¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë¤Ï¤½¤ì¤¾¤ì·¿¤Î»ØÄ꤬°Û¤Ê¤ê¤Þ¤¹¤¬¡¢¤¤¤º¤ì¤âÂè1°ú¿ô¤Ï string ·¿¤Ç¤¹¡£¤³¤ÎÉôʬ¤Ë¤Ï¡¢¥Ñ¥é¥á¡¼¥¿¤ÇÀßÄꤷ¤¿Ê¸»úÎó¤ò»ØÄꤷ¤Þ¤¹¡£
ʸ»úÎó¤Ç¤¹¤Î¤ÇÂçʸ»ú¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤¹¡£¥Ñ¥é¥á¡¼¥¿¤ËÅÐÏ¿¤·¤¿Ê¸»úÎó¤ò¤³¤ÎÂè1°ú¿ô¤Ë»ØÄꤹ¤ë¤³¤È¤Ç¥Ñ¥é¥á¡¼¥¿¤Î¤â¤Ä¾ðÊó¤òÊѹ¹¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤½¤·¤Æ¡¢¥Ñ¥é¥á¡¼¥¿¤ÎÃͤòÊѹ¹¤¹¤ëÆâÍƤòÂè2°ú¿ô¤Ë»ØÄꤷ¤Þ¤¹¡£

¡¡Î㤨¤Ð¡¢SetFloat¤Ç¤¢¤ì¤Ð¡¢Âè1°ú¿ô¤Ë float ·¿¤Î¥Ñ¥é¥á¡¼¥¿¤Ç¤¢¤ë "LookX" ¤Îʸ»úÎó¤ò»ØÄꤷ¡¢Âè2°ú¿ô¤Ë float ·¿¤ÎÃͤò»ØÄꤷ¤Þ¤¹¡£

¡¡// ¸þ¤­¤ÎÀ©¸æ
  anim.SetFloat("LookX", lookDirection.x);

¡¡// °ÜÆ°¥¢¥Ë¥áºÆÀ¸
  anim.SetFloat("Speed", lookDirection.sqrMagnitude);

¡¡¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ÎÃͤò¥¹¥¯¥ê¥×¥È¤«¤é½ñ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤Î·ë²Ì¤È¤·¤Æ¡¢¾ò·ï¤¬¹çÃפ·¤¿¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ËÁ«°Ü¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


¡ã¥Ñ¥é¥á¡¼¥¿¤È Set¡Á¥á¥½¥Ã¥É¤Î´ØÏ¢À­¡ä


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


£¶¡¥¡ãVector2.Set ¥á¥½¥Ã¥É¡ä

¡¡
¡¡»ØÄꤷ¤¿ Vector2 ¹½Â¤ÂΤËÂФ·¤Æ¡¢°ú¿ô¤Ë»ØÄꤷ¤¿ x, y ¤ÎÃͤòÂåÆþ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£

  // ¸þ¤¤¤Æ¤¤¤ëÊý¸þ¤ò¹¹¿·
  lookDirection.Set(horizontal, 0);

¡¡½èÍýŪ¤Ë¤Ï²¼µ­¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£

  // ¸þ¤¤¤Æ¤¤¤ëÊý¸þ¤ò¹¹¿·
  lookDirection = new Vector2(horizontal, 0);

¡¡Set ¥á¥½¥Ã¥É¤ÎÊý¤¬¡¢¿·¤¿¤Ë new Vector2 ¤òÀë¸À¤·¤ÆÃͤòÂåÆþ¤¹¤ë¤è¤ê¤â½èÍý¤¬Áᤤ½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Þ¤¿ Transform.position ¤ÎÂåÆþ¤Ë¤âÍøÍѤǤ­¤Þ¤¹¡£

  transform.position.Set(x, y, z);


»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Vector2.Set
https://docs.unity3d.com/ja/current/ScriptReferenc...
¥²¡¼¥à¤Îºî¤êÊý ¤ì¡¼¡÷DKRevel ÍÍ
Unity¤ÎVector3¤Î»È¤¤Êý¡Ú¥¹¥¯¥ê¥×¥È²òÀâ¡Û
https://dkrevel.com/unity-explain/vector3/


£·¡¥¡ãVector2.Normalize ¥á¥½¥Ã¥É¤òÍøÍѤ·¤¿Àµµ¬²½½èÍý¡ä

¡¡
¡¡Àµµ¬²½½èÍý¤Ç¤¹¡£magnitude(¥Þ¥°¥Ë¥Á¥å¡¼¥É¡£Ä¹¤µ)¤ò£±¤È¤·¤¿¥Ù¥¯¥È¥ë(ñ°Ì¥Ù¥¯¥È¥ë)¤òÊÖ¤·¤Þ¤¹¡£Ìá¤êÃÍ¤Ï Vector3 ·¿¤Ë¤Ê¤ê¤Þ¤¹¡£

  // lookDirection ÊÑ¿ô¤ËÂФ·¤ÆÀµµ¬²½½èÍý¤ò¹Ô¤¦
  lookDirection.Normalize();

¡¡¸½ºß¤Î¥Ù¥¯¥È¥ë¤ÎÊý¸þ¤ò°Ý»ý¤·¤¿¤Þ¤Þ¡¢magnitude¤¬£±¡¢¤¢¤ë¤¤¤Ï£°¤Îñ°Ì¥Ù¥¯¥È¥ë¤òºîÀ®¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£¡Ê¥Ù¥¯¥È¥ë¤ÎÃͤ¬¾®¤µ¤¤¤È£°¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ë

¡¡¤³¤ÎÀµµ¬²½¤ò¹Ô¤¦¤³¤È¤Ë¤è¤Ã¤Æ°ÌÃ֤αó¶á¤Ë´Ø¤ï¤é¤º¡¢magnitude ¤¬¤¹¤Ù¤Æ 1¡¢¤¢¤ë¤¤¤Ï 0 ¤ËÅý°ì¤µ¤ì¤¿Ã±°Ì¥Ù¥¯¥È¥ë¤ÎÃͤȤʤ뤿¤á¡¢
º¸¤È²¼¤ÎÊý¸þ¤Ç¤¢¤ì¤Ð -1¡¢±¦¤È¾å¤ÎÊý¸þ¤Ç¤¢¤ì¤Ð 1¤ÎÃͤ¬¥Ù¥¯¥È¥ë¤È¤·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£Ãͤ¬ 0 ¤Ë¶á¤¤¾ì¹ç¤Ë¤Ï 0 ¤¬¥Ù¥¯¥È¥ë¤È¤·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£

¡¡º£²ó¤Î¼ÂÁõ¤Ç¤Ï¤³¤ÎÃͤò BlendTree ¤Î³ÆÃͤȤ·¤ÆÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢''BlendTree ¤Î Palameter ¤ÎÀßÄêÃͤȤ³¤ÎÀµµ¬²½¤µ¤ì¤¿ÃͤȤ¬¥ê¥ó¥¯¤·¤Æ
°ÜÆ°¥¢¥Ë¥á¤ÎÀÚ¤êÂؤ¨½èÍý¤¬¼ÂÁõ''½ÐÍè¤Æ¤¤¤Þ¤¹¡£

Unity¸ø¼°¥¹¥¯¥ê¥×¥È¡¦¥ê¥Õ¥¡¥ì¥ó¥¹
https://docs.unity3d.com/ja/current/ScriptReferenc...
TechProjinÍÍ
Unity¤ÎVector3¤Ç¤è¤¯»È¤¦¤â¤Î¤Þ¤È¤á
https://tech.pjin.jp/blog/2016/02/16/unity_vector3...


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


¡¡¥²¡¼¥à¤ò¼Â¹ÔÁ°¤Ë¡¢¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë¥×¥ì¥¤¥ä¡¼ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¡¢Animator ¥Ó¥å¡¼¤Ë¤·¤Æ¤ª¤­¤Þ¤¹¡£
Animator ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¤¤¤ë¾ì¹ç¡¢
¥²¡¼¥à¤ò¼Â¹Ô¤¹¤ë¤È¡¢¤½¤Î¥¢¥Ë¥á¤Î¾õÂ֤˹ç¤ï¤»¤Æ¥ê¥¢¥ë¥¿¥¤¥à¤Ë¥¢¥Ë¥á¤ÎÁ«°Ü½èÍý¤ò³Îǧ¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¤¿¤á¤Ç¤¹¡£

¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆµóÆ°¤ò³Îǧ¤·¤Þ¤¹¡£¤¤¤Þ¤Þ¤Ç¤ÈƱ¤¸¤è¤¦¤Ë°ÜÆ°¥¢¥Ë¥á¤ÎÀ©¸æ¤¬¹Ô¤ï¤ì¤Æ¤¤¤ì¤ÐÀ®¸ù¤Ç¤¹¡£


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


¡¡¼ÂÁõ¤·¤Æ´°À®¡¢¤Ç¤Ï¤Ê¤¯¤Æ¡¢¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¤¤Ê¤¬¤é½¤Àµ²Õ½ê¤¬¤Ê¤¤¤«¤É¤¦¤«¤ò¹Í¤¨¤ë¤³¤È¤Ç¡¢¥³¡¼¥Ç¥£¥ó¥°µ»½Ñ¤äÀß·×µ»½Ñ¤òÍܤäƤ¤¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£



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

¡¡¼¡¤Ï¡¡¼ê½ç£±£±¡¡¡ÝSkybox ¤È Fog ¤ÎÀßÄê¡Ý¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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