AnimeTask v1.3 リリースしました!
github.comkyubuns/AnimeTask

Task(async/await)ガンガン使ってる方向けのTweenアニメーションライブラリです。
v1.0から何が変わった?
なんと、基本構文すら変わりました。
ということで、1から紹介し直します。
基本
(-5f, 0f, 0f) から (5f, 0f, 0f) へ2秒かけて移動する。
await Easing.Create<Linear>(new Vector3(-5f, 0f, 0f), new Vector3(5f, 0f, 0f), 2f).ToLocalPosition(cube);
Linearの部分を色々変えるとEasingが使えます。
例えば
await Easing.Create<InCubic>(new Vector3(-5f, 3f, 0f), 2f).ToLocalPosition(cube);
コンセプト
Easing.Create<InCubic>(new Vector3(-5f, 3f, 0f), 2f)という数字をアニメーションさせる部分(Animator)と
.ToLocalPosition(cube)という、アニメーションしている数字をLocalPositionに反映する部分(Translator)はそれぞれinterfaceが切られているので別々に拡張出来ます。
例えば後ろを .ToLocalScale(cube) とすればスケールになりますし、.ToAction<float>(x => Debug.Log(x)) とすればログに出せます。
PlayTo
現在地から指定した位置まで移動する。
await Easing.Create<Linear>(new Vector3(-5f, 3f, 0f), 2f).ToLocalPosition(cube);
新機能
Concat
アニメーションの結合が出来るようになりました。
2秒で5fから0fまで移動し、1秒停止したあと、2秒で-5fへ移動する。
await Easing.Create<OutCubic>(5f, 0f, 2f)
.Delay(1f)
.Concat(Easing.Create<OutCubic>(0f, -5f, 2f))
.Convert(x => new Vector3(x, 0f, 0f))
.ToLocalPosition(cubes[0]);移動距離から時間を計算する
基本的には「nかけて位置xまで移動する」という指定です。
「xまで、速度sで移動する」という指定が出来るようになりました。(5f, 0f, 0f) まで、距離/2秒 で移動する
await Easing.Create<OutCubic>(new Vector3(5f, 0f, 0f), x => x / 2f)いろいろなTranslator
ToColor
Easing.Create<OutQuart>(Color.white, Color.yellow, 0.3f).ToColor(sprite);ToMaterialPropertyFloat
Easing.Create<OutQuart>(0f, 1f, 0.3f).ToMaterialPropertyFloat(material);まとめ
というわけで、Task時代のアニメーションライブラリAnimeTaskをよろしくお願いします。