原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

iTweenのFrom系メソッドを使ったアニメーション

 イベント盛り

 インディゲーム界隈ではGW前後に色々とイベントがあったようで、先週は京都でBitsummitが開催されていました。私も出展しなくとも顔を出して最新のゲーム事情を偵察し、あわよくば開発者の方々とお話をしてデベロッパーとしての輪を広げたい、などと思っていたのですが、なにせ今月は自動車税という重税をしのがないといけなかったので参加を断念しました。


 まぁ、元来からの人見知りで初対面の人に声を掛けることはもちろん、自分の携帯にでさえ「OK! Goggle.」なんて言えない小心者なので、たとえ顔を出したとしてもブースの脇に立っている開発者の方を遠巻きに眺めながら、展示しているゲームを一度も触ることなく、そそくさと会場を後にすることになったと思います。


 あ、でもゲーム開発者としては一度はそういうイベントに参加してみたいな、という願望はあります。財源と勇気さえあれば。自動車税高すぎだし。

 

閑話休題

 さて、UnityでTweenアニメーションを実装する方法は色々あるんですが、私の場合、前回の記事でも取り上げたようにUI系の動作にはiTweenを使用しています。

 

 これはDotweenにはないFrom系のメソッドが便利なためで、動作をHashで指定しなくてはいけない面倒を背負ってもFrom系は便利なものに感じています。

 

 例えば、CutieCircuitのタイトル画面

f:id:Karvan:20180515233916g:plain

 これも文字のスライドインにiTweenのMoveFromを使っています。

 

なぜ便利なのか

 このMoveFromがどういうメソッドなのか、というと

 

        オブジェクトを指定した座標から現在の座標へ移動する

 

というもの、現在位置から一旦移動して戻ってくる動作になるので、Unity上で調整した位置から動かさなくても済む、というのが最大の利点になります。
ちなみにiTweenの移動系メソッドとしては他にMoveTo(現在位置から指定位置へ)、MoveBy(現在位置からの相対位置を指定して移動)があります。

 

  説明だけではあまりピンとこないかもしれませんが実際にゲームを作りこんでいくと、この動作仕様は大変ありがたい。


 通常、ボタンやラベルなどのUIは一度表示されるとその位置から動くことは余りありませんが、表示させる際にちょっとしたアニメーションをつけたい場合、このMoveFromを使うと作りこんだゲーム画面(UIの位置)を変更せずにアニメーションが作れちゃう。

 

 例えば、この文字表示とか、

f:id:Karvan:20180515234422j:plain

 

Unity上ではテキストオブジェクトをマスクの範囲に設定しておいて

f:id:Karvan:20180515234726j:plain

 

以下のようにコードを設定すると、文字がスライドインして表示される動作になります。

 

        // "Hint"文言のスライドイン
        Hashtable moveToParam = new Hashtable();
        moveToParam.Add("y", 55.0f);
        moveToParam.Add("islocal", true);
        moveToParam.Add("time", 0.5f);
        moveToParam.Add("easeType", iTween.EaseType.easeInBounce);
        iTween.MoveFrom(SignMessageTitleObj, moveToParam);

        // ヒントのスライドイン
        Hashtable moveToParam2 = new Hashtable();
        moveToParam2.Add("y", 108.0f);
        moveToParam2.Add("islocal", true);
        moveToParam2.Add("time", 0.5f);
        moveToParam2.Add("delay", 0.1f);
        moveToParam2.Add("easeType", iTween.EaseType.easeInBounce);
        moveToParam2.Add("oncomplete", "OutTweenComp");
        moveToParam2.Add("oncompletetarget", gameObject);
        iTween.MoveFrom(SignMessageWordObj, moveToParam2);

 

 

 

f:id:Karvan:20180508234317g:plain

 

これをMoveToなどで実装しようとすると、UIの位置を移動元の位置へ移動させておく必要があるので、後で画面のデザイン変更とかする際に、UIの位置を一旦全部元に戻してデザイン変更→再度、移動元の位置へ移動させる、とか結構不便。

 

UIにはFrom系

  別に固執しているわけではありませんが、ボタンやラベルとかのUIについては最終的な状態(位置や大きさ)が決まっているのでアニメーションにはFrom系のメソッドを使ったほうが実装しやすいと思います。
 
 今回はMoveFromを取り上げましたがiTweenには他にScaleFromやFadeFromなどのメソッドがあります。ScaleFromは使ったアニメはこんな感じ

 

f:id:Karvan:20180516000150g:plain

From系を組み合わせると色々な表現が出来そうですね。

 

近況報告

追加ステージは完成したので現在はエンディングを作成中。GW明けには・・・とかウソだった。

goo.gl

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。