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

¡¡£²²ó¤Ëʬ¤±¤Æ¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤È NPC(¥Î¥ó¡¦¥×¥ì¥¤¥ä¡¼¡¦¥­¥ã¥é¥¯¥¿¡¼)¤È¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Î¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£
Á°²ó¥Ç¥Ð¥Ã¥°¤·¤Æ²ñÏÃ¥¤¥Ù¥ó¥È¤ÎÀ©¸æ¤ò³Îǧ¤·¤Æ¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢²ñÏÃ¥¤¥Ù¥ó¥ÈȯÀ¸»þ¤Ë²ñÏÃ¥¤¥Ù¥ó¥ÈÍѤΥ¦¥¤¥ó¥É¥¦¤òɽ¼¨¤·¡¢¤½¤ÎÃæ¤Ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ëÀ©¸æµ¡Ç½¤ò¼ÂÁõ¤·¤Þ¤¹¡£


¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


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

¼ê½ç£±£±¡¡¡¼NPC ¤È¤Î²ñÏÃ¥¤¥Ù¥ó¥ÈÍÑ¥¦¥¤¥ó¥É¥¦¤Î¼ÂÁõ¡¼
£±£¹¡¥NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈÍѤβñÏÃ¥¤¥Ù¥ó¥È¥¦¥¤¥ó¥É¥¦¤òºîÀ®¤¹¤ë
£²£°¡¥DialogController ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢NPC ¤È¤Î²ñÏÃ¥¤¥Ù¥ó¥È»þ¤Ë²ñÏÃ¥¤¥Ù¥ó¥È¥¦¥¤¥ó¥É¥¦¤¬É½¼¨¡¦Èóɽ¼¨¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë



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

¡¡¡¦CanvasGroup ¥³¥ó¥Ý¡¼¥Í¥ó¥È
¡¡¡¦GetComponentInChildren ¥á¥½¥Ã¥É



£±£¹¡¥NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈÍѤβñÏÃ¥¤¥Ù¥ó¥È¥¦¥¤¥ó¥É¥¦¤È¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë

£±¡¥Àß·×


¡¡²ñÏÃÍÑ¥¦¥¤¥ó¥É¥¦¤òºîÀ®¤·¡¢Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ NPC ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ¥­¡¼Áàºî¤ò¹Ô¤Ã¤¿ºÝ¤Ë¡¢
¤³¤Î²ñÏÃÍÑ¥¦¥¤¥ó¥É¥¦¤òɽ¼¨¤·¡¢²ñÏÃÍѤΥá¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¤è¤¦¤ËÀ©¸æ¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡²ñÏÃÍѤΥ¦¥¤¥ó¥É¥¦¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼ÂÁõ¤¹¤ëÊýË¡¤¬Â¿¤¯¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï´û¸¤Î¥²¡¼¥à¤ò¸µ¤Ë¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¥É¥é¥¯¥¨¤Ê¤É¤Ï¡¢¾ï¤Ë²èÌ̤β¼Êý¸þ¤Ë²ñÏÃ¥¤¥Ù¥ó¥ÈÍѤΥ¦¥¤¥ó¥É¥¦¤¬³«¤­¤Þ¤¹¡£
¾¤Î¥²¡¼¥à¡Ê¥í¥Þ¥µ¥¬¤Ê¤É¡Ë¤Ï¡¢Ïä·¤«¤±¤¿Áê¼ê¤Î¶á¤¯¤Ë²ñÏÃÍѤΥ¦¥¤¥ó¥É¥¦¤¬³«¤­¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢²ñÏÃÍѤΥ¦¥¤¥ó¥É¥¦¡¢¤È°ì¸ý¤Ë¤¤¤Ã¤Æ¤â¤É¤Î¤è¤¦¤Ê·Á¼°¤Çɽ¼¨¤ò¹Ô¤¦¤Î¤«¡¢¤È¤¤¤¦Éôʬ¤«¤é»ÅÍͤòÀ߷פ·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¤½¤ì¤¬³ÎÄꤷ¤Æ¤Ï¤¸¤á¤Æ¡¢²ñÏÃÍѤΥ¦¥¤¥ó¥É¥¦¤ÎÀ½ºî¤¬¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡
¡¡º£²ó¤Ï¡¢Ïä·¤«¤±¤¿ NPC ¤Î¶á¤¯¤Ë²ñÏÃÍѤΥ¦¥¤¥ó¥É¥¦¤òɽ¼¨¤µ¤»¤ëÊý¼°¤Ç¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£


¡ã¼ÂÁõ²èÁü¡ä



¡¡¤Ê¤ª¤³¤ÎÊý¼°¤Î²ñÏÃÍѤΥ¦¥¤¥ó¥É¥¦¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤¬Ïä·¤«¤±¤ë°ÌÃ֤ˤè¤Ã¤Æ¤Ï²èÌ̤«¤é¸«ÀÚ¤ì¤Æ¤·¤Þ¤¦¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
¤â¤·¤â¼ÂÁõ¤Ç¤­¤ë¥¤¥á¡¼¥¸¤¬Ê¨¤¤¤¿¤é¡¢²ñÏÃÍѤΥ¦¥¤¥ó¥É¥¦¤òɽ¼¨¤µ¤»¤ë°ÌÃÖ¤ò¼«Æ°Åª¤ËÀ©¸æ¤¹¤ë¤è¤¦¤Ë¤â¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£


¡ã¼ÂÁõ²èÁü¡ä



¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯



£²¡¥NPC ÍÑ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ Canvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢ÀßÄê¤ò¹Ô¤¦


¡¡¥Ò¥¨¥é¥ë¥­¡¼¾å¤Î NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾å±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤òɽ¼¨¤·¡¢
UI => Canvas ¤òÁªÂò¤·¤Æ Canvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£¥Ò¥¨¥é¥ë¥­¡¼¤Ë Canvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£

¡¡°ì½ï¤Ë EventSystem ¤âºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥¿¥Ã¥×´¶ÃΤʤɤò¹Ô¤¦¤â¤Î¤Ê¤Î¤Ç¡¢ºï½ü¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ï Canvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È£±¥»¥Ã¥È¤Ç°·¤¤¤Þ¤¹¤Î¤Ç¤½¤Î¤Þ¤Þ¤Ç¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤Ã¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£

¡¡Ì¾Á°¤ò DialogCanvas ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£


¥Ò¥¨¥é¥ë¥­¡¼²èÁü



¡¡Â³¤¤¤Æ DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£



¡¡Ä̾ï Canvas ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï Scene ¥Ó¥å¡¼¤Ç¤Ï¤Ê¤¯¡¢ÀìÍѤÎÊÔ½¸¥¹¥Ú¡¼¥¹¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
º£²ó¤Ï¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò Canvas ¤Î¥¹¥Ú¡¼¥¹¤Ç¤Ï¤Ê¤¯¡¢Scene ¥Ó¥å¡¼Æâ¤ËÀßÃÖ¤·¤Æ¡¢Ä̾ï¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È°ì½ï¤Ë¥²¡¼¥à²èÌÌÆâ¤Ëɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¤ÎÀßÄê¤òºÇ½é¤Ë¹Ô¤¤¤Þ¤¹¡£

¡¡DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¡¢Canvas ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¹àÌܤòÀßÄꤷ¤Þ¤¹¡£

¡¡Render Mode ¤ò World Space ¤ËÊѹ¹¤·¤Þ¤¹¡£¤³¤ì¤Ç DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È ¤ò Scene ¥Ó¥å¡¼Æâ¤ËľÀÜÇÛÃÖ½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Event Camera ¤Ë¤Ï Main Camera ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¼«Æ°Åª¤Ë¥¢¥µ¥¤¥ó¤µ¤ì¤Þ¤¹¤¬¡¢¤â¤·¤âÈ´¤±¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡Sorting Layer ¤Ïɽ¼¨¤ÎÍ¥Àè½ç°Ì¤Ç¤¹¤Î¤Ç¡¢Chara ¤ÎSorting Layer ¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ç NPC ÍÑ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤è¤ê¤â²èÌ̤ÎÁ°Ì̤Ëɽ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤ÎÀßÄê¤ò¹Ô¤ï¤Ê¤¤¤Èɽ¼¨¤µ¤ì¤¿ Canvas ¤¬ NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤è¤ê¤âÇØÌ̤ˤʤ뤿¤á¡¢Ê¸»ú¤¬±£¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£

¡¡°Ê¾å¤ÎÀßÄê¤Ç Scene¥Ó¥å¡¼Æâ¤Î¾¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÈƱ¤¸¤è¤¦¤Ë°ÜÆ°¤·¤¿¤ê¡¢Â礭¤µ¤òÊѹ¹¤·¤¿¤ê¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤Þ¤¿¥«¥á¥é¤òÄ̤¸¤Æ¥²¡¼¥à²èÌ̤˱Ǥë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ÇÛÃ֤ˤè¤Ã¤Æ¤Ï¥«¥á¥é¤Ë±Ç¤é¤Ê¤¤¤è¤¦¤Ë¤â¤¹¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥Þ¥Ë¥å¥¢¥ë
World Space UI ¤ÎºîÀ®
https://docs.unity3d.com/ja/2019.4/Manual/HOWTO-UI...



¡¡RectTransform ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î Scale ¤ÎÃͤòÄ´À°¤·¡¢¥µ¥¤¥º¤òÄ´À°¤·¤Þ¤·¤ç¤¦¡£

¡¡Position ¤Ë¤Ä¤¤¤Æ¤ÏŬµ¹¤Ê°ÌÃÖ¤ËÄ´Àᤷ¤Æ¤¯¤À¤µ¤¤¡£
NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾¯¤·¾å°Ì¤Ë¤Ê¤ë¤è¤¦¤ËÇÛÃÖ¤·¤Æ¤ª¤¯¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£

¡¡Width ¤È Height ¤¬¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾å²¼º¸±¦¤Î¥µ¥¤¥º¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤âŬµ¹¤ÊÂ礭¤µ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡Canvas Renderer ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤È Graphic Raycaster ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÏÊѹ¹¤ÎɬÍפϤ¢¤ê¤Þ¤»¤ó¡£


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



Scene¥Ó¥å¡Ý²èÁü




¡¡ÀßÄ꤬´°Î»¤·¤Þ¤·¤¿¤Î¤Ç¡¢ºÇ¸å¤Ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÄɲä·¤Þ¤¹¡£

¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î°ìÈÖ²¼¤Ë¤¢¤ë Add Component ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¡¢Canvas Group ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òõ¤·¤ÆÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
ÀßÄê¤ÏÊѹ¹¤·¤Ê¤¯¤ÆÌäÂꤢ¤ê¤Þ¤»¤ó¡£

¡¡Canvas Group ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¡¢¤³¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¡¢¤½¤Î»Ò¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¥°¥ë¡¼¥×²½¤µ¤ì¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥°¥ë¡¼¥×Á´ÂΤÎÆ©ÌÀÅÙ¤òÊѹ¹¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢Æ©ÌÀÅÙ(Alpha)¤òÁàºî¤·¤¿¾ì¹ç¡¢¥°¥ë¡¼¥×²½¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢»ÒÍ×ÁǤâ°ì½ï¤ËÆ©ÌÀ¤Ë¤Ê¤Ã¤¿¤ê¡¢¸µ¤ËÌá¤Ã¤¿¤ê¤·¤Þ¤¹¡£
Î㤨¤Ð¡¢»Ò¥ª¥Ö¥¸¥§¥¯¥È¤¬£³¤Ä¤¢¤Ã¤¿¾ì¹ç¡¢¤½¤ì¤é¤ò¤Þ¤È¤á¤Æɽ¼¨¤·¤¿¤ê¡¢¤¢¤ë¤¤¤ÏÈóɽ¼¨¤Ë¤·¤¿¤ê¡¢¤È¤¤¤¦Áàºî¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¼¡¤Î¼ê½ç°Ê¹ß¤Ç¤Ï¡¢DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë»Ò¥ª¥Ö¥¸¥§¥¯¥È¤òÄɲ䷤Ƥ¤¤­¤Þ¤¹¤Î¤Ç¡¢
¤½¤ì¤é¤ò¤Þ¤È¤á¤ÆÁàºîÀ©¸æ¤¹¤ë¤¿¤á¤Ë¤³¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÍøÍѤ·¤Æ¤¤¤­¤Þ¤¹¡£

Unity¸ø¼°¥Þ¥Ë¥å¥¢¥ë
CanvasGroup
https://docs.unity3d.com/ja/2020.1/Manual/class-Ca...
TechProjinÍÍ
¡ÚUnity¡ÛCanvas Group¤Ã¤Æ¤³¤ó¤Ê¤ËÊØÍø¤À¤Ã¤¿¤Î¤«¡Ä
https://tech.pjin.jp/blog/2017/03/20/unity_ugui_ca...


£³¡¥DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È·²¤òºîÀ®¤¹¤ë


¡¡DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤ÆºîÀ®¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È·²¤ÏǤ°Õ¤Ç¤¹¡£
¤³¤³¤Ë¤ÏÄ̾ï¤Î Canvas Æâ¤ÈƱ¤¸¤è¤¦¤Ë¡¢Text ¤ä Image ¤Ê¤É¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÇÛÃÖ½ÐÍè¤Þ¤¹¡£

¡¡º£²ó¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¡¦imgBackground¡¡¡¡¡¡¡¡UI => Image ¤Ë¤ÆºîÀ®¡£¥á¥Ã¥»¡¼¥¸É½¼¨»þ¤ÎÇØ·ÊÍѤβèÁü¤òÀßÄꤹ¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È
¡¡¡¦txtDialog¡¡¡¡¡¡¡¡¡¡¡¡UI => Text ¤Ë¤ÆºîÀ®¡£¥á¥Ã¥»¡¼¥¸É½¼¨¤ò¹Ô¤¦¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È
¡¡¡¦imgTitleBackground¡¡ UI => Image ¤Ë¤ÆºîÀ®¡£¥á¥Ã¥»¡¼¥¸É½¼¨»þ¤Î NPC ¤Î̾Á°É½¼¨¤ò¹Ô¤¦Éôʬ¤ÎÇØ·ÊÍѤβèÁü¤òÀßÄꤹ¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È
¡¡¡¦txtTitleName¡¡¡¡¡¡¡¡ UI => Text ¤Ë¤ÆºîÀ®¡£NPC ¤Î̾Á°É½¼¨¤ò¹Ô¤¦¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È


¥Ò¥¨¥é¥ë¥­¡¼²èÁü



¡¡º£¤Þ¤Ç³Ø½¬¤·¤Æ¤­¤¿Éü½¬¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¼«Ê¬¤Î¥¤¥á¡¼¥¸¤Ë±è¤Ã¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÇÛÃÖ¤ÈÀßÄê¤ò¹Ô¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¥Õ¥©¥ó¥È¡¢Ê¸»ú¤Î°ÌÃÖ¡¢Â礭¤µ¤Ê¤É¡¢¥ì¥¤¥¢¥¦¥È¤Î³Ø½¬¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡»²¹Í²èÁü¤ÏºÜ¤»¤Æ¤ª¤­¤Þ¤¹¤¬¡¢¤³¤ÎÄ̤ê¤Ë¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£(¤³¤Á¤é¤Ï²èÁü¤Ï̤ÀßÄê¤Ç¡¢¿§¤ÎÀßÄꤷ¤«¤·¤Æ¤¤¤Þ¤»¤ó)

¡¡´°À®¤·¤¿¤é¡¢³Æ Text ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î Text ¥×¥í¥Ñ¥Æ¥£Íó¤Îʸ»úÎó¤Ï¶õÇò¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Á¤é¤Ë¤Ï¥¹¥¯¥ê¥×¥È¤òÍøÍѤ·¤Æʸ»úÎó¤òɽ¼¨¤¹¤ë¤è¤¦¤ËÀ©¸æ¤ò¹Ô¤¤¤Þ¤¹¡£


£´¡¥imgBackground ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê


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



Scene ¥Ó¥å¡¼²èÁü




£µ¡¥txtDialog ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê


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



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



Scene ¥Ó¥å¡¼²èÁü




£¶¡¥imgTitleBackground ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê


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



Scene ¥Ó¥å¡¼²èÁü




£·¡¥txtTitleName ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê


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



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



Scene ¥Ó¥å¡¼²èÁü



¡¡°Ê¾å¤Ç DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï´°À®¤Ç¤¹¡£

¡¡Raycast Target ¤ä¡¢Cull Transparent Mesh ¤Ê¤É¤Î¥¹¥¤¥Ã¥Á¤¬¤É¤Î¤è¤¦¤Êµ¡Ç½¤¬¤¢¤ë¤Î¤«¡¢
£±¤Ä¤º¤Ä³Îǧ¤·¤Ê¤¬¤éÀßÄê¤ò¹Ô¤Ã¤ÆÃúÇ«¤ËºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£


£²£°¡¥DialogController ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢NPC ¤È¤Î²ñÏÃ¥¤¥Ù¥ó¥È»þ¤Ë²ñÏÃ¥¤¥Ù¥ó¥È¥¦¥¤¥ó¥É¥¦¤¬É½¼¨¡¦Èóɽ¼¨¤¹¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë

£±¡¥Àß·×


¡¡Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ©¸æ¤ò PlayerController ¥¹¥¯¥ê¥×¥È¤¬¹Ô¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¡¢
ºîÀ®¤·¤¿ DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ©¸æ¤ò¹Ô¤¦¤¿¤á¤Ë¤â¡¢ÀìÍѤΥ¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤ÆÀ©¸æ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¥¹¥¯¥ê¥×¥È¤òÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢Î㤨¤Ð¡¢Text ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ë²ñÏÃÍѤÎʸ»úÎó¤òɽ¼¨¤·¤¿¤ê¡¢
CanvasGroup ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ©¸æ¤·¤Æ²ñÏÃÍÑ¥¦¥¤¥ó¥É¥¦¤òɽ¼¨¡¦Èóɽ¼¨¤ÎÀÚ¤êÂؤ¨¤ò¤·¤¿¤ê¤È¤¤¤Ã¤¿
DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈÁ´ÂΤÎÀ©¸æ¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È°Ê³°¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¤â¡¢DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀ©¸æ¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¹¡£
¤Ç¤¹¤¬¡¢¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤ÆÀ©¸æ´ÉÍý¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬³ÎÄꤷ¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢À©¸æ¤·¤¿¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¤ª¤¤¤¿Êý¤¬¤ï¤«¤ê¤ä¤¹¤¤¤Ç¤·¤ç¤¦¡£
PlayerController ¥¹¥¯¥ê¥×¥È¤¬ Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤Î¤ÈƱ¤¸Íýͳ¤Ç¤¹¡£



¡¡DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¥¹¥¯¥ê¥×¥È¤Ë¤Ï¡¢Àè¤Û¤É¤âÎã¤Ë¤¢¤²¤¿¤è¤¦¤Ëɽ¼¨¡¦Èóɽ¼¨¤ÎÀÚ¤êÂؤ¨¤Ê¤É¤ÎÀ©¸æ¤ò¤µ¤»¤ë½èÍý¤òµ­½Ò¤·¤Þ¤¹¡£
¤³¤ì¤é¤Î½èÍý¤Ï¤³¤Î¥¹¥¯¥ê¥×¥È¤ÎÃæ¤Ëµ­½Ò¤Ï¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Î¡¢¤½¤Î½èÍý¤ò¸Æ¤Ó½Ð¤¹¸µ¤Ï¥¹¥¯¥ê¥×¥ÈÆâ¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£

¡¡º£²ó¤Î¥±¡¼¥¹¤Ç¤¢¤ì¤Ð¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤¬ NPC ¤ÎÊý¸þ¤ò¸þ¤¤¤Æ¥­¡¼Áàºî¤ò¹Ô¤Ã¤¿ºÝ¤Ë¡¢²ñÏÃÍÑ¥¦¥¤¥ó¥É¥¦¤¬É½¼¨¤µ¤ì¤ë¤³¤È¤¬µá¤á¤é¤ì¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀ©¸æ¤¹¤ëÌ¿Îá¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤ì¤é¤Î¥¿¥¤¥ß¥ó¥°¤Ë¹ç¤ï¤»¤Æ¹Ô¤ï¤ì¤ë¤³¤È¤¬Å¬Àڤʥ¿¥¤¥ß¥ó¥°¤Ç¤¢¤ë¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£

¡¡PlayerController ¥¹¥¯¥ê¥×¥È¤ÎÌ¿Îá¤ò¼õ¤±¤Æ¡¢NonPlayerCharacter ¥¹¥¯¥ê¥×¥ÈÆâ¤Î½èÍý¤¬¼Â¹Ô¤µ¤ì¡¢Debug ¤Î½èÍý¤¬À©¸æ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ï³Îǧ¤·¤Þ¤·¤¿¡£
¤³¤Î³¤­¤Ç¡¢NonPlayerCharacter ¥¹¥¯¥ê¥×¥ÈÆâ¤Î Debug ¤Î½èÍý¤ÎÉôʬ¤Ë¡¢DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¼¨¡¦Èóɽ¼¨¤ÎÀÚ¤êÂؤ¨½èÍý¤ò¸Æ¤Ó½Ð¤¹Ì¿Îá¤ò¼ÂÁõ¤¹¤ì¤Ð
°ìÏ¢¤Î½èÍý¤Îή¤ì¤¬´°À®¤·¡¢Player ¤Î¥­¡¼Áàºî¤Ë¹ç¤ï¤»¤Æ¡¢²ñÏÃÍÑ¥¦¥¤¥ó¥É¥¦¤¬³«¤¯¡¢¤È¤¤¤¦À©¸æ½èÍý¤¬½ÐÍè¾å¤¬¤ê¤Þ¤¹¡£
Èóɽ¼¨¤¹¤ë¾ì¹ç¤âƱÍͤǤ¹¡£
¡¡


¡¡¸úΨ¤ÎÎɤ¤À©¸æ¤ò¤¹¤ë¤¿¤á¤ÎÀ߷פò¹Ô¤¦¤Ë¤Ï¡¢¤³¤Î¤è¤¦¤ËÊ£¿ô¤Î¥¹¥¯¥ê¥×¥È¤ò·Ðͳ¤·¤Æ¼Â¹Ô¤µ¤ì¤ë½èÍý¤¬Â¿¤¯¤¢¤ê¤Þ¤¹¡£
µÕ¤Ë¹Í¤¨¤ë¤È¡¢£±¤Ä¤Î¥¹¥¯¥ê¥×¥È¤Ëµ­½Ò¤·¤¿½èÍý¤ò¤¹¤Ù¤Æ¤½¤Î¥¹¥¯¥ê¥×¥ÈÆâ¤Ç´°·ë¤µ¤»¤ëɬÍפϤޤ俤¯¤¢¤ê¤Þ¤»¤ó¡£

¡¡À©¸æ¤¹¤ë¼Â½èÍý¡¢¤½¤ì¤ò¼Â¹Ô¤¹¤ë¥¿¥¤¥ß¥ó¥°¡¢¤³¤Î£²¤Ä¤òʬ¤±¤Æ¹Í¤¨¤Æ¤¤¤¯¤³¤È¤¬ÂçÀڤˤʤê¤Þ¤¹¡£



¡¡Î㤨¤Ð¡¢ÅÅÏÃÄ¢¤Î¥¢¥×¥ê¤ò¥¤¥á¡¼¥¸¤·¤Æ¤¯¤À¤µ¤¤¡£
ÅÅÏÃÄ¢Æâ¤Ï¤¢¤¤¤¦¤¨¤ª½ç¤Ëʤó¤Ç¤¤¤Þ¤¹¤¬¡¢¾å¤«¤é½çÈ֤ˤ«¤±¤Æ¤¤¤¯¡¢¤Ê¤ó¤Æ¤³¤È¤Ï¤Þ¤º¤¢¤ê¤Þ¤»¤ó¡£

¡¡Ã¯¤·¤â¡¢ÅÅÏÃÄ¢¤ËÅÐÏ¿¤·¤¿Áê¼ê¤Ë¤Ï¡¢É¬Íפʻþ¤À¤±Ï¢Íí¤ò¼è¤ë¤È»×¤¤¤Þ¤¹¡£
ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤«¤é¤È¤¤¤Ã¤Æ¡¢ÍÑ»ö¤¬¤Ê¤±¤ì¤Ð¡¢¤ä¤Ï¤êÏ¢Íí¤Ï¼è¤ê¤Þ¤»¤ó¡£

¡¡¤³¤ì¤ÈƱ¤¸¤³¤È¤ò¥¹¥¯¥ê¥×¥È¤Ç¤â¼Â¹Ô¤·¤Æ¤¤¤ë¤È¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥¹¥¯¥ê¥×¥È(¥¯¥é¥¹)¤¬ÅÅÏÃÄ¢¤Ç¤¹¡£ÅÅÏÃÄ¢¤Ë¤Ï¡¢»Å»öÀèÍÑ¡¢¥×¥é¥¤¥Ù¡¼¥ÈÍѤȡ¢¤¤¤¯¤Ä¤«¤Î¼ïÎब¤¢¤ê¤Þ¤¹¡£

¥á¥½¥Ã¥É¤Ï狼¤ÎÅÅÏÃÈÖ¹æ¤Ç¤¹¡£»Å»öÀèÍѤÎÅÅÏÃÄ¢¤Ë¤Ï¡¢»Å»ö¤ÎÏ¢ÍíÀ褬¤Ï¤¤¤Ã¤Æ¤¤¤ë¤³¤È¤Ç¤·¤ç¤¦¡£
¥á¥½¥Ã¥É¤Î°ú¿ô¤Ï¡¢Áê¼ê¤¬µá¤á¤Æ¤¤¤ëÍÑ»ö¤Ç¤¹¡£¤¢¤Ê¤¿¤Ï¡¢ÅÅÏäò¤·¤¿¤È¤­¤Ë¤Ï¡¢¤½¤ÎÍ×·ï¤òÅÁ¤¨¤ë¤È¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤¢¤Ê¤¿¤ÏɬÍפʥ¿¥¤¥ß¥ó¥°¤Ç¡¢Í×·ï¤òÅÁ¤¨¤ëÌÜŪ¤ÇÅÅÏäò¤«¤±¤Þ¤¹¡¡=>¡¡°ú¿ô¤òÍÑ°Õ¤·¤Æ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£



public class »Å»öÀèÍÑÅÅÏÃÄ¢ {

   public [Ìá¤êÃÍ = ÅÅÏäÎÊÖ»ö¡¦·ë²Ì] [¥á¥½¥Ã¥É̾ = ¼è°úÀ衲A¤ÎÅÅÏÃÈÖ¹æ] (°ú¿ô = ÅÅÏäò¤«¤±¤ë¤È¤­¤ËÅÁ¤¨¤ëÍÑ»ö){¡¡¡¡¡¡<=¡¡ÍÑ»ö¤¬¤¢¤ë¤È¤­¤Ë¡¢ÍÑ»ö¤òÅÁ¤¨¤Æ¡¢¤«¤±¤Þ¤¹

¡¡     // ¤³¤Î¼è°úÀè¤Ç»È¤¦¾ðÊó¡¡

¡¡¡¡¡¡ // ÅÁ¤¨¤¿ÍÑ»ö¤Î·ï¤â²¿¤«¾ðÊ󤬹¹¿·¤µ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó(°ú¿ô¤ò»È¤¦)

¡¡¡¡¡¡ // Í×·ï¤Ë¤è¤Ã¤Æ¤ÏÅÅÏäηë²Ì¤¬¤¢¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹(Ìá¤êÃÍ)
¡¡ }
}

¡¡¤³¤ó¤Ê¥¤¥á¡¼¥¸¤Ç¤¹¡£
¡¡

£²¡¥DialogController ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ©¸æ¤ò¹Ô¤¦¤¿¤á¤Î¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¤³¤Î¥¹¥¯¥ê¥×¥È¤òÍøÍѤ·¤Æ¡¢DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¼¨¡¦Èóɽ¼¨¤òÀÚ¤êÂؤ¨¤Þ¤¹¡£
¤Þ¤¿¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤Î¥á¥Ã¥»¡¼¥¸¤Ê¤É¤âɽ¼¨¤µ¤»¤Þ¤¹¡£

¡¡¤³¤ì¤é¤Î½èÍý¤Ïɽ¼¨ÍѤÈÈóɽ¼¨ÍѤȤ·¤Æ¡¢¤½¤ì¤¾¤ì¥á¥½¥Ã¥É¤Ë¤Þ¤È¤á¤Æ¤ª¤­¡¢
³°Éô¤Î¥¹¥¯¥ê¥×¥È¤è¤ê¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤òÁ°Äó¤ËºîÀ®¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡Àè¤Û¤É¤ÎÅÅÏÃÄ¢¤ò»×¤¤É⤫¤Ù¤Æ¤¯¤À¤µ¤¤¡£
¤³¤³¤Ç¤ÏÅÅÏÃÄ¢Æâ¤ËÅÅÏÃÈÖ¹æ¤òÅÐÏ¿¤·¤Æ¤¤¤ëºî¶È¤Ç¤¹¡£
public ¤ÇÅÅÏÃÈÖ¹æ¤òÅÐÏ¿¤Ç¤­¤ì¤Ð¡¢¤¤¤Ä¤Ç¤âÅÅÏäò¤«¤±¤ë(³°Éô¤Î¥¹¥¯¥ê¥×¥È¤«¤éÌ¿Îá¤ò½Ð¤¹)¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


DialogController.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£


£³¡¥DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë DialogController ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤ÆÀßÄê¤ò¹Ô¤¦


¡¡NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë
DialogController ¥¹¥¯¥ê¥×¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£

¡¡SerializeField°À­¤ÇÀë¸À¤·¤Æ¤¤¤ë¾ðÊ󤬥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢
¤½¤ì¤é¤ÎÊÑ¿ô¤òÍøÍѤ·¤ÆÀ©¸æ¤ò¹Ô¤¤¤¿¤¤¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
¼«Æ°Åª¤ËÂоݤȤʤ륳¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤¬ÅÐÏ¿¤µ¤ì¤Þ¤¹¡£


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



¡¡°Ê¾å¤Ç¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤Ï´°Î»¤Ç¤¹¡£


£´¡¥NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡DialogController ¥¹¥¯¥ê¥×¥È¤òÍøÍѤ¹¤ë¤³¤È¤Ç²ñÏÃ¥¤¥Ù¥ó¥ÈÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀ©¸æ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¤¢¤È¤Ï¡¢¤½¤Á¤é¤ËÍÑ°Õ¤·¤¿¥á¥½¥Ã¥É¤ËÂФ·¤ÆÌ¿Îá¤ò½Ð¤¹½èÍý¤ò¼ÂÁõ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢
Ǥ°Õ¤Î¥¿¥¤¥ß¥ó¥°¤Ç²ñÏÃ¥¤¥Ù¥ó¥ÈÍѤΥ¦¥¤¥ó¥É¥¦¤Î³«ÊĤ¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¥Ò¥ó¥È¤È¤·¤Þ¤·¤Æ¤Ï¡¢Àè¤Û¤É¤Î¼ê½ç¤Ç Debug ¤òÍøÍѤ·¤ÆÀ©¸æ¤ò³Îǧ¤·¤Æ¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢
TODO µ¡Ç½¤òÍøÍѤ·¤Æµ­½Ò¤·¤Æ¤¢¤ëÉôʬ¤ËÂоݤȤʤëÌ¿Îáʸ¤ò¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£

¡¡¼¡¤Ë¤É¤Î½èÍý¤ò½ñ¤­¤¿¤¤¡¢¤³¤Î½èÍý¤ò¤¤¤º¤ì½ñ¤­¤¿¤¤¡¢¤È¤¤¤¦¥¤¥á¡¼¥¸¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï
˺¤ì¤º¤Ë TODO µ¡Ç½¤òÍøÍѤ·¤Æ»Ä¤·¤Æ¤ª¤¯¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
Æä˽èÍý¤Î¥¿¥¤¥ß¥ó¥°¤Þ¤ÇÇÄ°®¤·¤Æµ­½Ò¤·¤Æ¤ª¤¯¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¢³ºÅö¤¹¤ëÉôʬ¤ËÂФ·¤Æ¤¹¤°¤Ë¼ÂÁõÌ¿Îá¤òµ­½Ò¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Á¤é¤â¡¢Àè¤Û¤É¤ÎÅÅÏÃÄ¢¤Î¥¤¥á¡¼¥¸¤Î¤¦¤Á¡¢ÅÅÏäò¤«¤±¤ëÊý¤ò»×¤¤É⤫¤Ù¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤Þ¤º¤Ï¥Ò¥ó¥È¤ò»²¹Í¤Ë¡¢¼ÂÁõÎã¤ò¸«¤º¤Ë¡¢¼«Ê¬¤Ç½èÍý¤ò½ñ¤¤¤Æ¼Â¹Ô¤·¤Æ¤ß¤Æ¤Þ¤·¤ç¤¦¡£
¼ÂÁõÎã¤ò¤ß¤ë¤Î¤Ï¤½¤ì¤«¤é¤Ç¤âÃÙ¤¯¤¢¤ê¤Þ¤»¤ó¡£


NonPlayerCharacter.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£


£´¡¥¡ãGetComponentInChildren ¥á¥½¥Ã¥É¡ä


¡¡»ØÄꤷ¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤ò¤¹¤Ù¤Æ¸¡º÷¤·¡¢¡ã·¿¡ä¤Ç»ØÄꤷ¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
¼èÆÀ¤·¤¿¾ðÊó¤ÏÌá¤êÃͤòÍøÍѤ·¤ÆÌᤵ¤ì¤Þ¤¹¤Î¤Ç¡¢º¸ÊÕ¤ËÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¤ª¤¯¤³¤È¤ÇÂåÆþ½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£

  GetComponentInChildren<DialogController>();

¡¡º£²ó¤Î¼ÂÁõ¤Î¾ì¹ç¡¢GetComponentInChildren ¥á¥½¥Ã¥É¤ÎÁ°¤Ë¾¤ÎÊÑ¿ô¤Î¾ðÊó¤Ï¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢¤³¤Î¾ì¹ç¤Ï
GetComponent ¥á¥½¥Ã¥É¤ÈƱÍͤǡ¢¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò´ð½à¤Ë½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£

¡¡NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤Ï NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¸«¤Æ¡¢»Ò¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤¢¤¿¤ë DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÃ椫¤é¡¢
¡ãDialogController¡ä ¤Î¾ðÊó¤òõ¤·¤Æ¼èÆÀ¤·¤Þ¤¹¡£


¥Ò¥¨¥é¥ë¥­¡¼²èÁü



¡¡º£²ó¤Ï NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¸«¤Æ»Ò¥ª¥Ö¥¸¥§¥¯¥È¤Ï DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤Ç¤¹¤Î¤Ç¡¢
DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤¬Âоݤˤʤê¤Þ¤¹¡£»Ò¥ª¥Ö¥¸¥§¥¯¥È¤¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤é¤ò¤¹¤Ù¤Æ¸¡º÷¤·¤Æ¡¢»ØÄꤵ¤ì¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò£±¤Ä¤À¤±¼èÆÀ¤ò¹Ô¤¤¤Þ¤¹¡£


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


¡¡Ãí°Õ¤·¤¿¤¤¤Î¤Ï¡¢DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¡¢¤Ä¤Þ¤ê¡¢NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¤ß¤Æ¹¤Ë¤¢¤¿¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï
¤³¤Î¥á¥½¥Ã¥É¤ÎÂоݳ°¤Ë¤Ê¤ë¤È¤¤¤¦Éôʬ¤Ç¤¹¡£¤¢¤¯¤Þ¤Ç¤â¤³¤Î¥á¥½¥Ã¥É¤Ç¼èÆÀ¤Ç¤­¤ëÂоݤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï´ð½à¤È¤Ê¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¸«¤¿»Ò¥ª¥Ö¥¸¥§¥¯¥È¤Î¤ß¤Ç¤¹¡£
¤Ê¤ª¡¢Ê£¿ô¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¿¼¤µÍ¥Àè¤Ç¡¢¤½¤ì¤é¤ÎÃ椫¤é£±¤Ä¤À¤±¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Þ¤¹¡£
¤â¤·¤âÊ£¿ô¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤«¤éƱ¤¸¥¿¥¤¥×¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÊ£¿ô¼èÆÀ¤·¤¿¤¤¾ì¹ç¤Ë¤Ï GetComponentsInChildren ¤È¤¤¤¦Ê̤Υ᥽¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¡£


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



¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


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

¡¡¼¡¤Ï¡¡¼ê½ç£±£²¡¡¡¼¥¤¥Ù¥ó¥ÈÍѤΥǡ¼¥¿¥Ù¡¼¥¹ºîÀ®¡¼¡¡¤Ç¤¹¡£

¡ã±þÍÑ¡äNonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤¬¥­¡¼Áàºî¤ò¹Ô¤Ã¤¿°ÌÃ֤ˤè¤Ã¤Æ¡¢²ñÏÃÍѤΥ¦¥¤¥ó¥É¥¦¤òɽ¼¨¤¹¤ë°ÌÃÖ¤ò
¥²¡¼¥à²èÌ̤ξ妤«²¼Â¦¤«¤ò¼«Æ°Åª¤ËÀ©¸æ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¼«Æ°Åª¤ËÀ©¸æ¤ò¹Ô¤¦¤È¤¤¤¦¤³¤È¤Ï¡¢²¿¤é¤«¤Î¾ðÊó¤òɾ²Á¡¦È½Äꤷ¤Æ¡¢¤½¤Î·ë²Ì¤È¤·¤Æ¥¦¥¤¥ó¥É¥¦¤òɽ¼¨¤¹¤ë°ÌÃÖ¤òÊѹ¹¤µ¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡ÊýË¡¤Ï¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¤¬¡¢º£²ó¤Ï¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤Î Y ¼´¤Î°ÌÃÖ¤È NPC Y ¼´¤Î°ÌÃ֤ˤè¤Ã¤ÆȽÄê¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
NPC ¤Î Y ¼´¤Î°ÌÃÖ¤«¤é¤ß¤Æ¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤ÎÊý¤¬¹â¤¤°ÌÃ֤ˤ¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¥¦¥¤¥ó¥É¥¦¤òɽ¼¨¤¹¤ë°ÌÃÖ¤ò¥²¡¼¥à²èÌ̤ξ妤ˡ¢
µÕ¤Î¾ì¹ç¤Ë¤Ï¥²¡¼¥à²èÌ̤β¼Â¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤¬ NPC ¤«¤é¤ß¤Æ¤É¤Î°ÌÃ֤ˤ¤¤ë¤«¤¬Ê¬¤«¤ì¤Ð¸«ÀÚ¤ì¤ë¤³¤È¤òËɤ°¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
Player ¤Î°ÌÃÖ¾ðÊó¤Ç¤¹¤¬¡¢PlayTalk ¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë¤Ï¡¢PlayerController ¥¹¥¯¥ê¥×¥È¤è¤ê¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤Î°ÌÃÖ¾ðÊó¤¬ Vector3 ·¿¤Ç¤Á¤ã¤ó¤ÈÆϤ¤¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤ò³èÍѤ·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£TODO ¤ÎÉôʬ¤â¥Ò¥ó¥È¤Ë¤Ê¤ê¤Þ¤¹¡£


NonPlayerCharacter.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£



¡¡½èÍý¤Ë¤Ï¥³¥á¥ó¥È¤ò³ä°¦¤·¤Æ¤¢¤ê¤Þ¤¹¡£
¼«Ê¬¤Ç¥³¥á¥ó¥È¤ò½ñ¤¤¤Æ¤ß¤Þ¤·¤ç¤¦¡£¤·¤Ã¤«¤ê¤È½èÍý¤¬Æɤá¤Æ¤¤¤ì¤Ð¥³¥á¥ó¥È¤ò½ñ¤¯¤³¤È¤¬¤Ç¤­¤ë¤È»×¤¤¤Þ¤¹¡£

¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤Î°ÌÃ֤DzñÏÃ¥¦¥¤¥ó¥É¥¦¤Î°ÌÃÖ¤¬À©¸æ¤µ¤ì¤ë¤«¡¢³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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