Unity RuleTileのOutputをAnimationでアニメタイル

前回Rule TileOutput を Random にした場合の設定や機能について紹介しました。

タイルの位置関係に応じて画像を選び、ある程度のばらつきを Random で自動的に行ったタイルマップ作成

タイルの位置関係に応じて画像を選び、ある程度のばらつきを Random で自動的に行ったタイルマップ作成

今回は Output のもう一つの選択肢 Animation の機能を実際に作りながら紹介します。
Unity は 2021.3.14f1、TopDown Engine は 3.1.1、2D Tilemap Extras は 2.2.2 です。
※画像では TopDown Engine のサンプルのパレット KoalaTilePalette に含まれているタイルを使用しています。

Rule Tile とは?

Rule Tile は、2D Tilemap Extras に含まれる周囲のタイルとの位置関係で表示する Sprite を動的に変える Scriptable Tile です。
ユーザルールSprite をリストで設定できます。
「このマスは左上の角のマップチップを置いて」といった風に考えてタイルパレットで選択する手間が省け、タイルマップ編集の作業効率が向上します

Unity Rule Tile (Single) でタイルを配置している様子。タイルは TopDown Engine の KoalaTilePalette を使用しています。

Unity Rule Tile (Single) でタイルを配置している様子。タイルは TopDown Engine の KoalaTilePalette を使用しています。

Rule Tile は様々な機能があるので、少しずつ紹介していきます。

タイルの設定を Inspector ウィンドウで表示する場合は、 TilePalette ウィンドウで、タイルを選択後、上の灰色の余白で右クリックしてポップアップメニュー [Select Tile Asset] を選んでください。

タイルの設定を Inspector に表示したい場合は、TilePalette でタイル選択後、上の灰色の余白で右クリックメニューSelect Tile Asset を選びます。

タイルの設定を Inspector に表示したい場合は、TilePalette でタイル選択後、上の灰色の余白で右クリックメニューSelect Tile Asset を選びます。

Rule Tile の Output Animation の紹介

サンプルのパレット KoalaTilePalette の中には Output が Animation の Rule Tile は存在しませんでした。
しかし、「Rule Tile | 2D Tilemap Extras | 1.6.0-preview.1」の Animation について調べると、Sprite 画像を複数指定でき、パラパラ漫画のように指定の Speed で変化させてアニメーションするタイルのようです。
※現在利用しているバージョンでは Speed は MinMax が指定でき、タイルごとにその範囲でランダムな速度が割り当てられます。

公式サイトの Rule Tile (Output=Animation) の説明の抜粋

公式サイトの Rule Tile (Output=Animation) の説明の抜粋 参照:https://docs.unity3d.com/Packages/com.unity.2d.tilemap.extras@1.6/manual/RuleTile.html

せっかくなので Rule Tile を新規作成し、 Output が Animation の場合のタイルを作り、動作を確認してみましょう。

Rule Tile (Output = Animation) を作ってみる

Rule Tile は前回紹介した通り、Project ウィンドウの右クリックのポップアップメニュー [Create]→[2D]→[Tiles]→[RuleTile] でアセットを作成できます。

Unity 2D Tilemap Extras の Rule Tile を Project ウィンドウのコンテキストメニューCreate→2D→Tilesから選択します。

Unity 2D Tilemap Extras の Rule Tile を Project ウィンドウのコンテキストメニューCreate→2D→Tilesから選択します。

作成された Rule Tile アセットを Project ウィンドウで選択し、 Inspector ウィンドウルールを 1 枠以上作成します。
ルールを増やす際は Number of Tiling Rules の個数を 1 以上にするか、リストの右下の + ボタンを押します。
Number of Tiling Rules で枠を増やした後、少ない数を再設定すると、消された枠に設定した情報も消されてしまうので注意しましょう。

Unity RuleTile のルール枠の増やし方

Unity RuleTile のルール枠の増やし方

追加されたルール枠の中の Output で Animation を選択します。

Unity RuleTile のルール枠の Output を Animation に設定します。

Unity RuleTile のルール枠の Output を Animation に設定します。

Sizeアニメーションで用いる Sprite の個数に変更して、下の Sprite のリストに上から表示順で Sprite を割り当てます。

Unity RuleTile で Output を Animation にした後、アニメ用の Sprite をリストに設定します。

Unity RuleTile で Output を Animation にした後、アニメ用の Sprite をリストに設定します。

今回は、以前に Weighted Random Tile を作る際に使った数字が描かれた Sprite を 3, 2, 1 の順番で上から設定しました。

Rule Tile (Output = Animation) を使ってみる

アニメ―ションは、 Unity のテストプレイ時に動作します。
テストプレイで Game ウィンドウまたは Scene ウィンドウで、そのタイルを配置した場所を見ると、設定した Sprite たちが切り替わってアニメーションしています。

Unity Rule Tile (Output=Animation) のタイルを KoalaDungeon に配置してテストプレイした様子。

Unity Rule Tile (Output=Animation) のタイルを KoalaDungeon に配置してテストプレイした様子。

Output を Animation にした場合に設定できる Min SpeedMax Speed異なる値にするとその範囲内で、タイルごとにランダムに再生速度が変えられます。

Unity RuleTile Output を Animation にした場合 Min Max Speed の範囲でタイルごとに再生スピードがランダムに変わります。

Unity RuleTile Output を Animation にした場合 Min Max Speed の範囲でタイルごとに再生スピードがランダムに変わります。

Output を Random にして見た目のばらつきを簡単に作られたように、OutputAnimation にすると簡単にアニメーションするタイルが作ることができ Min Speed, Max Speed を変えることで、簡単に再生速度にばらつきを与えることができました。

Unity Rule Tile (Output=Animation) のタイルを KoalaDungeon に配置してSpeed(Min=1, Max=3)にするとそれぞれのアニメーションの速度がランダムに変わりました。

Unity Rule Tile (Output=Animation) のタイルを KoalaDungeon に配置してSpeed(Min=1, Max=3)にするとそれぞれのアニメーションの速度がランダムに変わりました。

Unity Rule Tile Output=Animation で Speed MinMax を変えることでタイルごとに異なる再生速度でアニメーションしました。

Unity Rule Tile Output=Animation で Speed MinMax を変えることでタイルごとに異なる再生速度でアニメーションしました。

今回はここまで

今回は Rule TileOutputAnimation にした際の RuleTile の作り方と機能について紹介しました。
今まで数回に分けて Rule Tile の 3x3 Box のマークの意味Output の Single, Random, Animation を紹介しました。
2D Tilemap Extras には Rule Tile の他にもまだ便利な機能があるので、また紹介しようと思います。

参照サイト Thank You!

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました