ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2023ǯ05·î10Æü(¿å) 22:20:10ÍúÎò
¡¡Player¤Èº¸±¦¤ÎÊÉ¤Ë¤Ï¾×ÆÍȽÄ꤬¤¢¤ê¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢º¸±¦°Üư¤·¤Æ¤¤¤ë¤ÈPlayer¤¬ÊɤòÆÍ¤È´¤±¤Æ°Üư¤¬½ÐÍè¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤³¤Ç¤ÏPlayer¤Î°ÜưÈϰϤòÀ©¸Â¤¹¤ë¤³¤È¤ÇÊɤòÆÍ¤È´¤±¤Æ°Üư¤·¤Ê¤¤¤è¤¦¤ËÊѹ¹¤ò¹Ô¤¤¤Þ¤¹¡£
https://gyazo.com/1a9d113fd788f866495891061aabe058
¡¡¼êË¡¤È¤·¤Æ¤Ï¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤·¤Æ¡¢Player¤ËRigidbody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¥¢¥¿¥Ã¥Á¤·¤ÆÊªÍý±é»»¤òÍѤ¤¤Æ¾×ÆÍȽÄê¤ò¤·¤Æ¤â¤è¤¤¤Î¤Ç¤¹¤¬¡¢
Player¤Î°Üư®Å٤ˤè¤Ã¤Æ¤ÏÊɤòÆÍ¤È´¤±¤Æ¤·¤Þ¤¦¶²¤ì¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤ì¤è¤ê¤Ï¥¹¥¯¥ê¥×¥È¤Ç°ÜưÈϰϤòÀ©¸Â¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤Ç¼ÂÁõ¤·¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£
¡¡Player¤Î°Üư¤È¤Ï¤¹¤Ê¤ï¤Á¡¢transform.position¤ÎÃͤò½ñ¤´¹¤¨¤ë¤³¤È¤ÈƱµÁ¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢¤³¤Îposition¤ÎÃͤòÀ©¸Â¤¹¤ë¤³¤È¤¬½ÐÍè¤ì¤Ð¡¢Player¤Î°Üư¤âÀ©¸Â¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤è¤Ã¤Æ¤³¤³¤Ç¤Ï¡¢ÃͤòÀ©¸Â¤¹¤ë½èÍý¤Ç¤¢¤ë¡¢Mathf.Clamp¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æposition¤ÎÃͤòÀ©¸Â¤¹¤ë¤³¤È¤Ç°ÜưÈϰϤòÀ©¸Â¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡°Ê²¼¤Î¼ê½ç¤Ç¼ÂÁõ¤·¤Þ¤¹¡£
£±¡¥Contolloer¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Þ¤¹¡£
¡¡¿·¤·¤¯³Ø½¬¤Ç¤¤ëµ»½Ñ¤ò¤Þ¤È¤á¤Þ¤¹¡£
¡¦Mathf.Clamp¥á¥½¥Ã¥É
¡¡Mathf ¹½Â¤ÂΤϡ¢Unity ¤¬ÍѰդ·¤Æ¤¤¤ë¡¢¿ô³Ø´Ø¿ô¤ÎÊÑ¿ô¤ä¥á¥½¥Ã¥É¤ò¤Þ¤È¤á¤Æ¤¢¤ë¹½Â¤ÂΤǤ¹¡£
Ä̾ï¤Î Math ¥¯¥é¥¹¤È°Û¤Ê¤ê¡¢Ìá¤êÃÍ¤Ï float ·¿¤ÇÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¡¦¥ê¥Õ¥¡¥ì¥ó¥¹
Mathf
¡¡Clamp ¥á¥½¥Ã¥É¤Ï¡¢¡ÖÀ©¸æ¤·¤¿¤¤»ØÄêÃͤò¡¢»ØÄꤷ¤¿ÈÏ°ÏÆâ¤ÎºÇ¾®ÃÍ¡¢ºÇÂçÃͤ˼ý¤á¤Æ¤¯¤ì¤ë(ÃÖ¤´¹¤¨¤Æ¤¯¤ì¤ë)¡×½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¡ã¥á¥½¥Ã¥É¤ÎµË¡¡ä
À©¸æ¤·¤¿¤¤»ØÄêÃÍ = Mathf.Clamp(À©¸æ¤·¤¿¤¤»ØÄêÃÍ, ºÇ¾®ÃÍ, ºÇÂçÃÍ);
¡¡¤³¤Î¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢·×»»½èÍý¸å¤Î¥×¥ì¥¤¥ä¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î X ¼´¤ÎÃͤòÀ©¸Â¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¾åµ¤Î¥á¥½¥Ã¥É¤Î½ñ¼°¤Ë¡¢À©¸æ¤·¤¿¤¤ÃͤòÅö¤Æ¤Ï¤á¤Æ½èÍý¤òÁȤßΩ¤Æ¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¡¡float z = Mathf.Clamp(transform.position.z, -limitPos, limitPos);
¡¡¤È¤¤¤¦·Á¤ÇÍøÍѤ·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢transform.position.z¤ÎÃͤòÂоݤȤ·¡¢
ºÇ¾®Ãͤ¬ -limitPos °Ê²¼¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï -limitPos¤ÎÃͤˡ¢
ºÇÂçÃͤ¬ limitPos °Ê¾å¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï limitPos¤ÎÃͤËÀ©¸Â¤ò¤·¤Æ¤¯¤ì¤Þ¤¹¡£
¡¡¿ôÃͤò¤¤¤ì¤Æ½ñ¤¯¤Ê¤é¤Ð
¡¡float z = Mathf.Clamp(transform.position.z, -4.25f, 4.25f);
¡¡¤È¤Ê¤ê¤Þ¤¹¡£
¡¡¤½¤Î¸å¡¢¤½¤ÎÀ©¸Â¤µ¤ì¤¿Ãͤò¸½ºß¤ÎºÂɸ¤È¤·¤ÆÅ¬ÍѤ·¤Æ¤¤¤Þ¤¹¡£
¡¡// À©¸Â³Îǧ¸å¡¢°ÌÃÖ¾ðÊó¤ò¹¹¿· ¡¡transform.position = new Vector3(transform.position.x, transform.position.y, z);
¡¡¤³¤Î½èÍý¤Ë¤è¤ê¡¢¾ï¤Ë¥×¥ì¥¤¥ä¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥²¡¼¥à²èÌÌÆâ¤Ë¼ý¤Þ¤ë¤è¤¦¤Ë°Üư¤ÎÀ©¸Â¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¤Ê¤ªMathf.Clamp¥á¥½¥Ã¥É¤Ë¤Ï°ú¿ô¤Î¥ª¡¼¥Ð¡¼¥í¡¼¥É¤¬¤¢¤ê¡¢°ú¿ô¤Î·¿¤Ï¡¢float·¿¤Èint·¿¤Ç¤½¤ì¤¾¤ìÍøÍѤ¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Mathf.Clamp
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯