¡¡»ØÄꤷ¤¿ÃÏÅÀ¤«¤éÊ̤ÎÃÏÅÀ¤Þ¤Ç¤Î´Ö¤Ë¸«¤¨¤Ê¤¤Àþ¤ò°ú¤¤¤Æ¡¢¤½¤ÎÀþ¤ÎÃæ¤Ë¾¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥é¥¤¥À¡¼¤¬ÀÜ¿¨¤·¤¿¤«¤É¤¦¤«¤òȽÄꤹ¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
¥³¥é¥¤¥À¡¼¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÀÜ¿¨¤·¤¿¾ì¹ç¤Ë¤Ï true¡¢ÀÜ¿¨¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï false ¤òÌᤷ¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Physics.Linecast
https://docs.unity3d.com/ja/current/ScriptReferenc...
¡¡¥µ¥¤¥È¤ò³Îǧ¤¹¤ë¤È¤ï¤«¤ê¤Þ¤¹¤¬¡¢
¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ï°ú¿ô¤Î»ØÄê¤Î»ÅÊý¤¬£²¼ïÎढ¤ê¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ë¡¢
Ʊ¤¸¥á¥½¥Ã¥É¤Ç¤â°Û¤Ê¤ë°ú¿ô¤ò»ý¤Ä¤³¤È¤ò¡¢¥ª¡¼¥Ð¡¼¥í¡¼¥É¤ò»ý¤Ä¥á¥½¥Ã¥É¡¢¤¢¤ë¤¤¤Ï¡¢¥ª¡¼¥Ð¡¼¥í¡¼¥É¡¦¥á¥½¥Ã¥É¤È¤¤¤¤¤Þ¤¹¡£
¡¡º£²ó¤Ï¡¢¥µ¥¤¥È¤Î¾åÃʤˤ¢¤ë°ú¿ô¤Î¥ª¡¼¥Ð¡¼¥í¡¼¥É¤òÍøÍѤ·¤¿¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
public static bool Linecast (Vector3 start, Vector3 end, int layerMask= DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction= QueryTriggerInteraction.UseGlobal);
// Linecast ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¥¥ã¥é¤Î¸µ¤Ë¸þ¤±¤Æ¸«¤¨¤Ê¤¤ Line ¤òÈô¤Ð¤·¡¢
// Line ¤Ë groundLayer ÊÑ¿ô¤Ç»ØÄꤷ¤¿Layer(Ground)¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ÀÜ¿¨¤¹¤ë¤«È½Äê¡£ÂоݤÎLayer¤Î¤È¤¤Ï true ¤òÊÖ¤¹
isGrounded = Physics.Linecast(transform.position, transform.position - transform.up * 0.3f, groundLayer);
¡¡¤³¤ÎLinecast¥á¥½¥Ã¥É¤òÍøÍѤ·¡¢¥¥ã¥é¤Î°ÌÃÖ¤«¤é¡¢¥¥ã¥é¤Î¸µ¤Ë¸þ¤±¤Æ¸«¤¨¤Ê¤¤Àþ¤ò°ú¤¤Þ¤¹¡£
º£²ó¤Ë¾ì¹ç¡¢¤½¤Î¸«¤¨¤Ê¤¤Àþ¤È Ground ¤ÎÀßÄê¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥é¥¤¥À¡¼¤¬ÀÜ¿¨¤·¤¿¾ì¹ç¤Ë¤Ï true¤òÌá¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤òÀÜÃϤ·¤Æ¤¤¤ë¾õÂ֤Ǥ¢¤ë¤ÈÀßÄꤷ¤Þ¤¹¡£
¡¡¥¥ã¥é¤¬¥¸¥ã¥ó¥×¤·¤Æ¶õÃæ¤ËÉ⤫¤Ö¤È¡¢Line ¤¬¼ÐÌ̤Υ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥é¥¤¥À¡¼¤ÈÀÜ¿¨¤·¤Ê¤¯¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤Î¾ì¹ç¤Ë¤Ï false ¤¬Ìá¤ê¡¢ÀÜÃϤ·¤Æ¤¤¤Ê¤¤¾õÂ֤Ȥ·¤Þ¤¹¡£
¡¡¤³¤Î½èÍý¤Ë¤ª¤¤¤Æ¤â¡¢
°ú¿ô¤ÎÃæ¤Ç transform.up ÊÑ¿ô¤¬³èÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤É¤Î¤è¤¦¤Ê½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤ë¤«¤òÆɤ߲ò¤¤¤Æ¡¢ÀâÌÀ¤Ç¤¤ë¤è¤¦¤ËÍý²ò¤ò¿¼¤á¤Æ¤¯¤À¤µ¤¤¡£
»²¹Í¥µ¥¤¥È
¤Î¤Ã¤Ô¤ÎÈ÷˺Ͽ ÍÍ
¥ì¥¤¥¥ã¥¹¥È¤Þ¤È¤á
https://nopitech.com/2018/07/05/post-725/