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

¡¡°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£

¼ê½ç£´¡¡¡Ý¼êµå¤ÎµóÆ°À©¸æ¤ò¼ÂÁõ¡Ý
¡¡£·¡¥PhysicsMaterial2D¤òºîÀ®¤·¤Æ¡¢¼êµå¤ÈÊɤËȿȯÀßÄê¤ò¤¹¤ë
¡¡£¸¡¥¼êµåÍÑ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë¡ÊȿȯÀßÄê¤ò¤·¡¢¼êµå¤¬ÊɤËÀÜ¿¨¤·¤ÆÄ·¤ÍÊÖ¤ë¡Ë



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

¡¦PhysicsMaterial2D¤ÎºîÀ®ÊýË¡¤ÈÍøÍÑÊýË¡
¡¦Vector2.Reflect¥á¥½¥Ã¥É



£·¡¥PhysicsMaterial2D¤òºîÀ®¤·¤Æ¡¢¼êµå¤ÈÊɤËȿȯÀßÄê¤ò¤¹¤ë


¡¡Unity¤ÎʪÍý±é»»¤Îµ¡Ç½¤Î£±¤Ä¤Ë Physics Material 2D ¤È¤¤¤¦¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Îµ¡Ç½¤òÍøÍѤ¹¤ë¤³¤È¤Ç¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈƱ»Î¤Î¾×ÆÍ»þ¤ÎË໤¤äÃÆÀ­¤òÄ´À°¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

PhysicsMaterial2D
Unity¸ø¼°¥Þ¥Ë¥å¥¢¥ë
Physics Material 2D
https://docs.unity3d.com/ja/2019.4/Manual/class-Ph...


PhysicsMaterial2D¤òºîÀ®¤¹¤ë


¡¡ProjectÆâ¤Ç±¦¥¯¥ê¥Ã¥¯¤·¤Æ¥á¥Ë¥å¡¼¤òɽ¼¨¤·¡¢Create => Physics Material 2D ¤ÇºîÀ®¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡Ê¤¢¤ë¤¤¤Ï¡¢¥¢¥»¥Ã¥È¥á¥Ë¥å¡¼ (Assets => Create => Physics Material 2D ) ¤Ç¤âºîÀ®¤Ç¤­¤Þ¤¹¡£¡Ë

¡¡Ì¾Á°¤Ï Bound ¤ËÊѹ¹¤·¤Þ¤¹¡£¥Õ¥©¥ë¥À¤òºîÀ®¤·¤Æ¤½¤ÎÃæ¤Ç Bound ¤ò´ÉÍý¤ò¤·¤Æ¤â¤è¤¤¤Ç¤¹¡£

¡¡


PhysicsMaterial2D¤ÎÆâÍƤòÀßÄꤹ¤ë


¡¡Bound¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢²¼µ­¤Î²èÁü¤Î¤è¤¦¤ËÀßÄê¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£


Bound(PhysicsMaterial2D)¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡Friction¤Ï¡¢¥³¥é¥¤¥À¡¼¤ÎË໤·¸¿ô¤Ç¤¹¡£Ãͤ¬ 0 ¤Î¤È¤­¤ÏË໤¤¬¤Þ¤Ã¤¿¤¯È¯À¸¤»¤º¡¢Â礭¤¤¤Û¤ÉË໤¤¬¤«¤«¤ê¡¢¥¨¥Í¥ë¥®¡¼¤¬¼º¤ï¤ì¤ÆÄä»ß¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡Bounciness¤Ï¡¢¾×ÆÍ»þ¤ÎɽÌ̤«¤éÃƤà¤È¤­¤Î¶¯¤µ¤Ç¤¹¡£Ãͤ¬ 0 ¤Î¾ì¹ç¤Ï¤Þ¤Ã¤¿¤¯ÃƤޤº¡¢Ãͤ¬ 1 ¤Î¾ì¹ç¤Ï¥¨¥Í¥ë¥®¡¼Â»¼º¤Ê¤¯ÃƤߤޤ¹¡£


¡¡¤³¤ì¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£Â³¤¤¤Æ¤³¤Î Bound ¤ò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÀßÄꤷ¤Þ¤¹¡£


PhysicsMaterial2D¤ò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÀßÄꤹ¤ë


¡¡
PhysicsMaterial2D¤ÎÀßÄê¾ì½ê¤Ï¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë Collider ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹¡£

¡¡¤Þ¤º¤Ï CharaBall ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
CapsuleCollider2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î Material Íó¤Ë¡¢Bound ¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¤³¤ì¤ÇÀßÄꤵ¤ì¤Þ¤·¤¿¡£


CharaBall¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡Â³¤¤¤Æ¡¢£´¤Ä¤ÎÊÉ(Wall ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È)¤Ë¤âƱ¤¸¤è¤¦¤Ë Bound ¤òÀßÄꤷ¤Þ¤¹¡£³ÆÊÉ¤Ë¤Ï BoxCollier2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç
¤³¤Á¤é¤Î Material Íó¤Ë Bound ¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£

¡¡Æ±¤¸¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ë¥¢¥µ¥¤¥ó¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥Ò¥¨¥é¥ë¥­¡¼¾å¤ÇÊ£¿ôÁªÂò¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢°ì³ç¤Ç¤Î¥¢¥µ¥¤¥ó¤¬²Äǽ¤Ç¤¹¡£


Æ°²è¡¡Ê£¿ô¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËƱ¤¸¥¢¥µ¥¤¥ó¾ðÊó¤ÎÀßÄê¤ò¹Ô¤¦¾ì¹ç
https://gyazo.com/61a99edfe8ac398e3aaa86e0204b3780


³Æ Wall ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

Wall_Left¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È



Wall_Right¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È



Wall_Top¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È



Wall_Bottom¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È


¡¡
¡¡¤³¤ì¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£


£¸¡¥¼êµåÍÑ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë¡ÊȿȯÀßÄê¤ò¤·¡¢¼êµå¤¬ÊɤËÀÜ¿¨¤·¤ÆÄ·¤ÍÊÖ¤ë¡Ë


¡¡¡Ú£·¡Û¤Î¼ê½ç¤Ç¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈƱ»Î¤ÎȿȯÀßÄ꤬´°Î»¤·¤Þ¤·¤¿¤Î¤Ç¡¢¼¡¤Ï¡¢¼êµå¤Î¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Þ¤¹¡£
ȿȯÀßÄê¤ò¤·¤Æ¤¢¤ë¤«¤é¤È¤¤¤Ã¤Æ¼«Æ°Åª¤ËÄ·¤ÍÊÖ¤ë¤è¤¦¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£

¡¡¸½ºß¤Î¼êµå¤Î®ÅÙ¤òÊÝ»ý¤¹¤ë¤¿¤á¤ÎÊÑ¿ô¤ò£±¤ÄÄɲä·¤Þ¤¹¡£¤³¤Î¾ðÊó¤ò»È¤Ã¤Æ¡¢ÊɤËÀÜ¿¨¤·¤¿ºÝ¤Î³ÑÅ٤η׻»¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡¤Þ¤¿OnCollisionEnter2D¥á¥½¥Ã¥É¤ò»È¤Ã¤ÆÊɤÈÀÜ¿¨¤·¤¿¾ì¹ç¤Ë¡¢Êɤȼêµå¤Î®ÅÙ¡¦³ÑÅ٤˱þ¤¸¤ÆÄ·¤ÍÊÖ¤ë·×»»½èÍý½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£


CharaBall.cs

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



¡ãVector2.Reflect¥á¥½¥Ã¥É¡ä


¡¡Ë¡Àþ¤ò´ð½à¤Ë¤·¤¿È¿¼Í¥Ù¥¯¥È¥ë¤ò¼èÆÀ¤Ç¤­¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£

¡¡Vector2 Reflect (Vector2 inDirection, Vector2 inNormal)

¡¡Âè1°ú¿ô¤Î inDirection ¤Ï¸½ºß¤Î¿Ê¹Ô¥Ù¥¯¥È¥ë¤Ç¤¹¡£¼êµå¤ÎÊý¸þ¤È®Å٤Ǥ¹¡£
¡¡Âè2°ú¿ô¤Î inNormal ¤ÏË¡Àþ¥Ù¥¯¥È¥ë¡ÊÌÌ(¤³¤³¤Ç¤ÏÊÉ)¤ËÂФ·¤Æ¿âľÊý¸þ¤Î¥Ù¥¯¥È¥ë¡Ë¤Ç¤¹¡£

¡¡¤³¤Î£²¤Ä¤ÎÃͤòÅϤ·¤¿·ë²Ì¤¬È¿¼Í¥Ù¥¯¥È¥ë¡ÊÄ·¤ÍÊÖ¤êÍѤΥ٥¯¥È¥ë¡Ë¤È¤Ê¤Ã¤Æ Vector2 ·¿¤ÎÃͤȤ·¤ÆÌᤵ¤ì¤Þ¤¹¡£
¼Ð¤áÊý¸þ¤«¤é¼êµå¤¬ÊɤËÀÜ¿¨¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤ÎÈ¿¼ÍÊý¸þ¤ò·×»»¤·¤Æ¡¢Ä·¤ÍÊ֤餻¤Æ¤¯¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¤Þ¤¿¤³¤Î·×»»¤ò¹Ô¤¦¤¿¤á¤Ë¡¢¿·¤·¤¤ procVelocity ÊÑ¿ô¤ÎÀë¸À¤ò¤·¤Æ¤¤¤Þ¤¹¡£

  private Vector2 procVelocity = Vector2.zero;¡¡¡¡¡¡// Velocity·×»»ÊÝ»ýÍÑ


¡¡// Ä·¤ÍÊÖ¤êÍѤΥ٥¯¥È¥ë(È¿¼Í³ÑÅÙ)¤òReflect¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ·×»»(Âè1°ú¿ô¤Ç¥Ü¡¼¥ë¤ÎÊý¸þ¤È®ÅÙ¡¢Âè2°ú¿ô¤ÏÊɤ˿⾤Êñ°Ì¥Ù¥¯¥È¥ë)
¡¡Vector2 reflectVector = Vector2.Reflect(procVelocity, normalVector);

¡¡// ¼¡¤Î®Å٤η׻»ÍѤËVelocity¤ÎÃͤòÊÝ»ý¤·¤Æ¤ª¤¯
  procVelocity = rb.velocity;


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


¿Þ²ò¤¬¤¢¤ê¡¢¤ï¤«¤ê¤ä¤¹¤¤ÀâÌÀ¤¬ºÜ¤Ã¤Æ¤¤¤Þ¤¹
stackoverrun
Unity - Vector2.Reflect¡Ê¡Ë¤Î»È¤¤Êý
https://stackoverrun.com/ja/q/11321749


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


¡¡¼êµåÍѤÎCharaBall¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤·¤Þ¤¹¡£

¡¡¥²¡¼¥à¼Â¹Ô¤ÈƱ»þ¤ËÆ°¤­½Ð¤·¤¿¼êµå¤¬ÊɤËÀÜ¿¨¤¹¤ë¤È¡¢È¿È¯ÀßÄê¤ÈÄ·¤ÍÊÖ¤ê¤Î½èÍý¤Ë¤è¤Ã¤Æ¼«Á³¤ÊÊý¸þ¤ËÄ·¤ÍÊÖ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£


¸¡¾ÚÆ°²è¡¡¼êµå¤¬ÊɤËÀÜ¿¨¤·¤¿ºÝ¤ËÄ·¤ÍÊÖ¤ë
https://gyazo.com/094cdc9e58a52b528bd3ade5b115040c


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

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


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

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

Menu


´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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