๊ณตํ ๋ฌธ์ ๊ฐ์ด๋ ์ ๋์ด ์์
๋๊ฐ ์ง์ ์ํธ์ค๋ฅผ ๋ง๋ค์๋ ์๊ณ ์ด๋ฏธ ๋ง๋ค์ด์ ์๋ ํจ์๋ฅผ ์ธ์๋ ์์. ๋ํธ์์ ์ฝ์ด๋ ์๊ฐ๋ค๋ฃจ๊ธฐ ์. ์ฝ๋ฃจํด์ผ๋ก ์๊ฐ๋ค๋ฃจ๋๊ฒ ๋ณต์กํ๋์์ผ๋ก ์ด์ด์ง๋ฉด ์ฌ์ค์ ๊ด๋ฆฌ ๋ถ๊ฐ๋ฅ์ด๊ฑฐ๋ . ๊ทธ๋ฐ๋ฉด์์ ์์ ํธํ์ธ๊ฑฐ.
์ผ๋จ ๋ค์ด๋ก๋ ๋ฐ๊ณ ์ค์นํ๋ค์ 3dํ๋ก์ ํธ ๋ง๋ค๊ณ ํ๊ณต์ ํ๋ธ ๋ง๋ค๊ณ ๋น ์คํฌ๋ฆฝํธ ๋ถ์ฌ์ฃผ๊ณ ์ด์ด์ using DG.Tweening ์ถ๊ฐํ์ ๋ค์์คํ์ด์ค๋ก. ๊ทธ๋ค์ Start()์ transform.DOMove(0,0,100); ํด๋ณด๋ฉด ์ดํด๋ ๊ฑฐ์
ํจ์๋ฅผ ํ์ฅํด์ "์ฌ๊ธฐ์ dotween์ ์ธ์ ์์ด์ผ ์ ์์๋๋?" ํ ๋ . ์ฐ๊ณ DO ํ์ดํํ๋ฉด ์ฃผ๋ฃจ๋ฃจ๋ฃจ๋ฃจ๋ฃฉ ๋์ด.
์ ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ DO ํจ์๋ ๋๋ฒ์งธ ์ธ์๊ฐ์ผ๋ก ๊ทธ ํ์๋ฅผ ํ๋ ์ง์์๊ฐ ์ ์ด๋จ์๋ก ๋ฃ์ด์ค์ผํจ. DOMove(new Vector3( 0,0,100),3f); ํ๋ฉด ์ง๊ธ ์์น์์ 0,0,100 ๊น์ง 3์ด์์ ์ด๋ํ๋ค! ์
๊ทธ๋ค์ DOํจ์๋ค์ ํธ์ถ์ด ๋๋๊ณ ๋ . ์ฐ์ผ๋ฉด ์ญ๋ฃจ๋ฃจ๋ฃจ๋ฃจ๋ฃฉ ๋์ค๋๋ฐ ์ฃผ์๊น๊ฒ ๋ด์ผํ๋๊ฒ๋ค์ด .On์ผ๋ก์์ํ๋ ์ฝ๋ฐฑ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ค .Kill .Pause .SetEase(Ease์ด๊ฑฐํ์ธ์) ์ด๋ ๊ฒ๋ง ์์๋ ์๊ฑด ๋ค์๊ฑฐ
ํ๋๋, ๋ชจ๋ DO ํจ์๋ ๋ฐํ๊ฐ์ผ๋ก Tween ์ ์ค. ์ด ๋ณ์๋ฅผ ๋ฐ์๋ค Pause Kill ๋ ๋ค๊ฐ๋ฅ "์คํฌ ์์ ํ๋ค ๋ฐฉํด๋ฐ๊ณ ๋๊ธฐ๋ ๊ฒ" ๊ฐ์ ๋๋์ด๋ผ ๋ณด๋ฉด๋จ, ๋ ์ค์ ๋ก ์ด๋ ๊ฒ ๊ตฌํํ๊ณ "๋๊ธฐ๋ ๊ฒ"์ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ ์ง์ํด์ค, ๊ทธ๋ผ ์ด ์ฝ๋ฐฑ์ ์คํฌ์์ ์ค์ ์๊ธด ์ดํํธ๋ฅผ ์ญ์ ํ๋ ์ฝ๋๊ฐ ๋ค์ด๊ฐ์ผ๋๋๊ฑฐ์ง
๊ทธ๋ค์์ Sequence์ธ๋ฐ ์๊ฐ์กฐ์ ์ ๋ด๊ฐ ๋ง๋ ํจ์๋ค๋ง ์ ์ฉ์ํค๋ ค ํ ๋ DO ํจ์๋ค์ ๋ฑํ ํ์๊ฐ ์์์ด. Sequence mySequence = DOTween.Sequence(); +++++mySequence.Append(transform.DOMoveX(45, 1)) +++++ .Append(transform.DORotate(new Vector3(0,180,0), 1)) +++++ .PrependInterval(1) +++++ .Insert(0, transform.DOScale(new Vector3(3,3,3), mySequence.Duration())); ์ด๋ฐ์์ผ๋ก ์ฐ๊ฒ๋จ.Sequence ์ฝ๋ฐฑ์ ๋๋ค๋ฅผ ์ง์ด๋ฃ๋ฒ๋ฆฌ๋ฉด ๋ด๊ฐ ๋ง๋ ํจ์๋ค๋ ์๊ฐ ์ ์ฉ์ ํ ์์๋๊ฑฐ๊ณ ํน์ ์๋ง์ DO ๋ค์ ์ ๋ ๊ฒ
์ปจํธ๋กค ํ ์์๋๋ฐ ๋์จ์ฌ์ ๊นจ์ ๋ฒ๋ฆฌ๋ค์ด๊ฒ ๊ณต์๋งค๋ด์ผ์http://dotween.demigiant.com/documentation.php
์๋ฐ ๊ฒ๋ ์น์ ํ๋ค. ๋๋ถ์ ๋๋ ๋ฐฐ์๊ฐ๋ค ๊ตฟ๊ตฟ๊ตฟ
์ธ๋ถ์ด ์น์ ํ๊ฑฐ๋ณด์
์ค์ฐ ์ด์ ์ผ ๋ดค๋ค์;; ๊ฐ์ฌํฉ๋๋ค
์ฒ์ฒํ ์ฝ์๊ฒ ๊ณ ๋ง๋ค
๊ณตํ ๋ฌธ์ ๊ฐ์ด๋ ์ ๋์ด ์์
๋๊ฐ ์ง์ ์ํธ์ค๋ฅผ ๋ง๋ค์๋ ์๊ณ ์ด๋ฏธ ๋ง๋ค์ด์ ์๋ ํจ์๋ฅผ ์ธ์๋ ์์. ๋ํธ์์ ์ฝ์ด๋ ์๊ฐ๋ค๋ฃจ๊ธฐ ์. ์ฝ๋ฃจํด์ผ๋ก ์๊ฐ๋ค๋ฃจ๋๊ฒ ๋ณต์กํ๋์์ผ๋ก ์ด์ด์ง๋ฉด ์ฌ์ค์ ๊ด๋ฆฌ ๋ถ๊ฐ๋ฅ์ด๊ฑฐ๋ . ๊ทธ๋ฐ๋ฉด์์ ์์ ํธํ์ธ๊ฑฐ.
์ผ๋จ ๋ค์ด๋ก๋ ๋ฐ๊ณ ์ค์นํ๋ค์ 3dํ๋ก์ ํธ ๋ง๋ค๊ณ ํ๊ณต์ ํ๋ธ ๋ง๋ค๊ณ ๋น ์คํฌ๋ฆฝํธ ๋ถ์ฌ์ฃผ๊ณ ์ด์ด์ using DG.Tweening ์ถ๊ฐํ์ ๋ค์์คํ์ด์ค๋ก. ๊ทธ๋ค์ Start()์ transform.DOMove(0,0,100); ํด๋ณด๋ฉด ์ดํด๋ ๊ฑฐ์
ํจ์๋ฅผ ํ์ฅํด์ "์ฌ๊ธฐ์ dotween์ ์ธ์ ์์ด์ผ ์ ์์๋๋?" ํ ๋ . ์ฐ๊ณ DO ํ์ดํํ๋ฉด ์ฃผ๋ฃจ๋ฃจ๋ฃจ๋ฃจ๋ฃฉ ๋์ด.
์ ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ DO ํจ์๋ ๋๋ฒ์งธ ์ธ์๊ฐ์ผ๋ก ๊ทธ ํ์๋ฅผ ํ๋ ์ง์์๊ฐ ์ ์ด๋จ์๋ก ๋ฃ์ด์ค์ผํจ. DOMove(new Vector3( 0,0,100),3f); ํ๋ฉด ์ง๊ธ ์์น์์ 0,0,100 ๊น์ง 3์ด์์ ์ด๋ํ๋ค! ์
๊ทธ๋ค์ DOํจ์๋ค์ ํธ์ถ์ด ๋๋๊ณ ๋ . ์ฐ์ผ๋ฉด ์ญ๋ฃจ๋ฃจ๋ฃจ๋ฃจ๋ฃฉ ๋์ค๋๋ฐ ์ฃผ์๊น๊ฒ ๋ด์ผํ๋๊ฒ๋ค์ด .On์ผ๋ก์์ํ๋ ์ฝ๋ฐฑ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ค .Kill .Pause .SetEase(Ease์ด๊ฑฐํ์ธ์) ์ด๋ ๊ฒ๋ง ์์๋ ์๊ฑด ๋ค์๊ฑฐ
ํ๋๋, ๋ชจ๋ DO ํจ์๋ ๋ฐํ๊ฐ์ผ๋ก Tween ์ ์ค. ์ด ๋ณ์๋ฅผ ๋ฐ์๋ค Pause Kill ๋ ๋ค๊ฐ๋ฅ "์คํฌ ์์ ํ๋ค ๋ฐฉํด๋ฐ๊ณ ๋๊ธฐ๋ ๊ฒ" ๊ฐ์ ๋๋์ด๋ผ ๋ณด๋ฉด๋จ, ๋ ์ค์ ๋ก ์ด๋ ๊ฒ ๊ตฌํํ๊ณ "๋๊ธฐ๋ ๊ฒ"์ ๋ธ๋ฆฌ๊ฒ์ดํธ๋ ์ง์ํด์ค, ๊ทธ๋ผ ์ด ์ฝ๋ฐฑ์ ์คํฌ์์ ์ค์ ์๊ธด ์ดํํธ๋ฅผ ์ญ์ ํ๋ ์ฝ๋๊ฐ ๋ค์ด๊ฐ์ผ๋๋๊ฑฐ์ง
๊ทธ๋ค์์ Sequence์ธ๋ฐ ์๊ฐ์กฐ์ ์ ๋ด๊ฐ ๋ง๋ ํจ์๋ค๋ง ์ ์ฉ์ํค๋ ค ํ ๋ DO ํจ์๋ค์ ๋ฑํ ํ์๊ฐ ์์์ด. Sequence mySequence = DOTween.Sequence(); +++++mySequence.Append(transform.DOMoveX(45, 1)) +++++ .Append(transform.DORotate(new Vector3(0,180,0), 1)) +++++ .PrependInterval(1) +++++ .Insert(0, transform.DOScale(new Vector3(3,3,3), mySequence.Duration())); ์ด๋ฐ์์ผ๋ก ์ฐ๊ฒ๋จ.Sequence ์ฝ๋ฐฑ์ ๋๋ค๋ฅผ ์ง์ด๋ฃ๋ฒ๋ฆฌ๋ฉด ๋ด๊ฐ ๋ง๋ ํจ์๋ค๋ ์๊ฐ ์ ์ฉ์ ํ ์์๋๊ฑฐ๊ณ ํน์ ์๋ง์ DO ๋ค์ ์ ๋ ๊ฒ
์ปจํธ๋กค ํ ์์๋๋ฐ ๋์จ์ฌ์ ๊นจ์ ๋ฒ๋ฆฌ๋ค
์ด๊ฒ ๊ณต์๋งค๋ด์ผ์
http://dotween.demigiant.com/documentation.php
์๋ฐ ๊ฒ๋ ์น์ ํ๋ค. ๋๋ถ์ ๋๋ ๋ฐฐ์๊ฐ๋ค ๊ตฟ๊ตฟ๊ตฟ
์ธ๋ถ์ด ์น์ ํ๊ฑฐ๋ณด์
์ค์ฐ ์ด์ ์ผ ๋ดค๋ค์;; ๊ฐ์ฌํฉ๋๋ค
์ฒ์ฒํ ์ฝ์๊ฒ ๊ณ ๋ง๋ค