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

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

¼ê½ç£¸¡¡¡ÝDoTween¤Î½èÍý¤ò¼ÂÁõ¡Ý
£±£µ¡¥DoTween¤ò¥¤¥ó¥Ý¡¼¥È¤·¤ÆÀßÄꤹ¤ë
£±£¶¡¥Åªµå¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥²¡¼¥à³«»Ï»þ¤Ë¥¢¥Ë¥áɽ¼¨¤µ¤»¤ë



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

¡¦DoTween¤ÎÊä´Öµ¡Ç½¤È¼ÂÁõÎã­¡¡¡Sequenceµ¡Ç½



£±£µ¡¥DoTween¤ò¥¤¥ó¥Ý¡¼¥È¤·¤ÆÀßÄꤹ¤ë


¡¡DoTween¤ÏUnity¤Î¥¢¥»¥Ã¥È¥¹¥È¥¢¤Ë¤Æ̵½þ¤Ç¸ø³«¤µ¤ì¤Æ¤¤¤ë¡¢Tween·Ï¥¢¥»¥Ã¥È¤Ç¤¹¡£
¥¢¥»¥Ã¥È¥¹¥È¥¢¤Ë¥µ¥¤¥ó¥¤¥ó¤·¤Æ¡¢¸¡º÷¤ÇDoTween¤ÈÆþÎϤ¹¤ì¤Ð¸«¤Ä¤«¤ê¤Þ¤¹¡£ProÈÇ¡ÊÍ­½þ¡Ë¤â¤¢¤ê¤Þ¤¹¤¬¡¢Ìµ½þÈǤÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£



ľÀܤΥê¥ó¥¯¥¢¥É¥ì¥¹¤Ï¤³¤Á¤é¤Ç¤¹¡£
https://assetstore.unity.com/packages/tools/animat...

¡¡¥À¥¦¥ó¥í¡¼¥É¤·¤ÆUnity¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Æ¤¯¤À¤µ¤¤¡£¥¤¥ó¥Ý¡¼¥ÈÀßÄê¤Ï¤½¤Î¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤ë¤ÈProjectÆâ¤ËDemigiant¤È¤¤¤¦¥Õ¥©¥ë¥À¤¬Äɲ䵤ì¤Þ¤¹¡£¤³¤Á¤é¤¬DoTween¥¢¥»¥Ã¥È¤Î¥Õ¥©¥ë¥À¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¥¤¥ó¥Ý¡¼¥È¸å¡¢DOTween Utility Panel¤È¤¤¤¦¡¢DoTween¤ÎÀßÄêÍѤΥݥåץ¢¥Ã¥×¥¦¥¤¥ó¥É¥¦¤¬¼«Æ°Åª¤Ë³«¤­¤Þ¤¹¤Î¤Ç¡¢Setup DOTween¥Ü¥¿¥ó¤ò²¡¤·¤Æ¼Â¹Ô¤·¤Þ¤·¤ç¤¦¡£
¤â¤·¤â¼«Æ°¤Ç³«¤«¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Unity¤Îº¸¾å¤Î¥á¥Ë¥å¡¼¤è¤ê Tools => Demigiant => DOTween Utility Panel ¤òÁªÂò¤¹¤ì¤Ð¥¦¥¤¥ó¥É¥¦¤ò³«¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£



¡¡½àÈ÷ÍѤΥݥåץ¢¥Ã¥×¤¬¤µ¤é¤Ë³«¤¤¤Æ¡¢½àÈ÷¤¬´°Î»¤¹¤ë¤ÈApply¥Ü¥¿¥ó¤¬²¡¤»¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£



¡¡¤³¤ì¤ÇDoTween¤Î½àÈ÷¤¬´°Î»¤·¡¢Unity¤ÇÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£Àè¤Û¤É¤ÎDOTween Utility Panel ¥¦¥¤¥ó¥É¥¦¤ÏÊĤ¸¤Æ¤·¤Þ¤Ã¤ÆÌäÂꤢ¤ê¤Þ¤»¤ó¡£

¡¡¤Ê¤ªDoTween¤Ë¤ÏÍÍ¡¹¤Êµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¤¬¡¢º£²ó¤ÎÀ½ºî¤Ç¤Ï¤½¤Î°ìÉô¤òÍøÍѤ·¤Æ¤¤¤­¤Þ¤¹¡£
¾Ü¤·¤¤ÀâÌÀ¤Ï¸ø¼°¥ê¥Õ¥¡¥ì¥ó¥¹¡¢¤¢¤ë¤¤¤Ï¿¤¯¤Î»ÈÍÑÊýË¡¤Î¾Ò²ðµ­»ö¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤´¼«Ê¬¤ÇÄ´¤Ù¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¸ø¼°¥µ¥¤¥È¤Î¥ê¥ó¥¯¡Ê¥É¥­¥å¥á¥ó¥È¡Ë
http://dotween.demigiant.com/documentation.php


£±£¶¡¥Åªµå¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥¢¥Ë¥á±é½Ð¤òÄɲ䵤»¤ë

Àß·×


¡¡DoTween¤Îµ¡Ç½¤òÊä´Ö½èÍý¤òÍøÍѤ·¤Æ¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥Ë¥á±é½Ð¤ò¼ÂÁõ¤·¤Þ¤¹¡£

¡¡DoTween¤Ë¤ÏÂ礭¤¯¤ï¤±¤Æ¡¢Ã±ÂΤǥ᥽¥Ã¥É¤ò½ñ¤¤¤Æ¼Â¹Ô¤¹¤ëÊýË¡¤È¡¢Ê£¿ô¤Î½èÍý¤ò¤Þ¤È¤á¤Æ½ñ¤¤¤Æ½çÈÖÄ̤ê¤äƱ»þ¤Ë½èÍý¤¹¤ëSequence(¥·¡¼¥±¥ó¥¹)¤È¤¤¤¦ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£

¡¡¤³¤³¤Ç¤ÏξÊý¤Î½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤¹¡£
¡¡
¡¡¤Þ¤º¤ÏºÇ½é¤Ë¡¢Ã±ÂΤΥ᥽¥Ã¥É¤Ç¤Î½èÍý¤ò½ñ¤¤¤Æ¼Â¹Ô¤·¤Æ³Îǧ¤ò¹Ô¤¤¤Þ¤¹¡£
¤½¤Î¤¢¤È¡¢Sequence(¥·¡¼¥±¥ó¥¹)¤òÍøÍѤ·¤Æ¡¢Ê£¿ô¤ÎÊä´Ö½èÍý¤ò½çÈ֤˽èÍý¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£


¡¡½èÍý¤òÄɲ乤ë²Õ½ê¤Ï£²¤«½ê¤Ç¤¹¡£Start¥á¥½¥Ã¥ÉÆâ¤ËŨ¤Î½Ð¸½»þ¤Î¥¢¥Ë¥á±é½Ð¤òÄɲä·¡¢
OnCollisionEnter2D¥á¥½¥Ã¥ÉÆâ¤Ë¼êµå¤ÈÀÜ¿¨¤·¤¿ºÝ¤Î¥¢¥Ë¥á±é½Ð¤òÄɲä·¤Þ¤¹¡£

¡¡½çÈ֤Ȥ·¤Æ¤ÏºÇ½é¤Ë¡¢OnCollisionEnter2D¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤«¤éÄɲä·¤Þ¤¹¡£¤³¤Á¤é¤ÏñÂΤΥ᥽¥Ã¥É¤ò¼Â¹Ô¤¹¤ë½èÍý¤Ç¡¢¼êµå¤ÈÀÜ¿¨¤·¤¿ºÝ¤ËŪµå¤ò£²²óž¤µ¤»¤ë½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î½èÍý¤¬ÌäÂê¤Ê¤¯Æ°¤¤¤¿¤é¡¢¼¡¤Ë¡¢Start¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤òÄɲä·¤Þ¤¹¡£¤³¤Á¤é¤ÏSequence¤òÍøÍѤ·¡¢Ê£¿ô¤Î¥¢¥Ë¥á½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£


¡¡¤Ê¤ªDoTween¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï˺¤ì¤º¤Ë using DG.Tweening; ¤òÊäµ­¤·¤Æ¤¯¤À¤µ¤¤¡£

Ūµå¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¼êµå¤ËÀÜ¿¨¤·¤¿ºÝ¤ËŪµå¤ò²óž¤µ¤»¤ë


¡¡¤½¤ì¤Ç¤Ï¡¢DoTween¤Î»ý¤Ä¥á¥½¥Ã¥É¤òÄɲä·¡¢²óž½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤¹¡£


EnemyBall.cs

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



¡ãOnCollisionEnter2D¥á¥½¥Ã¥É¤Ç¤ÎDoTween¤Ë¤è¤ë²óž½èÍý¡ä


  transform.DOLocalRotate(new Vector3(0, 720, 0), 0.5f, RotateMode.FastBeyond360).SetEase(Ease.Linear);

¡¡¤³¤³¤Ç¤Ï²óž½èÍý¤ò¹Ô¤¦¤¿¤á¤Ë¡¢transform(Ũ¼«¿È)¤ËÂФ·¤Æ¡¢DOLocalRotate¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ë¤Ï°ú¿ô¤¬3¤Ä¤¢¤ê¤Þ¤¹¡£

Âè1°ú¿ô¤¬²óž¤µ¤»¤ë¼´¤È³ÑÅÙ¤ò»ØÄꤷ¤Þ¤¹¡£º£²ó¤ÏY¼´¤Î¤ß720ÅÙ(2¼þ)¤µ¤»¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
Âè2°ú¿ô¤Ï²óž¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤Î»þ´Ö¤ò»ØÄꤷ¤Þ¤¹¡£º£²ó¤Ï 0.5f ¤È¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢0.5ÉÃ¤Î´Ö¤Ë 720 ÅÙ(£²)²óž¤¹¤ë¤è¤¦¤ËÌ¿Îá¤ò½Ð¤·¤Æ¤¤¤Þ¤¹¡£
Âè3°ú¿ô¤Ï¥ª¡¼¥Ð¡¼¥í¡¼¥É¤Î°ú¿ô¤Ç¡¢²óž¤µ¤»¤ëºÝ¤Î¾ò·ï¤ò»ØÄꤷ¤¿¾ì¹ç¤Î¤ßÀßÄꤷ¤¿ÆâÍƤǽèÍý¤µ¤ì¤Þ¤¹¡£
º£²ó¤Ï RotateMode.FastBeyond360 ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢360 ÅÙ¤ò±Û¤¨¤¿²óž³ÑÅ٤Ǥ¢¤Ã¤Æ¤â1¼þ¤Ç¤Ï»ß¤Þ¤é¤º¤Ë¡¢»ØÄꤷ¤¿³ÑÅ٤ˤʤë¤Þ¤Ç²óž¤ò³¤±¤Þ¤¹¡£
¤³¤ÎÀßÄê¤ò¹Ô¤Ã¤Æ¤¤¤ë¤¿¤á¡¢¤¯¤ë¤¯¤ë¤È¼þ²ó¤·¤Æ²óž¤ò¤·¤Æ¤¤¤Þ¤¹¡£

¡¡DOLocalRotate¥á¥½¥Ã¥É¤Ë³¤¤¤Æ¥Ô¥ê¥ª¥É¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢Â³¤¯¥á¥½¥Ã¥É¤Ï¡¢¤³¤ÎDOLocalRotate¥á¥½¥Ã¥É¤ËÉտ路¤¿½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡SetEase¥á¥½¥Ã¥É¤Ç¤Ï°ú¿ô¤Ç»ØÄꤷ¤¿¥¢¥Ë¥á¤ÎºÆÀ¸¤ÎÀßÄ꤬²Äǽ¤Ç¤¹¡£º£²ó¤Ï°ìÄê¤Î®¤µ¤Ç²óž¤¹¤ë¤è¤¦¤Ë Ease.Linear ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£


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


¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤·¤Þ¤¹¡£¼êµå¤òÃƤ¤¤ÆŪµå¤ËÀÜ¿¨¤µ¤»¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
Ūµå¤¬²óž¤¹¤ì¤ÐÀ®¸ù¤Ç¤¹¡£¼¡¤Î±é½Ð½èÍý¤òÄɲä·¤Þ¤·¤ç¤¦¡£


¸¡¾ÚÆ°²è¡¡
https://gyazo.com/2803ea9f7568990a7af209d74589c662



Ūµå¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢Åªµå¤ò½ù¡¹¤Ë³ÈÂ礷¤Ê¤¬¤é½Ð¸½¤¹¤ë±é½Ð¤òÄɲ乤ë


¡¡¤³¤³¤Ç¤ÏSequence¤òÍøÍѤ·¤Æ¡¢Ê£¿ô¤Î½èÍý¤ò¤Þ¤È¤á¤Æ½çÈÖÄ̤ê¤Ë¼Â¹Ô¤¹¤ë½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤¹¡£


EnemyBall.cs

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



¡ãSequence(¥·¡¼¥±¥ó¥¹)¤Î¼ÂÁõÎã¡ä


¡¡DoTween¤Ë¤è¤ëÊä´Ö½èÍý¤òSequence¤òÍøÍѤ·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£
Sequence¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢DoTween¤Î½èÍý¤ò¼«Ê¬¤ÎÁȤßΩ¤Æ¤¿½çÈÖÄ̤ꡢ¤¢¤ë¤¤¤ÏƱ»þ¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¡¡
Àè¤Û¤É¤â½ñ¤­¤Þ¤·¤¿¤¬¡¢¥¹¥¯¥ê¥×¥ÈÆâ¤ÇDoTween¤Î½èÍý¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Ë¤Ï¡¢ºÇ½é¤Ë using ¤Ë¤è¤ëÀë¸À¤¬É¬Íפˤʤê¤Þ¤¹¡£

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;                      // ¡ù¡¡<=¡¡Äɲä·¤Þ¤¹



¡¡Sequence¤Ë¤ÏÍÍ¡¹¤Ê¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¤¬¡¢º£²óÍøÍѤ·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤òÀâÌÀ¤·¤Þ¤¹¡£


¡¡Append()¡¡
¡¡¡¡¡¡¥¢¥Ú¥ó¥É¤ÈÆɤߤޤ¹¡£°ú¿ô¤Ë»ØÄꤷ¤¿½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£¼¡¤Ë¤¢¤ë¥á¥½¥Ã¥É¤¬Sequence¤ÎAppend¥á¥½¥Ã¥É¤Ç¤¢¤ë¾ì¹ç¡¢¤³¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¼¡¤ÎAppend¥á¥½¥Ã¥É¤ÏÆ°¤­¤Þ¤»¤ó¡£


¡¡AppendInterval()¡¡
¡¡¡¡¡¡¥¢¥Ú¥ó¥É¡¦¥¤¥ó¥¿¡¼¥Ð¥ë¤ÈÆɤߤޤ¹¡£¼¡¤Ë¤¢¤ë¥á¥½¥Ã¥É¤¬Sequence¤ÎAppend¥á¥½¥Ã¥É¤Ç¤¢¤ë¾ì¹ç¡¢°ú¿ô¤Ç¤·¤¿»þ´Ö¤À¤±¼¡¤ÎAppend¥á¥½¥Ã¥É¤Ë°Ü¤é¤º¤ËÂÔµ¡¤·¤Þ¤¹¡£


¡¡Join()¡¡
¡¡¡¡¡¡¥¸¥ç¥¤¥ó¤ÈÆɤߤޤ¹¡£Append¥á¥½¥Ã¥É¤È°ì½ï¤ËÍѤ¤¤é¤ì¤Þ¤¹¡£Append¥á¥½¥Ã¥É¤Î¼¡¤Î¥á¥½¥Ã¥É¤¬Join¥á¥½¥Ã¥É¤Ç¤¢¤ë¾ì¹ç
¡¡¡¡¤³¤ÎJoin¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë¤·¤Æ¤¤¤ë½èÍý¤ÏAppend¥á¥½¥Ã¥É¤ÈƱ»þ¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£Ê£¿ô¤ÎJoin¤ò³¤±¤Æ½ñ¤¤¤¿¾ì¹ç¡¢ºÇ½é¤ÎAppend¥á¥½¥Ã¥É¤ÈƱ»þ¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£



¡¡Â¿¤¯¤ÎÊý¤¬¤ï¤«¤ê¤ä¤¹¤¤µ­»ö¤ò½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
@kagigiÍÍ
DOTween¤ò¤Õ¤ï¤Ã¤È¤Þ¤È¤á¤Æ¤ß¤¿
https://qiita.com/kagigi/items/bdf4d42835add07b007...
¥¢¥Þ¥¬¥ß¥Ê¥Ö¥í¥°ÍÍ
DOTween¤Î»È¤¤Êý Tween¥¢¥Ë¥á¡¼¥·¥ç¥óÆþÌç¡ÚUnity¡Û
https://amagamina.jp/how-to-dotween/


Start¥á¥½¥Ã¥É¤Ç¤ÎSequence½èÍý


        // ºÇ½é¤Î¥¹¥±¡¼¥ë¤òÊÝ»ý
        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ÇܤÎÂ礭¤µ¤Ë¤Ê¤Ã¤Æ¤¤¤ëŨ¤ò¸µ¤ÎÂ礭¤µ¤ËÌᤷ¤Æ¤¤¤Þ¤¹¡£


¡¡¤³¤ì¤ò°ìÏ¢¤Îή¤ì¤È¤·¤Æ½èÍý¤¹¤ë¤È¡¢¸«¤¨¤Ê¤¤Å¨¤¬²óž¤·¤Ê¤¬¤éÂ礭¤¯¤Ê¤Ã¤Æ¡¢¤½¤·¤Æ¾¯¤·½Ì¤à¡¢¤È¤¤¤¦¥¢¥Ë¥á±é½Ð¤ò¼Â¹Ô¤·¤Æ¤Þ¤¹¡£


OnCollisionEnter2D¥á¥½¥Ã¥É¤Ç¤ÎSequence½èÍý


                // Sequence½é´ü²½
                Sequence sequence = DOTween.Sequence();

                // ­¢¼êµå¤ÈÀÜ¿¨¤¹¤ë¤ÈŨ¤ò²óž
                sequence.Append(transform.DOLocalRotate(new Vector3(0, 720, 0), 0.5f, RotateMode.FastBeyond360).SetEase(Ease.Linear));

¡¡Sequence¤Î½é´ü²½¤ÏƱ¤¸¤Ç¤¹¡£

¡¡Append¤Ç¤Î½èÍý¤â¡¢Àè¤Û¤É¤ÈƱ¤¸²óž½èÍý¤Ç¤¹¡£
¤³¤ì¤Ï¼¡¤Î¼ê½ç¤Ç¹Ô¤¦½èÍý¤Ë¹ç¤ï¤»¤ÆSequence¤Ç¤Î½èÍý¤ËÊѹ¹¤·¤Æ¤¤¤Þ¤¹¤¬¡¢½èÍý¤ÎÆâÍƤÏÀè¤Û¤É¤ÈÊѤï¤ê¤Þ¤»¤ó¡£


­¡¤È­¢¤ÎŨ¤Î¥¢¥Ë¥á±é½Ð¤ò³Îǧ¤¹¤ë


¡¡EnemyBall¥¹¥¯¥ê¥×¥È¤Î­¡¤È­¢¤Î²Õ½ê¤Ë¤Ä¤¤¤Æ¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆµóÆ°¤ò³Îǧ¤·¤Þ¤¹¡£


¡¡­¡¤Ï¡¢¥²¡¼¥à¤Î¼Â¹Ô¤ÈƱ»þ¤Ë¸«¤¨¤Ê¤¯¤Ê¤ê¡¢¤½¤Î¸å¡¢Â礭¤¯¤Ê¤ê¤Ê¤¬¤éɽ¼¨¤µ¤ì¤Þ¤¹¡£

¸¡¾ÚÆ°²è­¡¡¡Å¨¤ò²óž¤µ¤»¤Ê¤¬¤é1.5ÇܤÎÂ礭¤µ¤Ë¤·¡¢¤½¤Î¸å¡¢¸µ¤ÎÂ礭¤µ¤ËÌᤷ¤Ê¤¬¤é½Ð¸½¤µ¤»¤ë
https://gyazo.com/428e0f7facd5a9084c35b40ea52a5698


¡¡­¢¤Ï¡¢¼êµå¤ÈÀÜ¿¨¤·¤¿ºÝ¤Ë¤Ï¤¯¤ë¤¯¤ë¤È²óž¤·¤Þ¤¹¡£¤³¤Á¤é¤ÏÀè¤Û¤ÉÄɲä·¤¿½èÍý¤ÈƱ¤¸¤â¤Î¤Ç¤¹¤Î¤Ç¡¢½èÍý¤¬Æ°¤¤¤Æ¤¤¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£


¸¡¾ÚÆ°²è­¢¡¡¼êµå¤ÈÀÜ¿¨¤¹¤ë¤ÈŨ¤ò²óž
https://gyazo.com/8678fe87a3e70331d6f97c2b1da62224


¡¡­¡¤Î½èÍý¤Ï£´¤Ä¤Î½èÍý¤¬Ê£¹ç¤·¤Æ½èÍý¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤Þ¤º¤ÏºÇ½é¤Î1¹Ô¤Î¤ß¤ò»Ä¤·¤Æ²¼¤Î3¹Ô¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤·¡¢¤É¤Î¤è¤¦¤ÊµóÆ°¤Ë¤Ê¤ë¤«¤ò³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤½¤Î¸å¡¢½ù¡¹¤Ë1¹Ô¤º¤Ä¥³¥á¥ó¥È¥¢¥¦¥È¤ò²ò½ü¤·¤Æ¤¤¤Ã¤Æ¡¢ºÇ½ªÅª¤ÊÆ°¤­¤Ë¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

¥³¥á¥ó¥È¥¢¥¦¥È¤ò³èÍѤ·¤Æ¡¢DoTween¤Îµ¡Ç½¤Î¸¡¾Ú¤ò¹Ô¤¦
  // ­¡Å¨¤ò²óž¤µ¤»¤Ê¤¬¤é1.5ÇܤÎÂ礭¤µ¤Ë¤·¡¢¤½¤Î¸å¡¢¸µ¤ÎÂ礭¤µ¤ËÌᤷ¤Ê¤¬¤é½Ð¸½¤µ¤»¤ë
  sequence.Append(transform.DOLocalRotate(new Vector2(0, 720), 1.0f, RotateMode.FastBeyond360).SetEase(Ease.Linear));¡¡¡¡<=¡¡¤³¤³¤À¤±¼Â¹Ô¤·¤¿¤é¤É¤¦¤Ê¤ë¤«
  //sequence.Join(transform.DOScale(startScale * 1.5f, 1.0f).SetEase(Ease.InCirc));
  //sequence.AppendInterval(0.15f);
  //sequence.Join(transform.DOScale(startScale, 0.15f).SetEase(Ease.InCirc));


¡¡¤É¤Î¤è¤¦¤Êºî¤ê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤òÃΤ뤳¤È¤Ç¡¢º£¸å¡¢¼«Ê¬¤Ç¥¢¥Ë¥á±é½Ð¤òºîÀ®¤¹¤ëºÝ¤Î»²¹Í¤Ë¤Ê¤ê¤Þ¤¹¡£


¡¡¤³¤Î¼ê½ç¤Ï°Ê¾å¤Ë¤Ê¤ê¤Þ¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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