前回のUnity1週間ゲームジャムで起きた出来事です。
TMPro(TextMeshPro)をusingできない!
TextMeshProを使ったことのある方は3. Examples and Extrasからどうぞ
0. 開発環境
Unity2018.2.3f1
TextMeshPro 1.3.0
1. TextMeshProについて
こちらの方が詳しく解説しています。
簡単にいうと、UGUI標準のTextよりも使いやすく多機能なTextです。
またUnity2018以降と2017以前でインストールの方法が変わっています。
2017以前はAssetStoreから直接インポートできます。
2018以降ではPackageManagerからインストールしていきます。
これについてはこちらの方の記事が参考になります。
2. インポート
PackageManagerからインストールしますが、これはインストールしただけでインポートされてるわけではありません。
この時点でTextMeshProは存在しますが、このままでは使うことができません。
Window -> TextMeshPro -> Import TMP Essential Resourcesを選択、または
Create -> UI -> TextMeshProを選びインポートする必要があります。
TMP Essential Resourcesとは
TMPエッセンシャル
これはTextMesh Proに初めてアクセスするように見えます。
そのため、TextMesh Proの使用に不可欠なリソースをプロジェクトに追加する必要があります。
これらの新しいリソースは、 "TextMesh Pro"フォルダ内のyoueプロジェクトのルートに置かれます。
要は、TextMeshProを使いたいならインポートする必要がありますよ。
ということらしい。
さて、無事インポートが完了したらさっそくTextを配置してみましょう。
無事動作しました。
さて、これでTextMeshProも使えるようになったし、めでたしめでたし!
とはならないんですねぇ・・・
3. Examples and Extras
おかしい・・・TextMeshProをインポートしたにも関わらずTMProがusingできない・・・
インポートした段階でusingできたはずなのに、なぜかできない!
1週間ゲームジャム終了間際で発生した大事件。Unity再起動をしても治らない。
(原因が不明なためこの時は通常のUGUIで対処しました)
いろいろ検索したり、
Twitterで情報をあさっても同じ症状の人は見つかりませんでした。
私の環境が原因かとも思いましたが・・・
なんと、Examples and Extrasの方をインポートしたら無事使えるようになりました。
そもそもExamples and Extrasとは
TMPの例と補足
サンプル&エクストラパッケージには、
TextMesh Proの強力な機能を簡単に発見して理解するための追加リソースとサンプルが含まれています。
これらの追加リソースは、TMPの必須リソースと同じフォルダに配置されます。
要は、TextMeshProの理解に最適なScriptやサンプルのシーンが入ったパックです。
使う分には必須ではないので今までインポートしたことはないのですが、
これがないとScript内でTMProが使えませんでした。
4. まとめ
もしTMProがusingできない時は、Examples and Extrasもインポートしてみる。
AssetStoreからインポートした人は既に含まれています。
同じ悩みの人がいないってことは私の環境限定なのかな。
5. おまけ
今まで触ったことのなかったExamples and Extrasですが、
よく見るこのシーンも含まれてたんですね。
それにしてもTextMeshProだったりTMPだったりTMProだったり表記ゆれが多い。