SceneKitのアニメーション(SCNAction)でカスタムのEasing Functionを使う

SCNActionのtimingModeプロパティにはSCNActionTimingMode型でイージング関数を指定できるが、

case linear
case easeIn
case easeOut
case easeInEaseOut

これだけしか定義されていない。

じゃあこういうカーブを適用したい場合は諦めるしかないのかというと、

timingFunctionプロパティがある。

SCNActionTimingFunction型で、Floatを受け取りFloatを返す自由な関数を定義できる。

typealias SCNActionTimingFunction = (Float) -> Float

実装例:easeOutExpo

この続きをみるには

この続き:299文字
この記事が含まれているマガジンを購読する
技術的なメモ、思いついたアイデア、考えたこと、お金の話等々、頭をよぎった諸々を気軽に垂れ流していきます。個々の記事は多少荒削りかもしれませんが、フィルタのかかっていない(=ブログやインタビューでは決して出てこない)堤の活動や考え方がのぞけるマガジンとなっております。

日々の学びメモ

月額400円

技術的なメモ、思いついたアイデア、考えたこと、お金の話等々、頭をよぎった諸々を気軽に垂れ流していきたいと思います。

この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

5
フリーランスiOSエンジニア兼サンフランシスコのFyusion社勤務。 著書に「iOS×BLE Core Bluetooth プログラミング」「iOSアプリ開発 達人のレシピ100」。GitHubで「iOS Sampler」シリーズ他さまざまなオープンソースを公開している。
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。