オインクゲームズで製作中のアレコレ
最新ニュースはこちら
2014年12月8日 Unity 用の超シンプルなトゥイーンエンジン Uween を作りました

こんにちは。オインクゲームズのデザイナーの新藤です。MUJO では UI やエフェクトの実装、モーションデザインを担当しました。

MUJO のようなタイトルを作る際には、プログラマティックにアニメーションを制御する技術が必要不可欠です。なぜかといえば、ゲームの状況に応じて変化する部分が大きいからですね。例えば現在のスタック数によって、スタック時に飛び散るタイルの数が変わったり、大きさによって速度やスケールが変わったり、あるいはモーションが単調にならないように揺らぎやディレイを入れてみたり…。

このようなことを実現するために、MUJO では「トゥイーン」を使用して、全てスクリプト制御でモーションを作成していました。トゥィーンとは、簡単に言えば「何秒であそこまで移動する」と命令しておけばあとはよしなにやってくれる技術のことです。個人的には、それに加えてイージングが重要です。イージングとは、その動きの緩急の度合いを指定するものです。加速するような動きなのか、減速するような動きなのか…とかそういったことです。

MUJO では NGUI のトゥイーンを改造して使ってましたが、かの有名なペナーイージングすら無い状態なので使い勝手はイマイチでした。そこで今回、満を持してオインクゲームズ製のトゥイーンライブラリ Uween を公開します!

Uween のコンセプトは、とにかくシンプルであることです。機能性重視のライブラリに比べたらもちろん見劣りしますが、骨格の強さと小回りの良さを重視しています。使い方は超簡単で、

TweenX.Add(gameObject, 0.5f, 100f);

これだけで gameObject が 0.5 秒で X 座標 100 の位置まで移動します。

また、Fluent Syntax でいい感じにパラメータが設定できます。

TweenX.Add(gameObject, 0.5f, 100f).From(50f).Delay(0.25f).Then(next_motion);

上の例だと、gameObject が 0.5 秒で X 座標 100 の位置まで移動するのに加えて、初期値を X 座標 50 に設定し、0.25 秒のディレイを挟み、終わったら next_motion 関数を呼び出します。

ね?簡単でしょう?

通常の 3D シーンだけでなく、Unity 4.6 の uGUI でも問題なく使える設計になっています。詳しい使い方はこちらから。ぜひ使ってみてください!

- beinteractive 

#development 




  1. beinteractiveoinkgmsからリブログしました
  2. oinkgmsの投稿です
© Oink Games Inc.