4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Unity】TextMeshProでOutlineを変更した際に他のTextMeshProにまで反映されてしまう問題の解決方法

Posted at

はじめに

TextMeshProでアウトラインを付けるためパラメータを色々触っていたのですが、他のTextMeshProにも変更が反映されてしまったため、その解決方法を記載します。

環境

OS : Windows10
Unity バージョン : 2021.3.2f1

TextMeshProを利用したアウトラインの付け方

TextMeshProのInspectorの下に行くと、以下のようにMaterialが色々と設定できるようになっています。
今回は、アウトラインを付けたいのでOutlineに✓を入れます。
image.png
アウトラインの色は黒とし、Thicknessを動かすことでアウトラインの太さが変化します。
Videotogif (2).gif

他のTextMeshProにも変更が反映される問題

今度は、もう一行アウトラインを付けたくないText Mesh Proを作成します。
しかし、最初のTextMeshProでアウトラインを付けてしまっているため、Thicknessを変化させると変更してほしくないTextMeshProにまでアウトラインが付いてしまいます。
Videotogif (3).gif

解決方法

TextMeshProのMaterial Presetを作成することで解決できます。
Material Presetとは、TextMeshProの装飾の設定を保持するファイルになります。
Material Presetを作成することで、Textごとにアウトラインの太さなどを変更できるようになります。
以下手順になります。

  1. TextMeshProのFont Assetをクリックし、設定されているFont Assetまで飛びます。
    image.png
  2. Font Assetを展開すると先程設定したThicknessの情報を保持したMaterialが表示されます。
    image.png
  3. Inspector右上の設定を開いて、Create Material Presetを選択します。
    image.png
  4. Font Asset外にMaterial Presetが作成されます。
    Material Presetの名前を変更する場合はFont Asset名を含めるようにしてください。ここで作成したMaterial Preset名にFont Asset名が含まれていないと以降の手順で問題が起こります。
    image.png
  5. アウトラインを付けたくないTextMeshProのInspectorまで移動し、先ほど作成したMaterial Presetを選択します。
    手順4でMaterial Preset名をFont Asset名の含んでいない名前に設定すると、Font Assetの選択欄に表示されなくなってしまいます。
    image.png
  6. これで変更したいTextMeshProのみ変更が反映されるようになります。
    Videotogif (4).gif

まとめ

TextMeshProでOutlineを変更した際に、他のTextMeshProにまで反映されてしまう問題は、Material Presetを作成し、装飾の設定を複数持つことで解決できます。

4
2
0

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
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?