ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2021ǯ12·î30Æü(ÌÚ) 23:56:05ÍúÎò
¤³¤Îµ¡Ç½¤Ï Unity ¤Î»ý¤Ä LineRenderer ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Îµ¡Ç½¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
¡¡°ÜÆ°·ÐÏ©¤Îɽ¼¨Ãæ¤Ë¤ÏŨ¤¬°ÜÆ°¤ò³«»Ï¤·¤Ê¤¤¤è¤¦¤ËÀ©¸æ½èÍý¤ò²Ã¤¨¤ë¤³¤È¤âɬÍפˤʤê¤Þ¤¹¡£
Ũ¤ÎÀ¸À®¢ª·ÐÏ©ÍѤΥ饤¥ó¤ÎÀ¸À®¢ª¥é¥¤¥ó¤Îºï½ü¢ªÅ¨¤Î°ÜÆ°³«»Ï¡¢¤È¤¤¤¦Î®¤ì¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢
¤³¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¡¢¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¼ÂÁõ¤¬¤Ç¤¤ë¤Î¤«¡¢À߷פò¾ÜºÙ¤ËÎý¤ë¤³¤È¤¬ÂçÀڤǤ¹¡£
¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¡¡°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤¤Þ¤¹¡£
¼ê½ç£±£´¡¡¡¼Å¨¥¥ã¥é¤Î·Ðϩɽ¼¨¤Î¼«Æ°À¸À®½èÍý¤Î¼ÂÁõ¡¼
£²£´¡¥·ÐÏ©ÍѤΠPathLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë £²£µ¡¥·ÐÏ©¤Ë¹ç¤ï¤»¤Æ¼«Æ°Åª¤Ë PathLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë
¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¡¡¡¦¥Þ¥Æ¥ê¥¢¥ë¤ÎºîÀ® ¡¡¡¦LineRenderer ¥³¥ó¥Ý¡¼¥Í¥ó¥È ¡¡¡¦Tween.Pause ¥á¥½¥Ã¥É ¡¡¡¦Tween.Play ¥á¥½¥Ã¥É ¡¡¡¦List¤Î»È¤¤Êý¡¡¡¡¼Add ¥á¥½¥Ã¥É¡¼ ¡¡¡¦yield return StartCoroutine ¥á¥½¥Ã¥É¤Ë¤è¤ëÂÔµ¡½èÍý
¡¡·ÐÏ©ÍѤÎɽ¼¨¡¢¤È¤¤¤Ã¤Æ¤â¡¢¤½¤ì¤Ï¥²¡¼¥à²èÌ̤Ǥߤ¿¾ì¹ç¤ÎÆ°¤¤Ç¤¹¡£
¤½¤ì¤ò¼ÂºÝ¤Ë¥²¡¼¥à¤Î½èÍý¡¢¥í¥¸¥Ã¥¯¤È¤·¤Æ¤É¤Î¤è¤¦¤Ë¹Í¤¨¤Æ¼ÂÁõ¤·¤Æ¤¤¤±¤Ð¤è¤¤¤Î¤«¤ò¸¡Æ¤¤·¤Þ¤¹¡£
¡¡¤³¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤ëºî¶È¤¬Èó¾ï¤ËÂçÊѤʤΤǤ¹¤¬¡¢¤³¤ì¤¬¥×¥í¥°¥é¥à¤ò¹Ô¤¦¥¨¥ó¥¸¥Ë¥¢¤Ëµá¤á¤é¤ì¤ë¥¹¥¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£
¥×¥í¥°¥é¥Þ¡¼¤È¤Ï¡¢¼«Ê¬¤Î¹Í¤¨¤é¤ì¤ë°ú¤½Ð¤·¤ÎÃ椫¤éºÇŬ²ò¤òƳ¤¤À¤·¤Æ¤½¤ì¤ò¥í¥¸¥Ã¥¯¤È¤·¤ÆÀ߷פ·¡¢¥²¡¼¥àÆâ¤Ë¼ÂÁõ¤¹¤ë¤³¤È¤¬¿¦Ì³¤Ë¤Ê¤ê¤Þ¤¹¡£
Èó¾ï¤Ë¥¯¥ê¥¨¥¤¥Æ¥£¥Ö¤«¤Ä¡¢ÏÀÍýŪ¤Ê¹Í¤¨¤òµá¤á¤é¤ì¤Þ¤¹¤Î¤Ç¡¢¶µºà¤òÄ̤¸¤Æ¥í¥¸¥«¥ë¤Ê»×¹Í¡¢È¯ÁÛ¡¢¹Í¤¨Êý¤ò¿È¤Ë¤Ä¤±¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£
¡¡
¡¡º£²ó¤Î¾ì¹ç¤Ï¡¢·ÐÏ©¤ÎÌð°õ¤ò£±¤Ä¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤ÆºîÀ®¤¹¤ëÀ߷פò¸¡Æ¤¤·¤Þ¤¹¡£
¤½¤ì¤òÊ£¿ôÀ¸À®¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¹¥¿¡¼¥ÈÃÏÅÀ¤«¤é¥´¡¼¥ëÃÏÅÀ¤Þ¤Ç¤Î·ÐÏ©¤ò¤Ê¤¾¤ë¤è¤¦¤Ê±é½Ð¤Ë¤·¤Þ¤¹¡£
¡¡Ìð°õ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë PathLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¡¢Effects => Line ¤òÁªÂò¤·¤Þ¤¹¡£
LineRenderer ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò PathLine ¤ËÊѹ¹¤·¤Þ¤¹¡£
¥Ò¥¨¥é¥ë¥¡¼²èÁü

¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï´°À®¤Ç¤¹¡£
¡¡·Ðϩɽ¼¨ÍѤÎÁǺà¤òÍÑ°Õ¤·¤Þ¤¹¡£Ìð°õ¤Î²èÁü¤ò̵ÎÁ¥µ¥¤¥È¤Ê¤É¤«¤éõ¤·¤Æ¡¢Unity ¤Ø¥¤¥ó¥Ý¡¼¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
TextureType ¤Ï Sprite ¤ËÊѹ¹¤·¤Æ¤ª¤¤Þ¤¹¡£ÇطʤòÆ©²á¤·¤ÆÍøÍѤ·¤¿¤¤¤Î¤Ç¡¢²èÁü¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤Ï png ¥Õ¥¡¥¤¥ë¤Î¤â¤Î¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡Â³¤¤¤Æ¡¢¿·¤·¤¯¥Þ¥Æ¥ê¥¢¥ë¤ò£±¤ÄºîÀ®¤·¤Þ¤¹¡£
Project Æâ¡¢¤¢¤ë¤¤¤ÏǤ°Õ¤Î¥Õ¥©¥ë¥ÀÆâ¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¡¢Create => Material ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
̾Á°¤Ï PathArrow ¤ËÊѹ¹¤·¤Þ¤¹¡£
¡¡Shader ¤ÎÀßÄê¤ò LegacyShagers / Particles / Additive ¤ËÊѹ¹¤·¤Þ¤¹¡£
²èÁü¥Õ¥¡¥¤¥ë¤òÀßÄê¤Ç¤¤ë¹àÌܤ¬É½¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Àè¤Û¤É¥¤¥ó¥Ý¡¼¥È¤·¤¿Ìð°õ¤Î²èÁü¥Õ¥¡¥¤¥ë¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ç²èÁü¤òÍøÍѤ·¤¿¥Þ¥Æ¥ê¥¢¥ë¤¬½ÐÍè¾å¤¬¤ê¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡°Ê¾å¤Ç¥Þ¥Æ¥ê¥¢¥ë¤Ï´°À®¤Ç¤¹¡£
¡¡PathLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î LineRenderer ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¤³¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÏľÀþ¤Î²èÁü¤òÉÁ²è¤¹¤ëµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤òÍøÍѤ·¤ÆÌð°õ¤Î²èÁü¤òÉÁ²è¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡Materials ¤Î Element 1 ¤Ë Default-Line ¤¬¥¢¥µ¥¤¥ó¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤ÎÉôʬ¤ËÀè¤Û¤ÉºîÀ®¤·¤¿ PathArrow ¥Þ¥Æ¥ê¥¢¥ë¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡Â³¤¤¤Æ¡¢Additional Settings ¤Î Sorting Layer ¤ò Chara ¤ËÀßÄꤷ¤Þ¤¹¡£¤³¤ì¤ÇÇطʤΠTileMap ¤è¤ê¤âÍ¥Àè½ç°Ì¤¬¹â¤¯¤Ê¤ê²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£
¡¡Line Renderer (¥é¥¤¥ó¥ì¥ó¥À¥é¡¼) ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¡¢¶õ´Ö¤Î£²¤Ä°Ê¾å¤ÎÅÀ¤ÎÇÛÎó¤ò¤È¤ë¤³¤È¤Ç¡¢¤½¤ì¤¾¤ì¤Î´Ö¤ËľÀþ¤òÉÁ¤¤Þ¤¹¡£
¸ø¼°¥µ¥¤¥È¤Ë¤Ï £³£Ä ¤È¤¢¤ê¤Þ¤¹¤¬¡¢£²£Ä¤Ç¤â±þ¤·¤Æ³èÍѤ·¤Æ¤¤¤¯¤³¤È¤¬²Äǽ¤Ç¤¹¡£
»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥Þ¥Ë¥å¥¢¥ë
LineRenderer
https://docs.unity3d.com/ja/current/Manual/class-L...
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
LineRenderer
https://docs.unity3d.com/jp/current/ScriptReferenc...
¡¡º£²ó¼ÂÁõ¤·¤Æ¤¤¤ëÊÑ¿ô¤ä¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Þ¤È¤á¤Æ¤ª¤¤Þ¤¹¡£
ɬ¤º¼«Ê¬¤Ç¤âÄ´¤Ù¤Æ¡¢¼«Ê¬¤ÎÃμ±¤È¤·¤ÆµÛ¼ý¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¡¡LineRenderer ¤ÇÉÁ²è¤¹¤ë¥é¥¤¥ó¤ÎÉý¤Î¥¹¥¿¡¼¥È¤Î¥µ¥¤¥º¤òÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤¤ëÊÑ¿ô¤Ç¤¹¡£
»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
LineRenderer.startWidth
https://docs.unity3d.com/jp/current/ScriptReferenc...
¡¡LineRenderer ¤ÇÉÁ²è¤¹¤ë¥é¥¤¥ó¤ÎÉý¤ÎºÇ¸å¤Î¥µ¥¤¥º¤òÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤¤ëÊÑ¿ô¤Ç¤¹¡£
»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
LineRenderer.endWidth
https://docs.unity3d.com/jp/current/ScriptReferenc...
¡¡¤³¤ì¤é¤Î¾¤Ë¤â¡¢¿§¤òÊѹ¹¤¹¤ëÊÑ¿ô¤ä¡¢¶ÊÀþ¤òÉÁ¤¯¤¿¤á¤ÎÊÑ¿ô¤Ê¤É¤âÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡LineRenderer ¤ÇÉÁ²è¤¹¤ë¥é¥¤¥ó¤ÎĺÅÀ¿ô¤òÀßÄꤷ¤¿¤ê¡¢»²¾È¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤¤ëÊÑ¿ô¤Ç¤¹¡£
// À¸À®¤¹¤ë¥é¥¤¥ó¤ÎĺÅÀ¿ô¤òÀßÄê(º£²ó¤Ï»ÏÅÀ¤È½ªÅÀ¤ò£±¤Ä¤º¤Ä) lineRenderer.positionCount = drawPaths.Length;
¡¡º£²ó¤ÏÂåÆþ½èÍý¤ò¹Ô¤¤¡¢ÄºÅÀ¿ô¤ÎÀßÄê¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£drawPaths.Length ¤ÎÃÍ¤Ï 2 ¤Ç¤¹¤Î¤Ç¡¢¥é¥¤¥ó¤òÀ¸À®¤¹¤ë¤¿¤á¤ÎĺÅÀ¿ô¤ò 2 ¤ËÀßÄꤷ¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢»ÏÅÀ¤È½ªÅÀ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î£²¤Ä¤ÎĺÅÀ¤ò·ë¤Ö¤³¤È¤Ç¥é¥¤¥ó¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤³¤Ç¤Ï¤½¤Î¤¿¤á¤Î½àÈ÷¤ò¤·¤Æ¤¤¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
LineRenderer.positionCount
https://docs.unity3d.com/jp/current/ScriptReferenc...
¡¡¥é¥¤¥ó¤ÎĺÅÀ¤Î°ÌÃÖ¤ò¤¹¤Ù¤ÆÀßÄꤹ¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£¤³¤Î½èÍý¤Ë¤è¤Ã¤ÆÉÁ²è½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
SetPosition ¥á¥½¥Ã¥É¤È¤¤¤¦½èÍý¤âÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥ê¥Õ¥¡¥ì¥ó¥¹¤Ë¤â¤¢¤ë¤è¤¦¤Ë¡¢Ê£¿ô¤Î¥é¥¤¥ó¤òÉÁ²è¤¹¤ë¾ì¹ç¤Ë¤Ï¤³¤Á¤é¤Î½èÍý¤ÎÍøÍѤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
lineRenderer.SetPositions(drawPaths);
»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
LineRenderer.SetPositions
https://docs.unity3d.com/jp/current/ScriptReferenc...
¡¡¤½¤Î¤Û¤«¤Î³èÍÑ»öÎã¤ò¾Ò²ð¤·¤Æ¤¤¤ë¥µ¥¤¥È¤â¤¿¤¯¤µ¤ó¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¼«Ê¬¤Ç¤â¸¡º÷¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
»²¹Í¥µ¥¤¥È
¤Ï¤Ê¤Á¤ë¤Î¥Þ¥¤¥Î¡¼¥È ÍÍ
¡ÚUnity¡ÛLineRenderer¤ò¥¹¥¯¥ê¥×¥È¤«¤é¼«Í³¼«ºß¤ËÁà¤ë
https://www.hanachiru-blog.com/entry/2020/10/05/12...
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ë PathLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¡¢ºîÀ®¤·¤¿ DrawPathLine ¥¹¥¯¥ê¥×¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¥¢¥¿¥Ã¥Á¤·¤¿ºÝ¤Ë¤Ïɬ¤ºÂоݤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Æ¡¢¥¢¥¿¥Ã¥Á¤Ç¤¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Þ¤¹¡£
¡¡DrawPathLine ¥¹¥¯¥ê¥×¥È¤Ë¤ÏÀßÄê¹àÌܤϣ²¤«½ê¤¢¤ê¤Þ¤¹¤¬¡¢¥¹¥¯¥ê¥×¥ÈÆâ¤Ç½é´üÃͤòÀßÄꤷ¤Æ¤¤¤ë¤¿¤á¡¢ÆäËÀßÄꤷ¤Ê¤¯¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¤³¤ÎÃͤϡ¢¼ÂºÝ¤ËÌð°õ¤ÎÉÁ²è¤¬¹Ô¤ï¤ì¤¿ºÝ¤ËÄ´À°¤¹¤ëÉôʬ¤Ç¤¹¡£¼«Ê¬¤ÎÍÑ°Õ¤·¤¿²èÁü¤È¤Î·ó¤Í¹ç¤¤¤ÇŬµ¹Êѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤·¡¢PathLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï´°À®¤Ç¤¹¡£
¡¡´°À®¤·¤¿ PathLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤Þ¤¹¡£
¡¡Prefabs ¥Õ¥©¥ë¥À¤Ø¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¥×¥ì¥Õ¥¡¥Ö¤Ë¤Ê¤Ã¤¿¤é¡¢¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ë PathLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ïºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡£±¤Ä¤Î¥é¥¤¥ó¤òºîÀ®¤·¤Æ¡¢¶Ê¤¬¤ê³Ñ¤òÍÑ°Õ¤·¤ÆÀ¸À®¤¹¤ëÊýË¡¤È¡¢Ê£¿ô¤ÎľÀþ¤Î¥é¥¤¥ó¤òºîÀ®¤·¤Æ¡¢¤½¤ì¤ò¤Ä¤Ê¤²¤Æ¤¤¤¯ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
£±¤Ä¤Î¥é¥¤¥ó¤ÇºîÀ®¤ò¤¹¤ë¤È¡¢²èÁü¤¬¿¤Ó¤Æ¤·¤Þ¤¦¤¿¤á¡¢º£²ó¤ÏÊ£¿ô¤ÎľÀþ¤Î¥é¥¤¥ó¤òºîÀ®¤¹¤ëÊýË¡¤Ç¼ÂÁõ¤ò¸¡Æ¤¤·¤Þ¤¹¡£
¥Ò¥¨¥é¥ë¥¡¼²èÁü

Scene¥Ó¥å¡¼¤ÈGame¥Ó¥å¡¼²èÁü

¡¡¥×¥ì¥Õ¥¡¥Ö¤Ë¤·¤¿ PathLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥³¡¼¥Ê¡¼¤Î¤¿¤Ó¤ËÀ¸À®¤·¡¢Ê£¿ô¤Î¥é¥¤¥ó¤òºî¤Ã¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£
º£²ó¤Ï¤³¤Î¥é¥¤¥ó¤ÎÀ¸À®½èÍý¤È¡¢PathTranSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÜÆ°·ÐÏ©¤Î¾ðÊó¤È¤òϢư¤µ¤»¤Æ¡¢£Á ¤Î°ÌÃÖ¤«¤é £Â ¤Î°ÌÃ֤ޤǤò£±¤Ä¤Î¥é¥¤¥ó¤È¤·¤Æ¡¢¤½¤ì¤ò·ÐÏ©¤Î½çÈÖ¤´¤È¤ËÀ¸À®½èÍý¤¹¤ëµ¡Ç½¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¤³¤Î½èÍý¤Ï PathTranSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë PathData ¥¹¥¯¥ê¥×¥È¤Î°ÜÆ°·ÐÏ©¤Î¾ðÊó¤Ç¤¢¤ë PathTranArray ÊÑ¿ô¤¬ÇÛÎó¤Ç´ÉÍý¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢¤½¤ì¤ò¾å¼ê¤¯ÁȤ߹礻¤Æ¥í¥¸¥Ã¥¯¤òÁȤߤޤ¹¡£
¡¡¶ñÂÎŪ¤Ë¤Ï¡¢StartTran ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃÏÅÀ¤«¤é PathTran ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃÏÅÀ¤Þ¤Ç¤Ë£±¤Ä¤Î¥é¥¤¥ó¤òºîÀ®¤·¤Þ¤¹¡£
¤³¤ì¤Ï PathTranArray ÇÛÎó¤Î Element 0 =>¡¡Element 1 ¤ËÂФ·¤Æ¥é¥¤¥ó¤òºî¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¤½¤ì¤¬´°À®¤·¤¿¤é¡¢¼¡¤Ï¡¢Element 1 => Element 2 ¤ËÂФ·¤Æ¥é¥¤¥ó¤òºîÀ®¤·¤Þ¤¹¡£
¤³¤ì¤òºÇ¸å¤Î¥´¡¼¥ëÃÏÅÀ¤Ë¤Ê¤ë¤Þ¤Ç·«¤êÊÖ¤¹¤³¤È¤Ë¤è¤Ã¤Æ¡¢¾åµ¤Î²èÁü¤Î¤è¤¦¤ËÊ£¿ô¤Î¥é¥¤¥ó¤òºîÀ®¤·¤Æ·Ðϩɽ¼¨¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£
¡ãPathTranArray ÊÑ¿ô¤Î¾ðÊó¤ò³èÍѤ¹¤ë¡ä

¡¡¤³¤Î½èÍý¤Î¼ÂÁõ¤Ë¤Ï¡¢Å¨¥¥ã¥é¤Î°ÜÆ°½èÍý¤Ë¤âÂ礤¯¤«¤«¤ï¤Ã¤Æ¤¤¤Þ¤¹¡£
¤É¤¦¤¤¤¦¤³¤È¤«¤È¤¤¤¦¤È¡¢¥é¥¤¥ó¤Îɽ¼¨¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë´Ö¤Ï¡¢Å¨¥¥ã¥é¤Î°ÜÆ°¤ò°ì»þŪ¤ËÄä»ß¤·¤Æ¤ª¤¯¤è¤¦¤Ë¤·¤Ê¤¤¤È¡¢
¥é¥¤¥ó¤Îɽ¼¨Ãæ¤ËŨ¥¥ã¥é¤¬°ÜÆ°¤ò¤·¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£
¡¡¥¿¥ï¡¼¥Ç¥£¥Õ¥§¥ó¥¹¥²¡¼¥à¤Ç¤Ï»öÁ°¤ËŨ¤Î°ÜÆ°·ÐÏ©¤Î¾ðÊó¤ò¥×¥ì¥¤¥ä¡¼¤ËÄ󶡤·¡¢¤½¤ì¤ò¸µ¤Ë¥×¥ì¥¤¥ä¡¼¤Ï¹Í¤¨¤ë»þ´Ö¤òºî¤ê¤Þ¤¹¡£
¤½¤Î¸å¤ËŨ¥¥ã¥é¤¬¼ÂºÝ¤Ë°ÜÆ°¤ò³«»Ï¤¹¤ë¤È¤¤¤¦Î®¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤ì¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¥é¥¤¥ó¤ÎÀ¸À®½èÍý¤À¤±¤Ç¤Ï¤Ê¤¯¡¢
Ũ¥¥ã¥é¤Î°ÜÆ°¤ÎÀ©¸æ½èÍý¤â°ì½ï¤Ë¼ÂÁõ¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¡¡¼ÂºÝ¤Î¥é¥¤¥ó¤ÎÀ¸À®½èÍý¤Ë¤Ä¤¤¤Æ¤Ï¡¢Å¨¤òÀ¸À®¤¹¤ëµ¡Ç½¤ò»ý¤Ä¥¹¥¯¥ê¥×¥È¤ÇÀ©¸æ¤¹¤ëÊýË¡¤È¡¢³ÆŨ¥¥ã¥é¤´¤È¥é¥¤¥ó¤òÀ¸À®¤¹¤ëÊýË¡¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£
º£²ó¤ÏŨ¤òÀ¸À®¤¹¤ë EnemyGenerator ¥¹¥¯¥ê¥×¥È¦¤Ç¥é¥¤¥ó¤òÀ¸À®¤¹¤ë¤è¤¦¤ËÀ߷פ·¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¥é¥¤¥óÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥×¥ì¥Õ¥¡¥Ö¤È¤·¤ÆÅÐÏ¿¤¹¤ë¤³¤È¤ò¹Í¤¨¤Æ¤Î¤³¤È¤Ç¤¹¡£
EnemyGenerator ¥¹¥¯¥ê¥×¥È¤Ç¤¢¤ì¤Ð£±¤ÄÅÐÏ¿¤¹¤ì¤ÐºÑ¤ß¤Þ¤¹¤¬¡¢Å¨¥¥ã¥é¤ËÀßÄꤹ¤ë¤È¤Ê¤ë¤È¡¢¤¹¤Ù¤Æ¤ÎŨ¥¥ã¥é¤´¤È¤Ë¥é¥¤¥óÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤òÅÐÏ¿¤¹¤ëɬÍפ¬À¸¤Þ¤ì¤Þ¤¹¡£
10ÂΤ¤¤ì¤Ð¡¢10²ó¥¢¥µ¥¤¥ó¤¬É¬ÍפǤ¹¡£¤â¤·¤â¥¢¥µ¥¤¥óϳ¤ì¤¬¤¢¤ì¤Ð¥²¡¼¥à¤¬Ää»ß¤·¤Æ¤·¤Þ¤¦¶²¤ì¤â¤¢¤ê¤Þ¤¹¡£
¡¡¤½¤¦¤¤¤Ã¤¿´ÑÅÀ¤«¤é¹Í¤¨¤Æ¡¢º£²ó¤Ï£±²ó¤Î¥¢¥µ¥¤¥ó¤ÇºÑ¤à¤è¤¦¤Ë EnemyGenerator ¥¹¥¯¥ê¥×¥ÈÆâ¤Ç¡¢Å¨¤ÎÀ¸À®¤Ë¹ç¤ï¤»¤Æ¡¢¤½¤ÎŨ¤Î°ÜÆ°·ÐÏ©¤Î¾ðÊó¤òÍøÍѤ·¤Æ
¥é¥¤¥ó¤òÀ¸À®¤¹¤ë¤È¤¤¤¦À©¸æ¤ÇÀ߷פò¹Í¤¨¤Æ¤¤¤¤Þ¤¹¡£
¡¡¤É¤Î¤è¤¦¤Ê¥í¥¸¥Ã¥¯¤òÁȤá¤Ð¡¢¥é¥¤¥ó¤ÎÀ¸À®½èÍý¤¬½ªÎ»¤·¤Æ¤«¤éŨ¥¥ã¥é¤¬°ÜÆ°¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤«¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¡¡DOTween ¤Î½èÍý¤òÍøÍѤ·¤ÆŨ¥¥ã¥é¤ò°ÜÆ°¤µ¤»¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Î°ÜÆ°½èÍý¤Ï tween ÊÑ¿ô¤ËÂåÆþ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢°ÜÆ°¤Î°ì»þÄä»ß¤äºÆ³«¤Î½èÍý¤Ë¤Ä¤¤¤Æ¤â¡¢DOPath ¥á¥½¥Ã¥É¤Ë¤è¤ë°ÜÆ°½èÍý¤òľÀÜÊѹ¹¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢
¤³¤Î tween ÊÑ¿ô¤Ë¤¿¤¤¤·¤Æ½èÍý¤ò¼Â¹Ô¤¹¤ë¤³¤È¤ÇÀ©¸æ¤ò¹Ô¤¦¤³¤È¤¬²Äǽ¤Ç¤¹¡£
EnemyController.cs
¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤ò¤·¤Þ¤¹¡£
¡¡DOTween ¤Î Tween ½èÍý¤òÊÑ¿ô¤ËÂåÆþ¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢Kill ¥á¥½¥Ã¥É¤Î¾¤Ë¤âÀ©¸æ¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡Pause ¥á¥½¥Ã¥É¤Ï Tween ¤Î½èÍý¤ò°ì»þÄä»ß¤¹¤ëÌ¿Îá¤Ç¤¹¡£¤³¤Î½èÍý¤ò¹Ô¤¦¤³¤È¤Ë¤è¤ê¡¢Tween ·¿¤ÎÊÑ¿ôÆâ¤ËÂåÆþ¤µ¤ì¤Æ¤¤¤ë¼Â¹ÔÃæ¤Î DOTween ¤Î½èÍý¤ò°ì»þÄä»ß½ÐÍè¤Þ¤¹¡£
private Tween tween; ¡¡ // ³ÆÃÏÅÀ¤Ë¸þ¤±¤Æ°ÜÆ° tween = transform.DOPath(paths, 1000 / moveSpeed).SetEase(Ease.Linear).OnWaypointChange(ChangeAnimeDirection); ¡¡ // ½èÍý¤ò°ì»þÄä»ß PauseMove(); /// <summary> /// °ÜÆ°¤ò°ì»þÄä»ß /// </summary> public void PauseMove() { tween.Pause(); }
¡¡°ì»þÄä»ß¤·¤Æ¤¤¤ë DOTween ¤Î½èÍý¤Ï£²¤Ä¤ÎÊýË¡¤ÇºÆ³«²Äǽ¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢¾å¼ê¤¯»È¤¤Ê¬¤±¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
£±¤Ä¤Ïº£²óÍøÍѤ·¤Æ¤¤¤ë Play ¥á¥½¥Ã¥É¤Ç¤¹¡£¤³¤ÎÌ¿Îá¤Ç¤Ï¡¢°ì»þÄä»ß¤·¤ÆÃæÃǤ·¤Æ¤¤¤ë DOTween ¤Î½èÍý¤Î³¤¤«¤é½èÍý¤òºÆ³«¤Ç¤¤Þ¤¹¡£
¤â¤¦£±¤Ä¤Ï Restart ¥á¥½¥Ã¥É¤Ç¤¹¡£¤³¤ÎÌ¿Îá¤Ç¤Ï³¤¤«¤é¤Ç¤Ï¤Ê¤¯¡¢ºÇ½é¤«¤é½èÍý¤ÎºÆÀ¸¤ò¤ä¤êľ¤·¤Þ¤¹¡£
¡¡¥í¥¸¥Ã¥¯¤È¤·¤Æ¤Ï¡¢°ÜÆ°·ÐÏ©¤Î¥é¥¤¥ó¤òɽ¼¨¤·¤Æ¤¤¤ë´Ö¤Ï Pause ¥á¥½¥Ã¥É¤Ç°ÜÆ°¤Î½èÍý¤ò°ì»þÄä»ß¤·¤Æ¤ª¤¤¤Æ¡¢
¥é¥¤¥ó¤Îɽ¼¨¤¬½ªÎ»¤·¤¿¥¿¥¤¥ß¥ó¥°¤Ç¤³¤Î Play ¥á¥½¥Ã¥É¤Ç°ÜÆ°¤òºÆ³«¤·¤Æ¤¤¤Þ¤¹¡£
¡ãEnemyGenerator.cs¡ä
/// <summary> /// ¥é¥¤¥óÀ¸À®¤Î½àÈ÷ /// </summary> private IEnumerator PreparateCreatePathLine(Vector3[] paths, EnemyController enemyController) { ¡¡¡¡¡¡¡¡// ¥é¥¤¥ó¤ÎÀ¸À®¤Èºï½ü¡£¤³¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤Ï¡¢¤³¤Î½èÍý¤è¤ê²¼¤Î½èÍý¤Ï¼Â¹Ô¤µ¤ì¤Ê¤¤ yield return StartCoroutine(CreatePathLine(paths)); ¡¡¡¡¡¡¡¡// Ũ¤Î°ÜÆ°¤òºÆ³« enemyController.ResumeMove(); }¡¡
¡ãEnemyController.cs¡ä
/// <summary> /// °ÜÆ°ºÆ³« /// </summary> public void ResumeMove() { tween.Play(); }
¡¡¥é¥¤¥ó¤ÎÀ¸À®½èÍý¤Ë¤Ä¤¤¤Æ¤ÏŨ¤òÀ¸À®¤¹¤ëºÝ¤Ë°ì½ï¤ËÀ¸À®¤¹¤ë¤è¤¦À߷פ·¤Þ¤·¤¿¡£
¤½¤ì¤ò¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£
¡¡°ÜÆ°·ÐÏ©¤Ë¤Ä¤¤¤Æ¤Ï¥é¥¤¥ó¤ÎÀ¸À®¤ÎºÝ¤Ë¤âÍøÍѤ·¤Þ¤¹¤Î¤Ç¡¢°ÊÁ°¤Ï EnemyController ¥¹¥¯¥ê¥×¥ÈÆâ¤Ç·ÐÏ©¾ðÊó¤òºîÀ®¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢
¤½¤Î½èÍý¤ò EnemyGenerator ¥¹¥¯¥ê¥×¥È¦¤Ë°ÜÆ°¤·¡¢ºîÀ®¤·¤¿·ÐÏ©¾ðÊó¤ò EnemyController ¥¹¥¯¥ê¥×¥È¦¤Ø°ú¿ô¤òÄ̤¸¤ÆÅϤ¹¤è¤¦¤Ë¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¡¡¿·¤·¤¯¥á¥½¥Ã¥É¤ò£²¤ÄºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£CreatePathLine ¥á¥½¥Ã¥É¤Î½èÍý¤ò¼«Ê¬¤Ç¥³¥á¥ó¥È¤ò½ñ¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
EnemyGenerator.cs
¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£
¡¡List ¥¯¥é¥¹¤Ï <T> ¤Ë¥¸¥§¥Í¥ê¥Ã¥¯·¿¡ÊǤ°Õ¤Î·¿¡Ë¤ò»ØÄꤷ¤Æ¡¢Æ±¤¸¥Ç¡¼¥¿·¿¤ò¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¥³¥ì¥¯¥·¥ç¥óµ¡Ç½¤ò»ý¤Ä¥¯¥é¥¹¤Ç¤¹¡£
ÇÛÎó¤È°Û¤Ê¤ê¡¢Í×ÁǤò¼«Í³¤ËÄɲᦺï½ü¤Ç¤¤Þ¤¹¡£(Í×ÁÇ¿ô¤¬²ÄÊѤ¹¤ë)
¡¡List ¤òÍøÍѤ¹¤ë¤Ë¤ÏÀë¸À¤Ë¹ç¤ï¤»¤Æ½é´ü²½¤Î½èÍý¤¬É¬Íפˤʤê¤Þ¤¹¡£
// List ¤ÎÀë¸À¤È½é´ü²½ List<DrawPathLine> drawPathLinesList = new List<DrawPathLine>();
¡¡List¤ÎËöÈø¤Ë°ú¿ô¤Ç»ØÄꤷ¤¿Í×ÁÇ(¥Ç¡¼¥¿)¤òÄɲä·¤Þ¤¹¡£
°ú¿ô¤¬ T ·¿¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤ì¤Ï List ¤òÀë¸À¤·¤¿ºÝ¤Ë»È¤Ã¤¿·¿¤¬¼«Æ°Åª¤ËÆþ¤ê¤Þ¤¹¡£
º£²ó¤Ï DrawPathLine ·¿¤Î List ¤òÀë¸À¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Add ¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë¤Ï DrawPathLine ·¿¤Î¤ß»ØÄê¤Ç¤¤Þ¤¹¡£
¡¡¤½¤Î¤¿¤á¡¢List¤ÇÀë¸À¤·¤Æ¤¤¤ë·¿¤ÈƱ¤¸·¿¤Ç¤¢¤ì¤Ð Add ¥á¥½¥Ã¥É¤Ç List ¤ËÍ×ÁǤòÄɲ乤뤳¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡DrawPathLine drawPathLine = Instantiate(pathLinePrefab, transform.position, Quaternion.identity); ¡¡drawPathLinesList.Add(drawPathLine);
¡¡Äɲ䵤줿Í×ÁǤϡ¢¼«Æ°Åª¤Ë List ¤ÎºÇ¸å¤Ë½çÈÖ¤ËÄɲ䵤ì¤Æ¤¤¤¤Þ¤¹¡£
Î㤨¤Ð¡¢drawPathLinesList ¤¬¤Þ¤À£±¤Ä¤âÍ×ÁǤ¬¤Ê¤±¤ì¤Ð¡¢drawPathLinesList[0] ¤È¤·¤Æ£±¤ÄÌܤËÍ×ÁǤ¬Äɲ䵤ì¤Þ¤¹¡£
¤½¤Î¤¢¤È¤Ë Add ¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢drawPathLinesList[1] ¤È¤·¤Æ£²¤ÄÌܤËÍ×ÁǤ¬Äɲ䵤ì¤Þ¤¹¡£
¡¡¥³¥ë¡¼¥Á¥ó(Coroutine)¤È¤Ï°ìÄê¤Î»þ´Ö¤ä¾ò·ï¤ò¤â¤È¤Ë¡¢½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦½ªÎ»¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ë½èÍý¤Î¤³¤È¤Ç¡¢ÈóƱ´ü½èÍý¤È¸Æ¤Ð¤ì¤Þ¤¹¡£
¡¡¥³¥ë¡¼¥Á¥ó¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤ÊÀâÌÀ¤Ï³ä°¦¤·¤Þ¤¹¡£¤³¤Á¤é¤Îµ»ö¤ä¡¢¥µ¥¤¥È¤Ç¹¤¯¾ðÊó¤ò¼èÆÀ¤Ç¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
XR-HU3ÍÍ
¡ÚUnity¡Û¥³¥ë¡¼¥Á¥ó¤Ç½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦Ää»ß¤µ¤»¤ëÊýË¡¤ò³Ø¤Ö
https://xr-hub.com/archives/20368
¡¡¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ë¤Ï¡¢yield ¤òÍøÍѤ·¤¿½èÍý¤òµ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Î㤨¤Ð¡¢¿ôÉô֤ÎÃÙ±ä½èÍý¤ä¡¢¾ò·ïãÀ®¤Þ¤Ç¥á¥¤¥ó¥¹¥ì¥Ã¥É¤Î½èÍý¤ò°ì»þÃæÃǤ·¤ÆÂÔµ¡¤µ¤»¤ë½èÍý¤Ê¤É¤ò¡¢¤³¤Î yield ¤òÍøÍѤ¹¤ë¤È¼ÂÁõ¤Ç¤¤Þ¤¹¡£
/// <returns></returns> private IEnumerator PreparateCreatePathLine(Vector3[] paths) { ¡¡¡¡¡¡¡¡// ¥é¥¤¥ó¤ÎÀ¸À®¤Èºï½ü¡£¤³¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤Ï¡¢¤³¤Î½èÍý¤è¤ê²¼¤Î½èÍý¤Ï¼Â¹Ô¤µ¤ì¤Ê¤¤ yield return StartCoroutine(CreatePathLine(paths)); ¡¡¡¡¡¡¡¡// Ũ¤Î°ÜÆ°¤òºÆ³« enemyController.ResumeMove(); }
¡¡Ä̾ï¤Î¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤È°ã¤¤¤Þ¤·¤Æ¡¢¸Æ¤Ó½Ð¤¹Á°¤Ë yield return ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢¸Æ¤Ó½Ð¤µ¤ì¤¿¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤³¤³¤Ç¥×¥í¥°¥é¥à¤ò°ì»þÃæÃǤ·¤ÆÂÔµ¡¤µ¤»¤ë¡¢¤È¤¤¤¦½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¡¡¸Æ¤Ó½Ð¤¹¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤Ï¡¢
¡ÖEnemyGenerator ¥¹¥¯¥ê¥×¥È¤Ë¤¢¤ë CreatePathLine ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¡£¤½¤Î¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥×¥í¥°¥é¥à¤ò°ì»þÃæÃǤµ¤»¤ë¡×
¤È¤¤¤¦ÆâÍƤǤ¹¡£
¡¡¤½¤Î·ë²Ì¡¢¥é¥¤¥ó¤ÎÀ¸À®¤Èºï½ü¤¬½ªÎ»¤·¤Æ¤«¤é¡¢¤Ï¤¸¤á¤Æ¼¡¤Î½èÍý(Ũ¤Î°ÜÆ°¤òºÆ³«)¤¬¹Ô¤ï¤ì¤ë¤È¤¤¤¦½èÍý¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤ì¤ÏÆäˡ¢CreatePathLine ¥á¥½¥Ã¥É¤Î¤è¤¦¤Ë¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Ç¤ÎÈóƱ´ü½èÍý¤ò¹Ô¤¦¾ì¹ç¤Ë¸ú²ÌŪ¤Ç¤¹¡£
Ä̾ï¤Î¥×¥í¥°¥é¥à¤ÏƱ´ü½èÍý¤Ç¤¹¤Î¤Ç¤½¤Î½èÍý¤¬¤¹¤Ù¤Æ¼Â¹Ô¤µ¤ì¤Æ¤«¤é¼¡¤Î½èÍý¤Ë°Ü¹Ô¤·¤Þ¤¹¡£
¤Ç¤¹¤¬¡¢º£²ó¤Î CreatePathLine ¥á¥½¥Ã¥É¤Ï¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Ç¤¹¤Î¤Ç¡¢¤½¤Î½èÍý¤Î¼Â¹ÔÍ̵¤òȽÄꤷ¤Æ¼¡¤Ë¿Ê¤à½èÍý¤¬¹Ô¤¨¤Þ¤»¤ó¡£
¡¡¤½¤Î¤¿¤áÈóƱ´ü½èÍý¤¬½ªÎ»¤¹¤ë¤Î¤òÂÔµ¡¤¹¤ë¤è¤¦¤Ë¤·¤Ê¤¤¤È¥é¥¤¥ó¤ÎÀ¸À®¤Èºï½ü¤Î½èÍý¤¬½ª¤ï¤Ã¤Æ¤«¤é¼¡¤Î½èÍý¤Ë°Ü¹Ô¤¹¤ë¡¢¤È¤¤¤¦¼ê½ç¤Ç¥×¥í¥°¥é¥à¤¬¿Ê¤ß¤Þ¤»¤ó¡£
¥×¥í¥°¥é¥à¤Ï¾å¤«¤é²¼¤Ø¤Èή¤ì¤Æ½èÍý¤µ¤ì¤Æ¤¤¤¤Þ¤¹¤¬¡¢¤³¤Î¤è¤¦¤ÊÈóƱ´ü½èÍý¤Î¾ì¹ç¤Ë¤Ï¡¢ÃæÃǽèÍý¤ò¶´¤à¤³¤È¤Ë¤è¤Ã¤Æ¥²¡¼¥à¤Îή¤ì¤òÀ©¸æ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡DrawPathLine ¥¹¥¯¥ê¥×¥È¤Î¾ðÊó¤ò¥¢¥µ¥¤¥ó¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï PathLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
Prefabs ¥Õ¥©¥ë¥ÀÆâ¤Ë¤¢¤ë PathLine ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£
¡¡Å¨¤ÎÀ¸À®Â®ÅÙ¤¬Â®¤¤¤È¥é¥¤¥óɽ¼¨¤¬½Å¤Ê¤Ã¤Æ¤·¤Þ¤¦¤¿¤á¡¢GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î GenerateIntervalTime ÊÑ¿ô¤òÄ´À°¤·¤ÆŬµ¹¤Ê´Ö³Ö¤ÇÀ¸À®¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ëÉôʬ¤¬¥Ý¥¤¥ó¥È¤Ç¤¹¡£
300 ¡Á 500 Á°¸å¤Ç»î¤·¤Æ¤ß¤ë¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£
¡¡¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦ºÝ¤Ë¤Ï¡¢¼«Ê¬¤ÇÄ´À°¤ò¹Ô¤Ã¤Æ¡¢¤Ê¤ë¤Ù¤¯´Êñ¤Ë·«¤êÊÖ¤·¥Ç¥Ð¥Ã¥°¤¬½ÐÍè¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤³¤È¤¬ÂçÀڤǤ¹¡£
¤³¤ì¤Ïº£²ó¤Î½èÍý¤Ë¸Â¤é¤º¡¢¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥Ã¥°¤Ë¶¦Ä̤¹¤ë¤³¤È¤Ç¤¹¤Î¤Ç¡¢¿§¡¹¤È¤ä¤ê¤ä¤¹¤¤ÊýË¡¤ò¹Í¤¨¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¡¡°ÜÆ°·ÐÏ©¤Î¥é¥¤¥ó¤¬¥¹¥¿¡¼¥ÈÃÏÅÀ¤«¤é£±¤Ä¤º¤Ä½çÈÖ¤Ëɽ¼¨¤µ¤ì¤Æ¡¢¤·¤Ð¤é¤¯¤·¤Æ¤«¤é¤Þ¤¿¡¢¥¹¥¿¡¼¥ÈÃÏÅÀ¤«¤é£±¤Ä¤º¤Ä½çÈ֤˺ï½ü¤µ¤ì¤Æ¤¤¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£
Scene¥Ó¥å¡¼¤ò¸«¤Ê¤¬¤é¡¢À¸À®¤µ¤ì¤¿Å¨¤¬¤¹¤°¤Ë°ÜÆ°¤ò³«»Ï¤»¤º¤Ë¡¢°ÜÆ°·ÐÏ©¤Î¥é¥¤¥óɽ¼¨¤¬½ªÎ»¤·¤Æ¤«¤é°ÜÆ°¤ò³«»Ï¤·¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡¼¡¤Ï¡¡¼ê½ç£±£µ¡¡¡Ý°Û¤Ê¤ëÀ¸À®ÃÏÅÀ¤Ç¤ÎŨ¥¥ã¥é¤Î¼«Æ°À¸À®½èÍý¤Î¼ÂÁõ¡Ý¡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯