Slide 1

Slide 1 text

8 min Gotanda.unity #17 ゆーじ @yuji_ap

Slide 2

Slide 2 text

自己紹介 『CUBE CLONES』 AppStore / GooglePlay 370円 DOTweenやUIデザインが好きなエンジニア 最近パズルゲームをリリースしました

Slide 3

Slide 3 text

今日の内容 便利だけど知らない人がいそうなDOTweenの機能をパパッと7つ紹介 DOTween触ったことない方は、 これだけ覚えてもらえれば何となく理解できるかと思います...! [ 対象 ] [ 操作 ] [ 値 ] [ 秒数 ] 自身を X方向に動かす 3まで 0.5秒間で

Slide 4

Slide 4 text

秒数に0を指定する 便利Tips ①

Slide 5

Slide 5 text

秒数に0を指定する position.xの値を変更したい場合 DOMoveX()で秒数に0を指定すれば、同じことが1行でできる

Slide 6

Slide 6 text

相対的な値を指定する 便利Tips ②

Slide 7

Slide 7 text

相対的な値を指定する 通常は絶対的な値を指定する SetRelative(true) で相対的な値を指定できる

Slide 8

Slide 8 text

timescaleを無視する 便利Tips ③

Slide 9

Slide 9 text

timescaleを無視する SetUpdate(true)をつけることでtimescaleを無視できる ちなみにTween自体のtimescaleは以下のように変えられる

Slide 10

Slide 10 text

開始時の値を指定する 便利Tips ④

Slide 11

Slide 11 text

開始時の値を指定する 通常は終了時の値を指定する From() で開始時の値を指定できる 開始時に第一引数の値に瞬時に変わり、元の値まで進む

Slide 12

Slide 12 text

一定時間後に処理実行する 便利Tips ⑤

Slide 13

Slide 13 text

一定時間後に処理実行する UniTask、コルーチン、Invokeメソッドなど 広く知られている方法がいくつかある DOTweenを入れていれば、 DOVirtual.DelayCall() でも実現できる

Slide 14

Slide 14 text

共通のパラメータを使う 便利Tips ⑥

Slide 15

Slide 15 text

共通のパラメータを使う TweenParams型の変数にメソッドチェインでパラメータを指定することで、 パラメータのプリセットのようなものが作れる SetAs() でTweenに適用できる →同じパラメータを複数Tweenで使い回すことができる

Slide 16

Slide 16 text

SetAs()の別の使い方 SetAs() は引数に直接Tweenを指定することもできる →パラメータをコピーできる

Slide 17

Slide 17 text

往復アニメーション 便利Tips ⑦

Slide 18

Slide 18 text

往復アニメーション Loop回数を2、LoopTypeをYoyoにすることで 往復アニメーションができる 時間の都合上省略するが、 Ease.Flash系でも似たことが実現できる

Slide 19

Slide 19 text

まとめ DOTweenは便利な使い方がたくさん! 使っていく中で見つける便利ハックみたいなものもあるが、 今回紹介したものも半分以上は公式ドキュメントに書いてある http://dotween.demigiant.com/documentation.php

Slide 20

Slide 20 text

おまけ DOTweenの逆引きサンプル集をいつか作りたい 完成しているUIアニメーションを提示して、 「これはDOTweenでどう作っているのか」を解説する形式 「動かせます」「色が変わります」は機能として分かるけど、 じゃあいい感じのアニメーションを作るには何を動かして何色に変えればいいの? →完成品を見て「これのこの部分を真似したい!」が効率的なのでは

Slide 21

Slide 21 text

Gotanda.unity #17 ゆーじ @yuji_ap ① 秒数に0を指定する      DOMoveX(3f, 0) ② 相対的な値を指定する     SetRelative(true) ③ timescaleを無視する     SetUpdate(true) ④ 開始時の値を指定する     From() ⑤ 一定時間後に処理実行する   DOVirtual.DelayCall() ⑥ 共通のパラメータを使う    TweenParams, SetAs() ⑦ 往復アニメーション      SetLoops(2, LoopType.Yoyo)