// ºÇ½é¤Î¥¹¥±¡¼¥ë¤òÊÝ»ý
Vector3 startScale = transform.localScale;
// ºÇ¾®²½(¸«¤¨¤Ê¤¯¤Ê¤ë)
transform.localScale = Vector3.zero;
// Sequence½é´ü²½
Sequence sequence = DOTween.Sequence();
// ¡Å¨¤ò²óž¤µ¤»¤Ê¤¬¤é1.5ÇܤÎÂ礤µ¤Ë¤·¡¢¤½¤Î¸å¡¢¸µ¤ÎÂ礤µ¤ËÌᤷ¤Ê¤¬¤é½Ð¸½¤µ¤»¤ë
A-1)sequence.Append(transform.DOLocalRotate(new Vector2(0, 720, 0), 1.0f, RotateMode.FastBeyond360).SetEase(Ease.Linear));
A-2)sequence.Join(transform.DOScale(startScale * 1.5f, 1.0f).SetEase(Ease.InCirc));
B-1)sequence.AppendInterval(0.15f);
B-2)sequence.Join(transform.DOScale(startScale, 0.15f).SetEase(Ease.InCirc));
¡¡ºÇ½é¤ËŨ¤Î¸µ¡¹¤ÎScale¤òÊÝ»ý¤·¤Æ¤ª¤¤Þ¤¹¡£¤³¤ì¤Ï¤³¤Î¸å¤ÇScale¤òÊѹ¹¤¹¤ë½èÍý¤ò¹Ô¤¤¡¢ºÇ¸å¤Ë¤Ï¸µ¤ÎScale¤ËÌ᤹¡¢¤È¤¤¤¦Î®¤ì¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ç¤¹¡£
¡¡Â³¤¤¤Æ¡¢Scale¤ÎÃͤò Vector2.zero¤ò¤Ä¤«¤Ã¤Æ¡¢(0, 0)¤Ë¤·¡¢Å¨¤ò²èÌ̤«¤é¸«¤¨¤Ê¤¤¾õÂ֤ˤ·¤Þ¤¹¡£
¡¡½àÈ÷¤¬À°¤Ã¤¿¤Î¤Ç¡¢Sequence¤òÀë¸À¤·¤Æ½é´ü²½¤·¡¢ÍøÍѤǤ¤ë¾õÂ֤ˤ·¤Þ¤¹¡£
¡¡Sequence¤Ç¤Ï£´¤Ä¤Î½èÍý¤¬½çÈ֤ˤ«¤«¤ì¤Æ¤ª¤ê¡¢¤³¤Î¤¦¤Á¡¢Join¥á¥½¥Ã¥É°Ê³°¤Ï¡¢¤½¤ÎÁ°¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Î¤òÂԤäƤ«¤é½çÈ֤˽èÍý¤¬¤µ¤ì¤Þ¤¹¡£
A¡ÁC¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ò½èÍý¤ÎÀèƬ¤ËÊ䵤·¤Æ¤¤¤Þ¤¹¤¬¡¢A¤Î½èÍý£²¤Ä¤ÏƱ»þ¤Ë¼Â¹Ô¤µ¤ì¡¢¤½¤ì¤¬½ªÎ»¤·¤Æ¤«¤éB¤Î½èÍý¤¬£²¤ÄƱ»þ¤Ë½èÍý¤µ¤ì¤ë¡¢¤È¤¤¤¦·Á¤Ç½ç½øΩ¤Æ¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£
¡¡A¤ÈB¤Î£²¤Ä¤Î½èÍý¤¬¤Þ¤È¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ï¡¢Append¥á¥½¥Ã¥É/AppendInterval¥á¥½¥Ã¥É¤Î¼¡¤Î¹Ô¤Ë¤¢¤ë¥á¥½¥Ã¥É¤¬Join¥á¥½¥Ã¥É¤Ç¤¢¤ë¤¿¤á¤Ç¤¹¡£
Join¥á¥½¥Ã¥É¤ÏAppend¥á¥½¥Ã¥É¤ÈƱ»þ¤Ë¼Â¹Ô¤µ¤ì¤ë½èÍý¤Ç¤¹¡£¤½¤Î¤¿¤á¡¢A¤ÈB¤Ï¡¢¤½¤ì¤¾¤ì2¹Ôʬ¤Î½èÍý¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡Append¥á¥½¥Ã¥É¤ÈJoin¥á¥½¥Ã¥ÉÆâ¤Ç½èÍý¤µ¤ì¤Æ¤¤¤ëDoTween¤ÎÆâÍƤò½çÈÖ¤ËÀâÌÀ¤·¤Þ¤¹¡£
A-1)sequence.Append(transform.DOLocalRotate(new Vector2(0, 720, 0), 1.0f, RotateMode.FastBeyond360).SetEase(Ease.Linear));
¡¡transform(Ũ¼«¿È)¤ËÂФ·¤Æ¡¢DOLocalRotate¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ï°ú¿ô¤¬3¤Ä¤¢¤ê¤Þ¤¹¡£
Âè1°ú¿ô¤¬²óž¤µ¤»¤ë¼´¤È³ÑÅÙ¤ò»ØÄꤷ¤Þ¤¹¡£º£²ó¤ÏY¼´¤Î¤ß720ÅÙ(2¼þ)¤µ¤»¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
Âè2°ú¿ô¤Ï²óž¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤Î»þ´Ö¤ò»ØÄꤷ¤Þ¤¹¡£º£²ó¤Ï 1.0f ¤È¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ 1ÉÃ¤Î´Ö¤Ë 720 Åٲ󞤹¤ë¤è¤¦¤ËÌ¿Îá¤ò½Ð¤·¤Æ¤¤¤Þ¤¹¡£
Âè3°ú¿ô¤Ï¥ª¡¼¥Ð¡¼¥í¡¼¥É¤Î°ú¿ô¤Ç¡¢²óž¤µ¤»¤ëºÝ¤Î¾ò·ï¤ò»ØÄꤷ¤¿¾ì¹ç¤Î¤ßÀßÄꤷ¤¿ÆâÍƤǽèÍý¤µ¤ì¤Þ¤¹¡£
º£²ó¤Ï RotateMode.FastBeyond360 ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢360 ÅÙ¤ò±Û¤¨¤¿²óž³ÑÅ٤Ǥ¢¤Ã¤Æ¤â1¼þ¤Ç¤Ï»ß¤Þ¤é¤º¤Ë¡¢»ØÄꤷ¤¿³ÑÅ٤ˤʤë¤Þ¤Ç²óž¤ò³¤±¤Þ¤¹¡£
¤³¤ÎÀßÄê¤ò¹Ô¤Ã¤Æ¤¤¤ë¤¿¤á¡¢¤¯¤ë¤¯¤ë¤È¼þ²ó¤·¤Æ²óž¤ò¤·¤Æ¤¤¤Þ¤¹¡£
¡¡DOLocalRotate¥á¥½¥Ã¥É¤Ë³¤¤¤Æ¥Ô¥ê¥ª¥É¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢Â³¤¯¥á¥½¥Ã¥É¤Ï¡¢¤³¤ÎDOLocalRotate¥á¥½¥Ã¥É¤ËÉտ路¤¿½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡SetEase¥á¥½¥Ã¥É¤Ç¤Ï°ú¿ô¤Ç»ØÄꤷ¤¿¥¢¥Ë¥á¤ÎºÆÀ¸¤ÎÀßÄ꤬²Äǽ¤Ç¤¹¡£º£²ó¤Ï°ìÄê¤Î®¤µ¤Ç²óž¤¹¤ë¤è¤¦¤Ë Ease.Linear ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£
A-2)sequence.Join(transform.DOScale(startScale * 1.5f, 1.0f).SetEase(Ease.InCirc));
¡¡Join¥á¥½¥Ã¥É¤Ç¤¹¤Î¤Ç¡¢A-1¤ÎAppend¥á¥½¥Ã¥É¤ÈƱ»þ¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢²óž¤µ¤»¤ë¤ÈƱ»þ¤Ë¡¢DoScale¥á¥½¥Ã¥É¤Î½èÍý¤â°ì½ï¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£
¡¡transform(Ũ¼«¿È)¤ËÂФ·¤Æ¡¢DoScale¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Å¨¤ÎScale¤òÊѹ¹¤¹¤ë½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
Âè1°ú¿ô¤Ç»ØÄꤷ¤¿Scale¤Ë¡¢Âè2°ú¿ô¤Î»þ´Ö¤ò¤«¤±¤ÆScale¤òÊѹ¹¤·¤Þ¤¹¡£startScale * 1.5f ¤ò»ØÄꤷ¤Æ¤¤¤ë¤Î¤Ç¡¢1É䫤±¤Æ¸µ¤ÎÂ礤µ¤Î1.5Çܤˤʤë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤ì¤ò²óž¤ÈƱ»þ¤Ë¹Ô¤¦¤³¤È¤Ç¡¢²óž¤·¤Ê¤¬¤éÂ礤µ¤¬¤¬ÊѲ½¤¹¤ë¡¢¤È¤¤¤¦¥¢¥Ë¥á±é½Ð¤òƱ»þ¤Ë¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
B-1)sequence.AppendInterval(0.15f);
¡¡°ú¿ô¤Ç»ØÄꤷ¤¿»þ´Ö¤À¤±½èÍý¤òÂÔµ¡¤·¤Þ¤¹¡£¤³¤ì¤ÏA¤Î½èÍý¤¬½ªÎ»¤·¤Æ¤«¤é¹Ô¤ï¤ì¤Þ¤¹¡£
B-2)sequence.Join(transform.DOScale(startScale, 0.15f).SetEase(Ease.InCirc));
¡¡Join¥á¥½¥Ã¥É¤Ç¤¹¤Î¤Ç¡¢B-1¤ÎÂÔµ¡¤È½èÍý¤ÈƱ»þ¤Ë¤³¤Î½èÍý¤¬¹Ô¤ï¤ì¤Þ¤¹¡£A-2¤ÈƱ¤¸DoScale¥á¥½¥Ã¥É¤Ç¤¹¡£
¤³¤³¤Ç¤âtransform(Ũ¼«¿È)¤ËÂФ·¤Æ¡¢DoScale¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Å¨¤ÎScale¤òÊѹ¹¤¹¤ë½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
°ì»þŪ¤Ë1.5ÇܤÎÂ礤µ¤Ë¤Ê¤Ã¤Æ¤¤¤ëŨ¤ò¸µ¤ÎÂ礤µ¤ËÌᤷ¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤ì¤ò°ìÏ¢¤Îή¤ì¤È¤·¤Æ½èÍý¤¹¤ë¤È¡¢¸«¤¨¤Ê¤¤Å¨¤¬²óž¤·¤Ê¤¬¤éÂ礤¯¤Ê¤Ã¤Æ¡¢¤½¤·¤Æ¾¯¤·½Ì¤à¡¢¤È¤¤¤¦¥¢¥Ë¥á±é½Ð¤ò¼Â¹Ô¤·¤Æ¤Þ¤¹¡£