LoginSignup
6

More than 5 years have passed since last update.

posted at

updated at

UnityでTransitionしたいなら「Transition Toolkit」


https://www.assetstore.unity3d.com/#/content/5992 (Unity Pro必須)

  • iPod Touch5 iOS6で動作確認済み
  • 多分Androidも動く

よくUnityアプリでシーンの遷移時にTransitionを行いたい。という意見を耳にします。

UnityではTransitionは標準装備されていません。

そこで、最近登場した「Transition Toolkit」を使用してみましょう。

まずはDemoとして提供されているWebPlayer形式の実行ファイルをご覧になるとよいでしょう
http://shallway.net/products/transitiontoolkit/WebPlayer.html

-

使い方はとても簡単。

Presetsの設置

まずは「Assets/TransactionToolkit/Presets」にあるTransitionToolkit.prefabをヒエラルキービューにD&Dします。

TransitionToolkitはDontDestroyOnLoadで削除されないので最初のシーンに1つだけ置くようにして下さい。

遷移先のシーン作成

  • Presetsを設置したシーン
  • 遷移先のシーン

この2つを用意して下さい。
私はわかりやすいように遷移先のシーンにCubeを設置しました。

スクリプトの記述

今回はデフォルトで用意されている「FadeIn」「FadeOut」を試してみます。

Presetsを設置したシーンのGameObjectにアタッチ
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour
{

    [XTransition] //後述
    public string presetName = "FadeIn";

    private XTransTask task = null;

    void Start ()
    {
        task = XTransitionToolkit.AddTransition (presetName);
    }

    void LateUpdate ()
    {
        if (task.ElapsedTime > 0.95f) {
            Application.LoadLevel ("Test2");
        }
    }
}

遷移先のシーンのGameObjectにアタッチ
using UnityEngine;
using System.Collections;

public class Example2 : MonoBehaviour
{

    void Awake ()
    {
        XTransitionToolkit.AddTransition ("FadeOut");
    }

}

ElapsedTimeは最新のTransitionが行われてからの経過時間です。デフォルトのFadeInは1秒かけて行われます。ちょっと前の0.95秒とすることで残り0.05秒の間にシーンのロードが行われFadeOutの処理が開始されます。

連続でAddTransitionを実行してもQueueの機能がないので上書きされ、すぐ実行してしまいます。注意して下さい。

そして出来たのがこれ

確認しやすいように上記のコードから少し手を加えています

WebPlayer

-

[XTransition]

XTransitionAttributeを作成しました。タイプセーフにpresetNameを扱うことができます。
Presetsにあるものをサポートしています。

-

以下は自分でXTransParamを作成から追加するまでの手順です。

  1. XTransitionToolkit.csをアタッチしたGameObjectを用意する。

  2. 1で作成したGameObjectの子としてXTransParam.csをアタッチしたGameObjectを用意する。XTransのパラメータを適度にいじる

  3. 2で作成したGameObjectを1のPresets配列に格納する。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
6