ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2023ǯ09·î19Æü(²Ð) 17:00:28ÍúÎò
¡¡¼ê½ç£´¡Á£¸¤Ç¤Ï¥×¥ì¥¤¥ä¡¼¤Îʬ¿È¤È¤Ê¤ë¥¥ã¥é¤ÎºîÀ®¡¢¥¥ã¥é¤Î¹ÔÆ°¤È¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ÎÀ©¸æ¤Ë¤Ä¤¤¤Æ¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢¼ê½ç£¶¤ÇºîÀ®¤·¤¿¥¸¥ã¥ó¥×¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¡¢ÌäÂêÅÀ¤Î¸¡¾Ú¤È²þÁ±°Æ¤ò¹Í¤¨¡¢¥¸¥ã¥ó¥×¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Î½¤Àµ¤ò¹Ô¤¤¤Þ¤¹¡£
¼ê½ç£·¡¡¡Ý¥¥ã¥é¤Î¥¸¥ã¥ó¥×¤Î²þÁ±¡Ý
£±£°¡¥¥¸¥ã¥ó¥×¤ä¶õÃæÉâÍ·»þ¤ÎÌäÂêÅÀ¤ò¹Í¤¨¤Æ²þÁ±¤¹¤ë
¡¡¼ê½ç£¶¤Þ¤Ç¤Ç¥¸¥ã¥ó¥×¤Ï½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¤¬¡¢¶õÃæÉâÍ·¤ÎºÝ¡¢Íî²¼¤Î¾õÂ֤ˤ⤫¤«¤ï¤é¤º¡¢¥¢¥Ë¥á¡¼¥·¥ç¥ó¤¬Áö¤ë¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ËÁ«°Ü¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¶õÃæ¤ÇÊ⤤¤Æ¤¤¤ë¤è¤¦¤Ê¥¢¥Ë¥á¤Ë¤Ê¤ê¡¢¤³¤ì¤Ç¤Ï¥¢¥Ë¥á¡¼¥·¥ç¥ó¤òÀ©¸æ¤Ç¤¤Æ¤¤¤ë¤È¤Ï¸À¤¨¤Ê¤¤¾õÂ֤Ǥ¹¡£
¡ã¸½ºß¤Î¼Â¹ÔÆ°²è¡ä
https://gyazo.com/7ffddb2c86ac207c8f351206162ffef3
¡¡ÌäÂêÅÀ¤ò¸¡¾Ú¤·¡¢¤½¤Î²þÁ±°Æ¤ò¹Í¤¨¤Æ¡¢Àµ¾ï¤ÊÀ©¸æ¤ò¹Ô¤¨¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡¸½ºß¤Ï¥¥ã¥é¤Î¾õÂÖ¤¬Ê¬¤«¤é¤Ê¤¤¤Þ¤Þ¡¢¥¥ã¥é¤¬Æ°¤¤¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥¥ã¥é¤Ï¡Ö¶õÃæ¡×¤Ë¤¤¤ë¤Î¤«¡¢¡ÖÃÏÌ̡פˤ¤¤ë¤Î¤«¡¢¤È¤¤¤¦ÀßÄ꤬¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¤Ê¤¤¤¿¤á
¶õÃæ¤Ç¤¢¤Ã¤Æ¤âÌð°õ¥¡¼¤Î¥¡¼ÆþÎϤËÈ¿±þ¤·¤Æ¡¢Áö¤ë¥¢¥Ë¥á¡¼¥·¥ç¥ó¤¬ºÆÀ¸¤µ¤ì¤Æ¤¤¤ë¾õÂ֤ˤʤäƤ¤¤Þ¤¹¡£
¡¡º£²ó¤Ï¤³¤Î²þÁ±°Æ¤È¤·¤Æ¡¢ÃÏÌ̤ˤ¤¤ë¤«¤É¤¦¤«¡¢¤È¤¤¤¦È½Äê¤òÄɲ䷤ơ¢ÃÏÌ̤ˤ¤¤ë¾ì¹ç¡¢ÃÏÌ̤ˤ¤¤Ê¤¤=¶õÃæ¤Ë¤¤¤ë¾ì¹ç¤È¤¤¤¦¾õÂÖ¤òºî¤ê¤À¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡¥¥ã¥é¤Î¸µ¤ÈÃÏÌÌÍѤΥ²¡¼¥à¤ò¥ª¥Ö¥¸¥§¥¯¥È¤Î´Ö¤Ç¤³¤ÎÃÏÌ̤ÎÀÜÃÏȽÄê¤ò¹Ô¤¦¤è¤¦¤Ë¤·¡¢¤³¤ÎÀÜÃÏȽÄ꤬¿¿¤Ê¤é¤ÐÃÏÌ̤ËÀÜÃϤ·¤Æ¤¤¤ë¡¢
ÀÜÃÏȽÄ꤬µ¶¤Ê¤é¤ÐÃÏÌ̤ËÀÜÃϤ·¤Æ¤¤¤Ê¤¤¡á¶õÃæ¤Ë¤¤¤ë¤È¤¤¤¦È½Äê¤ò¹Ô¤¦½èÍý¤òÄɲä·¤Þ¤¹¡£
¡¡¤³¤ÎȽÄê¤Ë¤Ï¡¢Layerµ¡Ç½¤ÈPhysics2D.Linecast¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤³¤È¤Ç¼ÂÁõ¤·¤Þ¤¹¡£
¡¡Layer¡Ê¥ì¥¤¥ä¡¼¡Ë¤È¤Ï¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥°¥ë¡¼¥×ʬ¤±¤¹¤ëµ¡Ç½¤Ç¤¹¡£º£²ó¤ÏÃÏÌÌÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎLayer¤òGround¤È¤¤¤¦Layer¤ËÀßÄꤷ¡¢
¤³¤Î Ground ¤È¤¤¤¦Layer ¤È¥¥ã¥é¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¤¬°ìÄê¤Îµ÷Î¥¤ÇÀÜ¿¨¤·¤Æ¤¤¤ë¾õÂÖ¤ò¡ÖÀÜÃϡפÈȽÄꤹ¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
Layerµ¡Ç½¡¡»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥Þ¥Ë¥å¥¢¥ë
¥ì¥¤¥ä¡¼
https://docs.unity3d.com/ja/2019.4/Manual/Layers.h...
YTTMWORKÍÍ
¥ì¥¤¥ä¡¼
https://yttm-work.jp/unity/unity_0021.html
¡¡Ground ¤ÎLayerÀßÄê¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¥¥ã¥é¤¬ÀÜ¿¨¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤òȽÄꤹ¤ë¥á¥½¥Ã¥É¤È¤·¤Æ¡¢Physics2D.Linecast¥á¥½¥Ã¥É¤òÍøÍѤ·¤Þ¤¹¡£
¡¡¤Þ¤º¤Ï¡¢¥¹¥¿¡¼¥ÈÃÏÅÀ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î Layer ¤ÎÀßÄê¤òÊѹ¹¤·¤Þ¤¹¡£
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Ç Ground_Start ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î±¦¾åÉô¤Ë¤¢¤ë Layer ¤ÎÀßÄê¤ò Default ¤«¤é Ground ¤ËÊѹ¹¤·¤Þ¤¹¡£
Ground_Start ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü(±¦¾å¤ÎLayer¤òÀßÄꤹ¤ë)

¡¡ÀßÄê¤òÊѹ¹¤·¤¿ºÝ¤Ë¡¢¼¡¤Î¤è¤¦¤Ê·Ù¹ðʸ¤¬É½¼¨¤µ¤ì¤¿¤é¡¢Yes,Change Children ¤òÁªÂò¤·¡¢»Ò¥ª¥Ö¥¸¥§¥¯¥È¤Î Layer ¤ÎÀßÄê¤â Ground ¤ËÊѹ¹¤·¤Þ¤¹¡£
¤³¤ì¤Ï¡¢»Ò¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¡¢Æ±¤¸Layer¤ÎÀßÄê¤òÈ¿±Ç¤¹¤ë¤«¤É¤¦¤«¤Î³Îǧ¤Ç¤¹¡£¸í¤Ã¤Æ No ¤òÁªÂò¤·¤¿¾ì¹ç¤Ë¤Ï¡¢»Ò¥ª¥Ö¥¸¥§¥¯¥È¤Î Layer ¤ò¸ÄÊÌ¤Ç Ground ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
LayerÊѹ¹»þ¤Î·Ù¹ðʸ

¡¡Ç°¤Î¤¿¤á¡¢»Ò¥ª¥Ö¥¸¥§¥¯¥È¤ÎLayer ¤ÎÀßÄê¤â³Îǧ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£¤¹¤Ù¤Æ Ground ¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£
Nature_props_15 ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡¤Ç¤Ï¡¢¤³¤ÎÀÜÃÏȽÄê¤Î·ë²Ì¤ò¤É¤Î¤è¤¦¤ËÍøÍѤ·¤Æ¡¢Íî²¼¤ÈÊ⤯¥¢¥Ë¥á¡¼¥·¥ç¥ó¤òÀ©¸æ¤¹¤ë¤«¤Ç¤¹¤¬
¡Ö¥¥ã¥é¤¬¶õÃæ¤Ë¤¤¤ë¾õÂ֤Ǥ¢¤ê¡¢¤«¤Ä¡¢Íî²¼Ãæ¤Ç¤¢¤ë¡×¤È¤¤¤¦£²¤Ä¤Î¾õÂÖ¤òËþ¤¿¤·¤Æ¤¤¤ë¸Â¤ê¡¢Ê⤯¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Ç¤Ï¤Ê¤¯¡¢Íî²¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤¦¤¤¤Ã¤¿¾ò·ï¤Î¹Í¤¨Êý¤Ï¡¢¸½¼ÂŪ¤Ê¹Í¤¨¤ò¸µ¤ËºîÀ®¤·¤¿Êý¤¬¾ò·ï¤È¤·¤Æ¤â¤ï¤«¤ê¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡¥¥ã¥é¤¬¶õÃæ¤Ë¤¤¤ë¾õÂ֤Ȥϡ¢¤¹¤Ê¤ï¤ÁÀÜÃϤ·¤Æ¤¤¤Ê¤¤¾õÂ֤Ǥ¹¤Î¤Ç¡¢isGrounded = false ¤Î¾õÂ֤Ǥ¹¡£
¡¡¤½¤·¤Æ¡¢Íî²¼Ãæ¤È¤¤¤¦¤Î¤Ï¡¢¥¥ã¥é¤ÎRigidbody2D¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î´ÉÍý¤·¤Æ¤¤¤ë¡¢Velocity¤ÎÃͤÇȽÃǤǤ¤Þ¤¹¡£
Velocity¤Ï®Å٥٥¯¥È¥ë¤ÎÃͤǤ¹¤Î¤Ç¡¢¥²¡¼¥à²èÌ̤ËÂФ·¤ÆÍî²¼Ãæ¤È¤¤¤¦¤Î¤Ï¡¢¾å¤«¤é²¼¤Ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È(¥¥ã¥é)¤¬°ÜÆ°¤·¤Æ¤¤¤ë¾õÂÖ¤ÎÃͤǤ¹¡£
¤Ä¤Þ¤ê¡¢Velocity¤ÎY¼´¤ÎÃͤ¬¥Þ¥¤¥Ê¥¹Êý¸þ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾õÂÖ¤¬¡¢¥¥ã¥é¤¬Íî²¼Ãæ¤È¤¤¤¦¾õÂ֤Ǥ¢¤ë¤È¸À¤¨¤Þ¤¹¡£
¡¡¤³¤Î£²¤Ä¤ÎËþ¤¿¤·¤Æ¤¤¤ë´Ö¤Ï¡¢¥¥ã¥é¤Ï¶õÃæ¤Ë¤¤¤Æ¡¢Íî²¼¤·¤Æ¤¤¤ë¾õÂ֤Ǥ¢¤ë¤ÈȽÃǤǤ¤Þ¤¹¤Î¤Ç¡¢¤½¤Î´Ö¤ÏÍî²¼¥¢¥Ë¥á¡¼¥·¥ç¥ó¤òºÆÀ¸¤¹¤ë¤è¤¦¤ËÀ©¸æ¤·¤Þ¤¹¡£
PlayerController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢ÃÏÌ̤ËÃåÃϤ¹¤ë¤Þ¤ÇÍî²¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤òºÆÀ¸¤¹¤ë½èÍý¤òÄɲ乤ë 
¡¡¥¥ã¥é¤¬¤É¤ÎLayer¤ÈÀÜÃϤÎȽÄê¤ò¹Ô¤¦¤«»ØÄꤹ¤ë¤¿¤á¤Ë¡¢¿·¤·¤¯ LayerMask·¿¤Î groundLayerÊÑ¿ô¤òÍÑ°Õ¤·¤Þ¤¹¡£
public ½¤¾þ»Ò¤Ç¤¹¤Î¤Ç¡¢¥¹¥¯¥ê¥×¥È´°À®¸å¤Ë¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤éÀÜÃϤÎÂоݤȤ¹¤ëLayer¤òÀßÄꤷ¤Þ¤¹¡£
¡¡¤Þ¤¿¡¢¤½¤ÎÀÜÃϤÎȽÄꤷ¤¿¾ðÊó¤ò°·¤¦¤¿¤á¤Ë¡¢bool·¿¤Î isGrounded ÊÑ¿ô¤òÍÑ°Õ¤·¤Þ¤¹¡£Layer¤Ë¤è¤ëȽÄê·ë²Ì¤ò¤³¤ÎÊÑ¿ô¤ËÂåÆþ¤·¡¢
¥¥ã¥é¤Î¸½ºß¤Î¾õÂ֤˹ç¤ï¤»¤Æ¡¢ÀÜÃϤ·¤Æ¤¤¤ë¤«¡¢ÀÜÃϤ·¤Æ¤¤¤Ê¤¤¤«¤ò¾ï¤Ë(Upadate¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ)¡¢ true(ÀÜÃÏÃæ)¡¢false(¶õÃæ)¤Ç·ë²Ì¤òÂåÆþ¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
PlayerController.cs
¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¥»¡¼¥Ö¤·¤Þ¤¹¡£Yuko_Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î PlayerController ¤ò³Îǧ¤·¤Þ¤¹¡£
¿·¤·¤¯Äɲä·¤¿ÊÑ¿ô¤Î¾ðÊó¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤òÀßÄꤷ¤Þ¤¹¡£
Yuko_Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î PlayerController¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü¡¡ÀßÄêÁ°

¡¡isGrounded ÊÑ¿ô¤ÎÃͤÏÊѹ¹¤»¤º¤ËÌäÂꤢ¤ê¤Þ¤»¤ó¡£¤³¤ÎÃͤϥ²¡¼¥à¼Â¹ÔÃæ¤ËÃÏÌ̤ȤÎÀÜÃϤξõÂ֤˹ç¤ï¤»¤Æ true¡¢ false ¤¬ÀÚ¤êÂؤï¤ê¤Þ¤¹¡£
ÀßÄ꤬¤¢¤ë¤³¤È¤À¤±³Îǧ¤ò¤·¤Æ¤ª¤¤Þ¤¹¡£
¡¡groundLayer ÊÑ¿ô¤ÎÉôʬ¤Ï¥×¥ë¥À¥¦¥ó¥á¥Ë¥å¡¼¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢½é´üÃÍ¤Ï Nothing ¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ÎÉôʬ¤Ë¡¢Linecast¥á¥½¥Ã¥É¤Ë¤è¤Ã¤ÆȽÄê¤ò¹Ô¤¤¤¿¤¤ Layer ¤ò»ØÄꤷ¤Þ¤¹¤Î¤Ç¡¢ÃÏÌÌÌò¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÀßÄꤷ¤¿ Layer ¤ÈƱ¤¸ Ground ¤òÀßÄꤷ¤Þ¤¹¡£
¤³¤ì¤ÇLinecast¥á¥½¥Ã¥É¤Ï¡¢¤³¤Î Ground ¤ÎLayer ¤ËÂФ·¤ÆȽÄê¤ò¹Ô¤¦¤è¤¦¤ËÀßÄ꤬½ÐÍè¤Þ¤·¤¿¡£
Yuko_Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î PlayerController¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü¡¡ÀßÄê¸å

¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¥¸¥ã¥ó¥×¸å¡¢Íî²¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤¬·Ñ³Ū¤ËºÆÀ¸¤µ¤ì¤ë¤«¤ò³Îǧ¤·¤Æ¤ß¤Þ¤¹¡£
¡¡¶õÃæ¤ò°ÜÆ°Ãæ¤Ç¤âÊ⤯¥¢¥Ë¥á¡¼¥·¥ç¥ó¤¬¤Ê¤¯¤Ê¤ê¡¢ÃÏÌ̤ËÃåÃϤ¹¤ë¤Þ¤Ç¤Ï¡¢¤º¤Ã¤ÈÍî²¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤¬ºÆÀ¸¤µ¤ì¤ì¤ÐÀ®¸ù¤Ç¤¹¡£
¡ã¼Â¹ÔÆ°²è¡ä
https://gyazo.com/8b9926f3d4750329ede8c0f75adb5400
¡¡»ØÄꤷ¤¿ÃÏÅÀ¤«¤éÊ̤ÎÃÏÅÀ¤Þ¤Ç¤Î´Ö¤Ë¸«¤¨¤Ê¤¤Àþ¤ò°ú¤¤¤Æ¡¢¤½¤ÎÀþ¤ÎÃæ¤Ë¾¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥é¥¤¥À¡¼¤¬ÀÜ¿¨¤·¤¿¤«¤É¤¦¤«¤òȽÄꤹ¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
¥³¥é¥¤¥À¡¼¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÀÜ¿¨¤·¤¿¾ì¹ç¤Ë¤Ï true¡¢ÀÜ¿¨¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï false ¤òÌᤷ¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Physics2D.Linecast
https://docs.unity3d.com/ja/current/ScriptReferenc...
¡¡¥µ¥¤¥È¤ò³Îǧ¤¹¤ë¤È¤ï¤«¤ê¤Þ¤¹¤¬¡¢¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ï°ú¿ô¤Î»ØÄê¤Î»ÅÊý¤¬£²¼ïÎढ¤ê¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ë¡¢Æ±¤¸¥á¥½¥Ã¥É¤Ç¤â°Û¤Ê¤ë°ú¿ô¤ò»ý¤Ä¤³¤È¤ò¡¢¥ª¡¼¥Ð¡¼¥í¡¼¥É¤ò»ý¤Ä¥á¥½¥Ã¥É¡¢¤¢¤ë¤¤¤Ï¡¢¥ª¡¼¥Ð¡¼¥í¡¼¥É¡¦¥á¥½¥Ã¥É¤È¤¤¤¤¤Þ¤¹¡£
¡¡º£²ó¤Ï¡¢¥µ¥¤¥È¤Î¾åÃʤˤ¢¤ë°ú¿ô¤Î¥ª¡¼¥Ð¡¼¥í¡¼¥É¤òÍøÍѤ·¤¿¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
RaycastHit2D Linecast (Vector2 start, Vector2 end, int layerMask= DefaultRaycastLayers, float minDepth= -Mathf.Infinity, float maxDepth= Mathf.Infinity)
// ÃÏÌÌÀÜÃÏ Physics2D.Linecast¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¡¢Ground Layer¤È¥¥ã¥é¤Î¥³¥é¥¤¥À¡¼¤È¤¬ÀÜÃϤ·¤Æ¤¤¤ëµ÷Î¥¤«¤É¤¦¤«¤ò³Îǧ¤·¡¢ÀÜÃϤ·¤Æ¤¤¤ë¤Ê¤é true¡¢ÀÜÃϤ·¤Æ¤¤¤Ê¤¤¤Ê¤é false ¤òÌ᤹ isGrounded = Physics2D.Linecast(transform.position + transform.up * 0.4f, transform.position - transform.up * 0.9f, groundLayer);
¡¡¤³¤ÎLinecast¥á¥½¥Ã¥É¤òÍøÍѤ·¡¢¥¥ã¥é¤Î°ÌÃÖ¤«¤é¡¢¥¥ã¥é¤Î¸µ¤Ë¸þ¤±¤Æ¸«¤¨¤Ê¤¤Àþ¤ò°ú¤¤Þ¤¹¡£
¤½¤·¤Æ¡¢¤½¤ÎÀþ¤È Ground ¤ÎÀßÄê¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ÀÜ¿¨¤·¤¿¾ì¹ç¤Ë¤Ï true¤òÌá¤ê¤Þ¤¹¤Î¤Ç¡¢ÀÜÃϤ·¤Æ¤¤¤ë¾õÂ֤Ǥ¢¤ë¤ÈÀßÄꤷ¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
¥²¡¼¥à¤òºîÀ®¤·¤è¤¦ÍÍ
Linecast¤ÎÍøÅÀ¤ÈÌäÂêÅÀ
http://gamemakerlearning.blog.fc2.com/blog-entry-5...
UnityÉÔÄê´üÊØÍÍ
Unity¤Î2D¥²¡¼¥à¤Ç¡ÖÅö¤¿¤êȽÄê¡×¤Î´ðËܤò30ʬ¤ÇÍý²ò¤¹¤ë¥³¥Ä¡ª(¸åÊÔ)
https://0310unity.hateblo.jp/entry/collision_detec...
¡¡¤³¤Îµ¡Ç½¤Ï¡¢Scene¥Ó¥å¡¼¤Ë¤Æµ¡Ç½¤·¤Þ¤¹¡£
¡¡¾åµ¤ÎLinecast¤Î¸«¤¨¤Ê¤¤Àþ¤ò²Ä»ë²½¤¹¤ë¤¿¤á¤ÎDebugµ¡Ç½¤Ç¤¹¡£°ú¿ô¤Ë¤Ï¡¢Linecast¤ÇÀßÄꤷ¤¿ÆâÍƤÈƱ¤¸ÆâÍƤÇÀßÄê¤ò¹Ô¤¦¤³¤È¤Ç
¤É¤Î°ÌÃ֤˥饤¥ó¤¬°ú¤«¤ì¤Æ¤¤¤ë¤Î¤«¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÈÀÜ¿¨¤·¤Æ¤¤¤ë¤Î¤«¤ò³Îǧ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
// Scene¥Ó¥å¡¼¤Ë Physics2D.Linecast¥á¥½¥Ã¥É¤ÎLine¤òɽ¼¨¤¹¤ë Debug.DrawLine(transform.position + transform.up * 0.4f, transform.position - transform.up * 0.9f, Color.red, 1.0f);
Scene¥Ó¥å¡¼¤Ç¤ÎLinecast¤Î²Ä»ë²½(¤³¤³¤Ç¤Ï²Ä»ë²½¤ò¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤è¤¦¤Ë¡¢¼ÂºÝ¤Î¥×¥í¥°¥é¥à¤È¤Ï°ã¤¦¿ôÃͤòÆþ¤ì¤Æ¤¤¤Þ¤¹)

¡¡¥¥ã¥é¤ÎÃæ±û¤«¤é½Ä¤ËÀÖ¤¤Àþ¤¬¸«¤¨¤ë¤È»×¤¤¤Þ¤¹¡£¤³¤ì¤¬Linecast¥á¥½¥Ã¥É¤Î¼Â¹ÔÆâÍƤǤ¢¤ê¡¢¤½¤ì¤ò²Ä»ë²½¤·¤Æ¤¤¤Þ¤¹¡£
ÀÖ¤¤Àþ¤¬ÃÏÌ̤ËÆþ¤ê¤³¤ó¤Ç¤¤¤ë¤Î¤¬¤ï¤«¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢¤³¤ÎÉôʬ¤¬¡ÖÀÜÃϤ·¤Æ¤¤¤ë¡×¤È¤·¤ÆȽÄꤵ¤ì¤Þ¤¹¡£
¡¡¥¥ã¥é¤¬¥¸¥ã¥ó¥×¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÀÖ¤¤Àþ¤¬ÃÏÌ̤«¤éÎ¥¤ì¤Æ¤¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¾ì¹ç¤¬¡ÖÀÜÃϤ·¤Æ¤¤¤Ê¤¤¡×¤È¤·¤ÆȽÄꤵ¤ì¤Þ¤¹¡£
¡ã¸¡¾ÚÆ°²è¡¡¥¥ã¥é¤Î¸µ¤«¤éÀÖ¤¤¥é¥¤¥ó¤¬¸«¤¨¤ë¡£¤³¤ì¤¬Linecast¥á¥½¥Ã¥É¤Î¼Â¹Ô·ë²Ì¡ä
https://gyazo.com/c7741e05c0c227f21fc67241125f5239
¡¡¤³¤Î¤è¤¦¤Ë½èÍý¤ò²Ä»ë²½¤¹¤ë¤³¤È¤Ç¡¢¤É¤Î¤è¤¦¤Ê½èÍý¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤«¤ò³Îǧ¤Ç¤¤Þ¤¹¡£Èó¾ï¤Ë½ÅÍפʤ³¤È¤Ç¤¹¤Î¤Ç¡¢ÀѶËŪ¤ËÍøÍѤ·¤ÆDebug¤òĽ¤ë¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£
»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Debug.DrawLine
https://docs.unity3d.com/ja/current/ScriptReferenc...
¡¡ÃÏÌÌÌò¤Î¥Ö¥í¥Ã¥¯¤Î¥³¥é¥¤¥À¡¼¤Ë Linecast ¥á¥½¥Ã¥É¤Ë¤è¤ë¥é¥¤¥ó¤¬ÀÜ¿¨¤¹¤ë¤³¤È¤Ç¡ÖÀÜÃϡ׾õÂÖ¤òȽÄꤷ¤Æ¤¤¤Þ¤¹¡£
Scene ¥Ó¥å¡¼¤ò³Îǧ¤·¡¢DrawLine ¥á¥½¥Ã¥É¤Ë¤è¤ê¡¢Linecast ¥á¥½¥Ã¥É¤Î½èÍý¤¬ÀÖ¤¤¥é¥¤¥ó¤È¤·¤Æ²Ä»ë²½¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤³¤Î¤È¤¡¢ÀÖ¤¤¥é¥¤¥ó¤¬ÃÏÌ̤Υ֥í¥Ã¥¯¤ËÅþ㤷¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¤½¤ì¤Ï¡ÖÃÏÌ̤ËÀܤ·¤Æ¤¤¤Ê¤¤¡×¾õÂ֤Ȥ·¤ÆȽÄꤵ¤ì¤Æ¤·¤Þ¤¤¡¢
¥¸¥ã¥ó¥×¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤â¥¸¥ã¥ó¥×¤·¤Þ¤»¤ó¡£¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç isGrounded ÊÑ¿ô¤Î¾õÂÖ¤â³Îǧ¤Ç¤¤Þ¤¹¤Î¤Ç¡¢¹ç¤ï¤»¤Æ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¥¸¥ã¥ó¥×¤Ç¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Linecast ¥á¥½¥Ã¥É¤ÎÂè2°ú¿ô¤ËÍøÍѤ·¤Æ¤¤¤ë transform.up ¤Ø¤Î·¸¿ôÃÍ(0.9f)¤ò½¤Àµ¤·¡¢¾¯¤·¤º¤ÄÂ礤ÊÃͤËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
¡¡Î㤨¤Ð²¼µ¤Ç¤Ï 0.9f ¢ª 1.2f ¤ËÊѹ¹¤·¤Æ¤¤¤Þ¤¹¡£
// ÃÏÌÌÀÜÃÏ Physics2D.Linecast¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¡¢Ground Layer¤È¥¥ã¥é¤Î¥³¥é¥¤¥À¡¼¤È¤¬ÀÜÃϤ·¤Æ¤¤¤ëµ÷Î¥¤«¤É¤¦¤«¤ò³Îǧ¤·¡¢ÀÜÃϤ·¤Æ¤¤¤ë¤Ê¤é true¡¢ÀÜÃϤ·¤Æ¤¤¤Ê¤¤¤Ê¤é false ¤òÌ᤹ isGrounded = Physics2D.Linecast(transform.position + transform.up * 0.4f, transform.position - transform.up * 1.2, groundLayer);
¡¡·¸¿ôÃͤòÊѹ¹¤·¤¿¾ì¹ç¤Ë¤Ï¡¢½èÍý¤ÎÆâÍÆ¤È DrawLine ¥á¥½¥Ã¥É¤ÎÆâÍƤò¹ç¤ï¤»¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢
¤³¤Á¤é¤âÂè2°ú¿ô¤ò½¤Àµ¤·¡¢Linecast ¥á¥½¥Ã¥É¤ÈƱ¤¸ÃͤËÀßÄꤷľ¤·¤Æ¤¯¤À¤µ¤¤¡£
// Scene¥Ó¥å¡¼¤Ë Physics2D.Linecast¥á¥½¥Ã¥É¤ÎLine¤òɽ¼¨¤¹¤ë Debug.DrawLine(transform.position + transform.up * 0.4f, transform.position - transform.up * 1.2f, Color.red, 1.0f);
¡¡¤³¤Á¤é¤òÄ´À°¤·¡¢Linecast ¥á¥½¥Ã¥É¤Î½èÍý¤¬¥Ö¥í¥Ã¥¯¤Î¥³¥é¥¤¥À¡¼¤òȽÄꤷ¡¢¡ÖÀÜÃϡפ·¤Æ¤¤¤ë¤³¤È¤òȽÄê¤Ç¤¤ë¾õÂ֤ˤ·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤½¤¦¤¹¤ë¤³¤È¤Ç¥¸¥ã¥ó¥×¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡ÃÏÌ̤òÊ⤤¤Æ¤¤¤ë¤È¡¢ÆÍÁ³¡¢Íî²¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤¬ºÆÀ¸¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£²¿¸Î¤Ç¤·¤ç¤¦¤«¡£
¡¡Íî²¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ÎºÆÀ¸¾ò·ï¤Ï¡¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
// ÀÜÃϤ·¤Æ¤¤¤Ê¤¤(¶õÃæ¤Ë¤¤¤ë)´Ö¤Ç¡¢Íî²¼Ãæ¤Î¾ì¹ç if (isGrounded == false && rb.velocity.y < 0.15f) { // Íî²¼¥¢¥Ë¥á¤ò·«¤êÊÖ¤¹ anim.SetTrigger("Fall"); }
¡¡ËÜÍè¤Ç¤¢¤ì¤ÐÃÏÌ̤ÈÀÜÃϤ·¤Æ¤¤¤ë¸Â¤ê¤Ï¡¢¤³¤Î¾ò·ï¤òËþ¤¿¤¹¤³¤È¤Ï¤Ê¤¤¤Ï¤º¤Ç¤¹¡£
¤½¤ì¤Ë¤â¤«¤«¤ï¤é¤º¡¢Íî²¼¥¢¥Ë¥á¡¼¥·¥ç¥óºÆÀ¸¤¬ºÆÀ¸¤µ¤ì¤Æ¤·¤Þ¤¦¤È¤¤¤¦¤³¤È¤Ï¡¢ÃÏÌ̤ȤÎÀÜÃÏȽÄ꤬¤Ê¤¤¾õÂÖ¤«¤Ä¡¢Velocity¤ÎY¤Î®Å٥٥¯¥È¥ë¤ËÃͤ¬µ¬ÄêÃͤè¤ê¤âÂ礤¤¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¥ã¥é¤ò°ÜÆ°¤µ¤»¤Æ¤¤¤ë¤Î¤Ç¡¢Velocity¤Ë´Ø¤·¤Æ¤Ï®Å٥٥¯¥È¥ë¤ÎÃͤ¬Â礤¯¤Ê¤ë²ÄǽÀ¤Ï¤¢¤ê¤¨¤½¤¦¤Ç¤¹¡£
¤Ç¤¹¤¬¡¢¤³¤Î¾ò·ï¤Ï¡Ö¤«¤Ä¡×¤È¤¤¤¦¾ò·ï¼°¤Ç¤¹¤Î¤Ç¡¢ÊÒÊý¤Î¾ò·ï¤òËþ¤¿¤·¤¿¤À¤±¤Ç¤Ï¾ò·ï¤ò¿¿¤Ç¤¢¤ë¤Èɾ²Á¤·¤Þ¤»¤ó¡£
¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¡¢¤æ¤Ã¤¯¤ê¤È¥¥ã¥é¤ò°ÜÆ°¤µ¤»¤Æ¡¢¥Ö¥í¥Ã¥¯¤È¥Ö¥í¥Ã¥¯¤Î´Ö°Ì¤ò°ÜÆ°¤µ¤»¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¥Ö¥í¥Ã¥¯´Ö¤Î¤Ä¤Ê¤®ÌܤÎÉôʬ¤Ç iSGrounded ¤ÎÃͤ¬ false ¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤¬¸¶°ø¤Ç¤¹¡£
¡ã¸¡¾ÚÆ°²è¡¡isGrounded ¤ÎÃͤ¬ÊѲ½¤·¤Æ¤·¤Þ¤¦°ÌÃÖ¤ò¸«¤Ä¤±¤ë¡ä
https://gyazo.com/b0f4a24caa1093df7a9dc4d1dd27120d
¡¡¥Ö¥í¥Ã¥¯¤Î³°¸«Ä̤ê¤Ëºî¤Ã¤¿¥³¥é¥¤¥À¡¼¤Ï¡¢¥Ö¥í¥Ã¥¯¤Î¤Ä¤Ê¤®ÌܤÎÉôʬ¤Ë¤Ê¤¤¤¿¤á¡¢¤½¤Î·ä´Ö¤ÎÉôʬ¤Ç isGrounded ¤Ë¤è¤ëȽÄ꤬ false ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤
·ë²Ì¤È¤·¤ÆÍî²¼¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Î¾ò·ï¤òËþ¤¿¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¤¿¤á¡¢ÃÏÌ̤òÊ⤤¤Æ¤¤¤ë¤Ë¤â¤«¤«¤ï¤é¤º¡¢Íî²¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤¬ºÆÀ¸¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£
¡¡À޳ѤǤ¹¤¬¡¢¤³¤Î¥Ö¥í¥Ã¥¯¤Ë´Ø¤·¤Æ¤Ï¡¢º¸±¦¤Ë¤À¤±¾¯¤·¥³¥é¥¤¥À¡¼¤ò¹¤²¤Æ¡¢¸«¤¿Ìܾå¤Î·ä´Ö¤¬¤¢¤Ã¤Æ¤â¡¢¥³¥é¥¤¥À¡¼¤Ï¸ºß¤·¤Æ¤¤¤ë¾õÂ֤ˤ·¤Þ¤·¤ç¤¦¡£
Nature_props_15 ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥é¥¤¥À¡¼¤Îº¸±¦¤ÎÉý¤ò¾¯¤·¹¤²¤ë

¡¡¤³¤ì¤ò¥¹¥¿¡¼¥ÈÃÏÅÀ¤Î£´¤Ä¤Î¥Ö¥í¥Ã¥¯¤¹¤Ù¤Æ¤ÇÀßÄꤷ¡¢·ä´Ö¤ÎÉôʬ¤Ë¤â¥³¥é¥¤¥À¡¼¤¬¤¢¤ë¾õÂ֤ˤ·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤Î¾å¤Ç¡¢¤â¤¦°ìÅÙ¡¢¥¥ã¥é¤ò°ÜÆ°¤µ¤»¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¡ã¸¡¾ÚÆ°²è¡¡¥¥ã¥é¤¬°ÜÆ°¤·¤Æ¤â isGrounded ¤ÎÃͤ¬ÊѲ½¤·¤Ê¤¤¤³¤È¤ò³Îǧ¤¹¤ë => Íî²¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Î¸íºÆÀ¸¤¬¤Ê¤¯¤Ê¤ë¡ä
https://gyazo.com/0299052d073520889f6f984d3f195693
¡¡·ä´Ö¤Î¾å¤ò°ÜÆ°¤·¤Æ¤â¡¢isGrounded ¤ÎÃͤ¬ true ¤Î¤Þ¤Þ¤Ë¤Ê¤ê¤Þ¤·¤¿¤Î¤Ç¡¢Íî²¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Î¸íºÆÀ¸¤¬²þÁ±¤µ¤ì¤Þ¤·¤¿¡£
¡¡¤³¤Î¤è¤¦¤Ë¡¢¥¨¥é¡¼¤äÉÔ¶ñ¹ç¤Ï¡¢½çÈ֤˸¶°ø¤òõ¤·¤Æ¤¤¤¯¤³¤È¤ÇÆÃÄê¤Ç¤¤Þ¤¹¡£¤½¤·¤Æ²þÁ±°Æ¤ò¹Í¤¨¤Æ½¤Àµ¤ò¹Ô¤¤¤Þ¤·¤ç¤¦¡£
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡¼¡¤Ï¡¡¼ê½ç£¸¡¡¡Ý¥¥ã¥é¤Î°ÜÆ°ÈϰϤÎÀ©¸æ¡Ý¡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯