ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2020ǯ12·î20Æü(Æü) 16:20:13ÍúÎò
¡¡DoTween¥¢¥»¥Ã¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¢¤ë¥×¥í¥¸¥§¥¯¥È¤Ç¤¢¤ë¤³¤È¤È¡¢²¿¤é¤«¤Î¥Ý¥Ã¥×¥¢¥Ã¥×ÍÑ¥×¥ì¥Õ¥¡¥Ö¤òºîÀ®¤·¤Æ¤¢¤ë¤³¤È¤¬Á°Äó¤È¤·¤ÆɬÍפˤʤê¤Þ¤¹¡£
¡¡DoTween¤ÎƳÆþ¤Ë¤Ä¤¤¤Æ¤Ï¤³¤Á¤é¤Îµ»ö¤¬¤ï¤«¤ê¤ä¤¹¤¤¤Î¤Ç»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
@loveRiceÍÍ
[Unity] DOTween¤ò»È¤Ã¤Æ¤ß¤è¤¦
https://qiita.com/loveRice/items/d2dcc1cd67ee1a699...
¡¡¥Ý¥Ã¥×¥¢¥Ã¥×¤Ë¤Ä¤¤¤Æ¤Ï¥Ö¥í¥Ã¥¯Êø¤·¤Î³ÈÄ¥¤Î¥²¡¼¥à½ªÎ»½èÍý¤òÄɲ乤ë¤ÇºîÀ®¤·¤¿¥Ý¥Ã¥×¥¢¥Ã¥×¤·¡¢¤½¤Á¤é¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë
QuitCheckPouUp¤Ë½èÍý¤òÄɲä·¤ÆÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
¡¡Â¾¤Ë¼«ºî¤Î¥Ý¥Ã¥×¥¢¥Ã¥×¤¬¤¢¤ë¤è¤¦¤Ç¤¢¤ì¤Ð¡¢¤½¤Á¤é¤Î¥Ý¥Ã¥×¥¢¥Ã¥×¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È¤ò²ÃÉ®½¤Àµ¤·¤Æ¤´ÍøÍѤ¯¤À¤µ¤¤¡£
¡¡Æ°²è¤Î¤è¤¦¤Ë¡¢¥Ý¥Ã¥×¥¢¥Ã¥×¤¬³«¤¯ºÝ¤Ë¤Ï½ù¡¹¤Ëɽ¼¨¤µ¤»¤Æ¡¢¤Þ¤¿¥Ý¥Ã¥×¥¢¥Ã¥×¤¬ÊĤ¸¤ëºÝ¤Ë¤Ï½ù¡¹¤ËÈóɽ¼¨¤Ë¤·¤Þ¤¹¡£
https://gyazo.com/eef79937b219740f80b57c96dfdfe221
¡¡QuitCheckPouUp¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
QuitCheckPouUp.cs
¡¡¤¤¤¯¤Ä¤«¿·¤·¤¤½èÍý¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¾Ò²ð¤·¤Æ¤ª¤¤Þ¤¹¡£
¡¡¤³¤Î[RequireComponent(typeof(¥¯¥é¥¹Ì¾/¥³¥ó¥Ý¡¼¥Í¥ó¥È̾))]°À¤Ï¡¢(°ú¿ô)¤Ç»ØÄꤷ¤¿¥¯¥é¥¹¤ä¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¥¨¥é¡¼¤¬½Ð¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¡¡
¤Þ¤¿¤³¤Î°À¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È¤ò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤È¡¢°ú¿ô¤Ç»ØÄꤷ¤Æ¤¤¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¼«Æ°Åª¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Þ¤¹¡£(º£²ó¤ÏCanvasGrourp)
¡¡
¡¡º£²ó¤ÏCanvasGrourp¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬É¬Íפˤʤê¤Þ¤¹¤Î¤Ç¡¢[RequireComponent(typeof(CanvasGroup))]°À¤òÄɲ䷤ơ¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥¢¥¿¥Ã¥Á¤òɬ¿Ü¾ò·ï¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¡¡Start¥á¥½¥Ã¥É¤Ï¡¢void¤Ç¤Ï¤Ê¤¯¡¢IEnumerator·¿¤ÎÌá¤êÃͤòÀë¸À¤Ç¤¤Þ¤¹¡£¤³¤ì¤Ë¤è¤Ã¤ÆStart¥á¥½¥Ã¥ÉÆâ¤ËÈóƱ´ü½èÍý(¥³¥ë¡¼¥Á¥ó½èÍý)¤ò¼ÂÁõ½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
º£²ó¤Ï°Ê²¼¤Î£²¤Ä¤ÎÂÔµ¡½èÍý¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Ë¡¢Start¥á¥½¥Ã¥É¤òIEnumerator·¿¤ÇÀë¸À¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¡yield return new WaitForSeconds(fadeTime); ¢ yield return new WaitUntil(() => canvasGroup.alpha == 1);
¡¡¤É¤Á¤é¤â¥³¥ë¡¼¥Á¥óÆâ¤ÇÌ¿Îá¤Ç¤¤ëÂÔµ¡½èÍý¤Ç¤¹¡£yield return ¤ò¤Ä¤±¤Æ½èÍý¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¡¤Î¾ì¹ç¤Ï°ú¿ô¤Ç¤·¤¿Éÿô´Ö¤À¤±¡¢½èÍý¤òÂÔ¤Á¤Þ¤¹¡£¤³¤³¤Ç¤Ï fadeTime ¤ò°ú¿ô¤Ë»ØÄꤷ¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤ÎÊÑ¿ô¤ÎÃͤÀ¤±½èÍý¤òÂÔ¤Á¤Þ¤¹¡£°ú¿ô¤Ë¤Ïfloat·¿¤ÎÃͤΤßÆþ¤ê¤Þ¤¹¡£
¢¤Î¾ì¹ç¤Ï°ú¿ô¤Î¾ò·ï¤òËþ¤¿¤¹(true¤Ë¤Ê¤ë)¤Þ¤Ç¡¢½èÍý¤òÂÔ¤Á¤Þ¤¹¡£¤³¤³¤Ç¤Ï canvasGroup.alpha ¤ÎÃͤ¬ 1 ¤Ë¤Ê¤ë¤Þ¤Ç½èÍý¤òÂÔ¤Á¤Þ¤¹¡£°ú¿ô¤Î¾ò·ï¤Ï¥é¥à¥À¼°¤Çµ½Ò¤·¡¢¥Ç¥ê¥²¡¼¥È¤Ç»ØÄꤷ¤Þ¤¹¡£
¡¡¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤¬½ªÎ»¤·¤Þ¤·¤¿¤é¡¢¥Ý¥Ã¥×¥¢¥Ã¥×¤Î¥×¥ì¥Õ¥¡¥Ö¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¤¢¤ëQuitCheckPopUp¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£
CanvasGrourp¤¬¥Ý¥Ã¥×¥¢¥Ã¥×¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤ÐAdd Component¤·¤ÆCanvasGrourp¤òÄɲä·¤Þ¤¹¡£¤½¤Î¸å¡¢¤½¤ì¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
FadeTime¤Ï¥Ý¥Ã¥×¥¢¥Ã¥×¤ò¥Õ¥§¥¤¥É¥¤¥ó/¥Õ¥§¥¤¥É¥¢¥¦¥È¤¹¤ëºÝ¤Î¥¢¥Ë¥á»þ´Ö¤Ç¤¹¡£½é´üÃͤÏ1¤Ç¤¹¤¬¡¢¼«Í³¤ËÊѹ¹¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡
¡¡ÀßÄ꤬½ªÎ»¤·¤Þ¤·¤¿¤é¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£¥Ý¥Ã¥×¥¢¥Ã¥×¤¬¥Õ¥§¥¤¥É¥¤¥ó¤·¤Æ½ù¡¹¤Ëɽ¼¨¤µ¤ì¤ì¤ÐÀ®¸ù¤Ç¤¹¡£
¤Þ¤¿¥Ý¥Ã¥×¥¢¥Ã¥×¤òÊĤ¸¤ëºÝ¤Ë¤â¥Õ¥§¥¤¥É¥¢¥¦¥È¤·¤Ê¤¬¤é½ù¡¹¤ËÈóɽ¼¨¤Ê¤Ã¤Æ¤¤¤¯¤«¤â³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡Æ°²è¤Î¤è¤¦¤Ë¥Õ¥§¥¤¥É½èÍý¤Ë²Ã¤¨¤Æ¡¢¥Ý¥Ã¥×¥¢¥Ã¥×¤Î¥µ¥¤¥º¤òÊѲ½¤µ¤»¤Ê¤¬¤éɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
https://gyazo.com/12c2e38ac8a50409a59b9e74643838db
¡¡QuitCheckPouUp¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
QuitCheckPouUp.cs
¡¡DoTween¤Î»ý¤Äµ¡Ç½¤Î£±¤Ä¤Ç¤¹¡£Tween½èÍý¤ò½çÈ֤˽èÍý¤·¤¿¤¤¾ì¹ç¡¢¤¢¤ë¤¤¤ÏƱ»þ¤Ë½èÍý¤·¤¿¤¤¾ì¹ç¤ËÍøÍѤ·¤Þ¤¹¡£
º£²ó¤Ï¥Õ¥§¥¤¥É½èÍý¤È°ì½ï¤Ë¥Ý¥Ã¥×¥¢¥Ã¥×¤Î¥µ¥¤¥º¤òÊѹ¹¤ò¹Ô¤¤¤¿¤¤¡áƱ»þ¤Ë½èÍý¤·¤¿¤¤¤³¤È¤¬¤¢¤ë¤¿¤á¤ËÍøÍѤò¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¤Þ¤º¤ÏÀë¸À¤·¤Æ½é´ü²½¤ò¹Ô¤¤¤Þ¤¹¡£Àë¸À¼«ÂΤÏÀë¸À¥Õ¥£¡¼¥ë¥É¤Ç¹Ô¤Ã¤Æ¤ª¤¤¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¤¬¡¢º£²ó¤Ï¥¹¥³¡¼¥×¤ò¹Í¤¨¤Æ³Æ¥á¥½¥Ã¥ÉÆâ¤Ç½é´ü²½¤·¤Æ¤¤¤Þ¤¹¡£ÊÑ¿ô̾¤âƱ̾¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
Sequence sequence = DOTween.Sequence();¡¡
¡¡¼¡¤ËƱ»þ¤Ë½èÍý¤·¤¿¤¤Tween¤òµ½Ò¤·¤Þ¤¹¡£¤³¤³¤Ç¤ÏºÇ½é¤Î¥Õ¥§¥¤¥É¥¤¥ó½èÍý¡Ü¥Ý¥Ã¥×¥¢¥Ã¥×¤Î¥µ¥¤¥º¤ò¸µ¤ÎÂ礤µ¤ËÌ᤹½èÍý¤òÎã¤Ëµó¤²¤Þ¤¹¡£
¡¡¤Þ¤º¤ÏºÇ½é¤Ë¹Ô¤¦Tween½èÍý¤ò¡¢sequence.Append()¥á¥½¥Ã¥É¤Ç°ú¿ôÆâ¤Ë½èÍý¤òµ½Ò¤·¤Þ¤¹¡££²¤Î¼ê½ç¤Î¥¹¥¯¥ê¥×¥È¤Ç½ñ¤¤¤¿Tween½èÍý¤ò¤½¤Î¤Þ¤Þ¤³¤Î°ú¿ô¤ËÆþ¤ì¤ÆÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¡¡Â³¤¤¤Æ¤³¤ÎºÇ½é¤Î½èÍý¤ÈƱ»þ¤Ë¹Ô¤¤¤¿¤¤Tween½èÍý¤òsequence.Join()¥á¥½¥Ã¥É¤Ç°ú¿ôÆâ¤Ë½èÍý¤òµ½Ò¤·¤Þ¤¹¡£¤³¤Î°ú¿ôÆâ¤Ë¥Ý¥Ã¥×¥¢¥Ã¥×¤ÎÂ礤µ¤ò¸µ¤Î¥µ¥¤¥º¤ËÌ᤹½èÍý¤òµ½Ò¤·¤Þ¤¹¡£
°ú¿ô¤Ë¤ÏDOScale()¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤³¤È¤Ç¥µ¥¤¥º¤òÊѹ¹¤·¤Þ¤¹¡£¤³¤Á¤é¤ÎÂè1°ú¿ô¤¬ºÇ½ªÅª¤Ê¥µ¥¤¥º¡¢Âè2°ú¿ô¤¬½èÍý¤Ë¤«¤«¤ë»þ´Ö¤Ç¤¹¡£»þ´Ö¤ÏDOFade()¤ÈƱ¤¸»þ´Ö¤Ë»ØÄꤷ¤Þ¤¹¡£
¡¡2¤ÄÌܤνèÍý¤Ë¤Ï¡¢SetEase()¥á¥½¥Ã¥É¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£¤³¤ÎEase½èÍý¤Ë¤è¤Ã¤Æ¥¢¥Ë¥á¤¹¤ëºÝ¤ËÊä´Ö½èÍý¤¬Æþ¤ê¤Ê¤á¤é¤«¤Ê½èÍý¤¬¼Â¸½¤Ç¤¤Þ¤¹¡£
¤³¤Á¤é¤Î°ú¿ô¤Ë¤ÏEase¤È¤¤¤¦DoTween¤ÎÍÑ°Õ¤·¤Æ¤¤¤ëÊä´Ö¥¿¥¤¥×¤ò£±¤Ä¤À¤±ÀßÄê¤Ç¤¤Þ¤¹¡£º£²ó¤ÏPublic¤ÎÊÑ¿ô¤ò°ú¿ô¤Ë»ØÄꤷ¤Æ¤¤¤ë¤Î¤Ç¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ÇEase¤ÎÀßÄ꤬²Äǽ¤Ç¤¹¡£
¿§¡¹¤ÊEase¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¼«Ê¬¤Î¹¥¤ß¤«¤Ä¡¢¤è¤¤Ê·°Ïµ¤¤ÎEase¤òÄ´À°¤·¤ÆÁªÂò¤·¤Þ¤·¤ç¤¦¡£
sequence.Append(canvasGroup.DOFade(1, fadeTime)); sequence.Join(transform.DOScale(Vector3.one, fadeTime).SetEase(easeType));¡¡
¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë¤È¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë£²¤Ä¤Î¥¢¥µ¥¤¥ó¾ðÊó¤¬Äɲ䵤ì¤Þ¤¹¡£
startScale¤ÏºÇ½é¤Ë¾®¤µ¤¯¤·¤Æ¤ª¤¯¤¿¤á¤Î¥µ¥¤¥º¤ÎÃͤǤ¹¡£¥µ¥¤¥º¤Ï1¤Ë¸þ¤«¤Ã¤Æ¥¢¥Ë¥á¤¹¤ë¤Î¤Ç¡¢0.3¤ä0.5¤Ê¤É¤Î¿ô»ú¤Ë¤·¤Æ¤ª¤¤¤Æ¼ÂºÝ¤ÎÆ°ºî¤ò¤ß¤Ê¤¬¤éÃͤòÄ´À°¤·¤Þ¤·¤ç¤¦¡£
EaseType¤ÏÀè¤Û¤ÉÀâÌÀ¤·¤Þ¤·¤¿¡¢DoTween¤ÎTween¤ÎÊä´Ö½èÍý¤Ç¤¹¡£¤³¤Á¤é¤âÀßÄê¤òÊѤ¨¤Æ»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¡¢¥Ý¥Ã¥×¥¢¥Ã¥×¤ò³«¤¤¤Æ¤ß¤Þ¤·¤ç¤¦¡£¥Õ¥§¥¤¥É¥¤¥ó½èÍý¤È¥µ¥¤¥ºÊѹ¹½èÍý¤¬°ì½ï¤Ë¹Ô¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ì¤ÐÀ®¸ù¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯