ゲームのテキストボックスに代表する吹き出し(フレーム)を作成するときは9スライスが便利。こんな感じで、簡単にフレームをリサイズできました。
今回は9スライスの機能を使って、ドラゴンクエストのテキストボックスのフレームを再現してみようと思います。
今回使用したイメージの素材はこれです。(お手製)
9スライスとは?
9スライスとは、図のようにA~Iに区分けした9つの部分(スライス)ごとに拡大方法を使い分ける手法です。(1ドットの緑線が見えますか?)
- 四隅(ACGI)は、伸縮・タイリングが発生しない。元の状態を維持する。
- BHは、水平方向の伸縮・タイリングのみ発生する。
- DFは、垂直方向の伸縮・タイリングのみ発生する。
- Eは、通常どおりの伸縮・タイリングが発生する。(水平・垂直の両方向に発生する)
9スライスを適用しない例
9スライスを適用しないときの拡大は次のように全体を同じ比率で拡大してしまい、線の幅・太さ(Border Thickness)が太くなってしまうため、期待する結果になりません。
また、Filter Mode
の設定を Point (no filter)
にしないと、拡大の際にアンチエイリアスが発生し、ぼやけてしまいます。ドット絵風のときは、だいたいこれがポイントに。
9スライスの使い方
インポートしたイメージの設定
インポートしたイメージの Inspector を次のように設定する。
- Texture Type「
Sprite (2D and UI)
」 - Sprite Mode
- Mesh Type「
Full Rect
」
- Mesh Type「
設定したあと、「Sprite Editor」を開き、次のように9スライスの領域を設定し、設定変更を「Apply」(適用)します。
シーンにイメージを追加する
UI -> Image
を追加して、シーンにイメージのコンポーネントを追加します。
追加したコンポーネントの Source Image
に上述のイメージを設定し、次のように設定します。
- Image Type「Sliced」or「Tiled」
以上で、9スライスを適用したイメージを表示することができました。
Sliced と Tiled の違いは、イメージの拡大かタイル状の反復になります。
ポイント
- 全体を同じ比率で拡大せず、9つに区分した領域ごとに拡大する方法を使い分ける
- 拡大する方向をうまく使い分けることで、ドット絵らしい吹き出しを再現することができた
参考
Unityの教科書 Unity2019完全対応版 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)
- 作者:北村 愛実
- 発売日: 2019/06/28
- メディア: 単行本
- 作者:秋山 高廣
- 発売日: 2019/07/19
- メディア: 単行本(ソフトカバー)