今回は、Unityちゃんをワープさせたいと思います。
あまりにも難易度が高かったり、ワープしない限りクリアできないステージなど、ワープは様々な場所で有効活用できるので実装したいと思います。
ゴールに使用したい素材以外は、Unityに用意されているもので簡単に作れちゃいます。
視覚的に分かりやすいワープの簡単な作り方
まずは、ワープ本体のオブジェクトを2個用意します。
オブジェクトは「Cube」でも「Sphere」でも何でも構いません。お好みの形に加工して良いと思います。ちなみに私は「Capusle」を選択しました。
過去にパーティクルで使用していた音符柄のマテリアルを貼り付けました。
1個出来たら複製して、ワープさせたい位置に複製したオブジェクトを配置しましょう。
各カプセルに「CapsuleA」「CapsuleB」と名前を変更しておきます。
AからBにワープさせるためですね。
ワープさせるスクリプトを作成
CapsuleBの座標を取得して、トリガーが発生したら対象のオブジェクトに代入する簡単なスクリプトです。
また、「transform.Rotate(new Vector3(0,1,0));」でY軸を中心にワープオブジェクトをゆっくりと回転させています。これだけでもとても見た目が良くなりますよ。
保存したらこのスクリプトを「CapsuleA」にアタッチし、「CapusleB」をアウトレット接続しましょう。
また、「CapsuleA」の「Is Trigger」をONにしておきます。
ゲームを実行するとこんな挙動になります。
面白い所は、Unityちゃん以外のオブジェクトもワープする所です。タグを使ってUnityちゃんのみワープ出来るようにする事は簡単ですが、ベタすぎるのであえて敵もワープ出来るようにしています。
ワープして安心!思ったら、なんと敵もワープしちゃうというビックリ要素ですね。