ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2022ǯ04·î22Æü(¶â) 13:57:24ÍúÎò
¡¡°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤¤Þ¤¹¡£
¡ã¼ÂÁõÆ°²è(¼ê½ç£±£°¤Þ¤Ç¼ÂÁõ¤·¤¿¤È¤¤Î¤â¤Î)¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¼ê½ç£±£°¡¡¡¼¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°¤È°ÜÆ°¥¢¥Ë¥á¤ÎƱ´ü½èÍý¤Î¼ÂÁõ¡¼
¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¡¡¡¦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 ¤ÎÀ©¸æ¤ò¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¥¹¥¯¥ê¥×¥È¤«¤é¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¤Î¤«¡¢
À߷פιͤ¨Êý¡¢¥í¥¸¥Ã¥¯¤Îºî¤êÊý¤ò³Ð¤¨¤Æ¤¤¤Ã¤Æ¡¢¼«Ê¬¤Î¥²¡¼¥à¤Ë¤â³èÍѤǤ¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤½¤ì¤Ç¤Ï¼ÂÁõ¤ò¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
BlendTree ¤Î Palameter ¤Ë¤Ï Animator ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬»ý¤Ä SetFloat ¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤³¤È¤Ç float ·¿¤Î¾ðÊó¤òÁ÷¤Ã¤ÆÀ©¸æ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤½¤Î¤¿¤á¤Ë¤Ï Animator ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤ò¼èÆÀ¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢ÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¤ª¤¯¤³¤È¤«¤é»Ï¤á¤Þ¤¹¡£
PlayerController.cs
¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡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...
¡¡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/...
¡¡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 ¹½Â¤ÂΤËÂФ·¤Æ¡¢°ú¿ô¤Ë»ØÄꤷ¤¿ 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/
¡¡Àµµ¬²½½èÍý¤Ç¤¹¡£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 ¤ÎÀßÄê¡Ý¡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯