ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2022ǯ02·î14Æü(·î) 14:03:21ÍúÎò
¡¡º£²ó¤Ï¥¿¥¤¥È¥ë¥·¡¼¥ó¤«¤é¥á¥¤¥ó¤Î¥²¡¼¥à¥·¡¼¥ó¤Ø¤ÎÁ«°Ü¤ò¹Ô¤¤¡¢¥á¥¤¥ó¥·¡¼¥ó¤ÎÆɤ߹þ¤ß»þ´Ö¤¬Ä¹¤¤¥±¡¼¥¹¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£
¡¡¥¿¥¤¥È¥ë¥·¡¼¥óÆâ¤Ç¥á¥¤¥ó¥·¡¼¥ó¤ÎÆɤ߹þ¤ß¤òÈóƱ´ü½èÍý¤Ç¹Ô¤¤¡¢Æɤ߹þ¤ß¤¬½ªÎ»¤·¤Æ¤«¤é¥·¡¼¥óÁ«°ÜÍѤΥܥ¿¥ó¤ò͸ú²½¤¹¤ë¤³¤È¤Ç¡¢
¥Ü¥¿¥ó¤ò²¡¤·¤¿¤é¤¹¤°¤Ë¥á¥¤¥ó¥·¡¼¥ó¤Ë¥·¡¼¥óÁ«°Ü¤Ç¤¤ë¤è¤¦¤ËÀ߷פ·¤Æ¤¤¤Þ¤¹¡£
¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¡¡UniRx ¥¢¥»¥Ã¥È¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¥¢¥»¥Ã¥È¥¹¥È¥¢¤«¤é UniRx ¤Î¥¤¥ó¥Ý¡¼¥È¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£
Unity Asset Store
UniRx - Reactive Extensions for Unity
https://assetstore.unity.com/packages/tools/integr...
¡¡ÈóƱ´ü½èÍý¤Ç¤¢¤ë¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤ÇÆ°ºî¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£
¼ç¤Ë¼¡¤ËÀâÌÀ¤ò¤¹¤ë LoadSceneAsync ¥á¥½¥Ã¥É¤ÎÌá¤êÃͤȤ·¤ÆÍøÍѤµ¤ì¤Æ¤ª¤ê¡¢ÈóƱ´ü¤Ë¤è¤ë¥·¡¼¥ó¤ÎÆɤ߹þ¤ß¾ðÊó¤ä¡¢Æɤ߹þ¤ß¤¬½ªÎ»¤·¤¿¥·¡¼¥ó¤Ø¤ÎÁ«°Ü¤ò°ì»þÄä»ß¤·¤¿¤ê¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£
¡¡
private AsyncOperation async;
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
AsyncOperation
https://docs.unity3d.com/ja/current/ScriptReferenc...
¡¡SceneManager ¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤Î£±¤Ä¤Ç¤¹¡£¥·¡¼¥óÁ«°Ü¤òÈóƱ´ü½èÍý¤È¤·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£
Ìá¤êÃÍ¤Ï AsyncOperation ·¿¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢AsyncOperation ·¿¤ÎÊÑ¿ô¤ËÂåÆþ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢Æɤ߹þ¤ß¾õÂ֤οÊĽ¤ò³Îǧ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡// ÈóƱ´ü½èÍý¤Ç¥·¡¼¥ó¤ÎÁ«°Ü¼Â¹Ô(¸½ºß¼Â¹Ô¤·¤Æ¤¤¤ë¥·¡¼¥ó¤Î¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼¡¤Î¥·¡¼¥ó¤ÎÆɤ߹þ¤ß¤ò»öÁ°¤Ë¹Ô¤¦) async = SceneManager.LoadSceneAsync(nextSceneName);
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
SceneManagement.SceneManager.LoadSceneAsync
https://docs.unity3d.com/ja/current/ScriptReferenc...
¡¡AsyncOperation ¥¯¥é¥¹¤Î»ý¤Ä bool ·Á¤ÎÊÑ¿ô¤Ç¤¹¡£
ÈóƱ´ü¤Ë¤è¤ë¥·¡¼¥ó¤ÎÆɤ߹þ¤ß½àÈ÷¤¬´°Î»¤·¤¿¤é¡¢¤¹¤°¤Ë¼Â¹Ô¤µ¤»¤ë¤Û¤«¡¢
false ¤ËÀßÄꤷ¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢¥·¡¼¥ó¤ÎÆɤ߹þ¤ß¤¬½ªÎ»¤·¤Æ¤â¤¹¤°¤Ë¥·¡¼¥óÁ«°Ü¤ò¼Â¹Ô¤»¤º¤Ë¡¢
true ¤ËÀÚ¤êÂؤ¨¤¿¥¿¥¤¥ß¥ó¥°¤Ç¥·¡¼¥óÁ«°Ü¤òÁ÷¤é¤»¤Æ¼Â¹Ô¤¹¤ë½èÍý¤¬¼ÂÁõ½ÐÍè¤Þ¤¹¡£
¡¡¤³¤ÎÊÑ¿ô¤Ï¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ç¤·¤«Æ°ºî¤·¤Þ¤»¤ó¡£
¡¡// ÈóƱ´ü½èÍý¤Ç¥·¡¼¥ó¤ÎÁ«°Ü¼Â¹Ô(¸½ºß¼Â¹Ô¤·¤Æ¤¤¤ë¥·¡¼¥ó¤Î¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼¡¤Î¥·¡¼¥ó¤ÎÆɤ߹þ¤ß¤ò»öÁ°¤Ë¹Ô¤¦) async = SceneManager.LoadSceneAsync(nextSceneName); ¡¡// ¥·¡¼¥ó¤òÆɤ߹þ¤ß½ª¤ï¤Ã¤Æ¤â¥·¡¼¥óÁ«°Ü¤Ï¹Ô¤ï¤Ê¤¤¾õÂ֤ˤ¹¤ë async.allowSceneActivation = false; ¡¡ ¡¡// Ŭµ¹¤Ê¥¿¥¤¥ß¥ó¥°¤Ç°Ê²¼¤ò¼Â¹Ô¤¹¤ë ¡¡// ÈóƱ´ü½èÍý¤Ç¥·¡¼¥ó¤ÎÁ«°Ü¼Â¹Ô(¸½ºß¼Â¹Ô¤·¤Æ¤¤¤ë¥·¡¼¥ó¤Î¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼¡¤Î¥·¡¼¥ó¤ÎÆɤ߹þ¤ß¤ò»öÁ°¤Ë¹Ô¤¦) async.allowSceneActivation = true;
https://docs.unity3d.com/ja/current/ScriptReferenc...
¡¡¥²¡¼¥à³«»Ï¤ÈƱ»þ¤Ë¥¹¥¿¡¼¥È¥Ü¥¿¥ó¤¬²¡²¼¤Ç¤¤Ê¤¤¾õÂ֤ˤʤê¤Þ¤¹¡£
¤½¤Î¸å¡¢¼¡¤Î¥·¡¼¥ó¤ÎÆɤ߹þ¤ß¤¬´°Î»¤·¤¿»þÅÀ¤Ç¡¢¥¹¥¿¡¼¥È¥Ü¥¿¥ó¤¬²¡²¼¤Ç¤¤ë¾õÂ֤ˤʤê¤Þ¤¹¡£
¡¡¼ÂºÝ¤Ë¥¹¥¿¡¼¥È¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤¹¤°¤Ë¼¡¤Î¥·¡¼¥ó¤¬³«»Ï¤µ¤ì¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Ë¤ª¤¤¤Æ¤âÈóƱ´ü¤ÇÆɤ߹þ¤ó¤Ç¤¤¤ë¼¡¤Î¥·¡¼¥ó¤Î¾ðÊó¤ò³Îǧ¤Ç¤¤Þ¤¹¡£
¥Ò¥¨¥é¥ë¥¡¼²èÁü(Main ¥·¡¼¥ó¤¬ (isLoading ¤Î¾õÂÖ¤ÇÈó¥¢¥¯¥Æ¥£¥Ö¤È¤·¤ÆÆɤ߹þ¤Þ¤ì¤Æ¤¤¤ë))

¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¡¡°Ê¾å¤Ç´°À®¤Ç¤¹¡£¡¡
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯