ビジュアルスクリプティングで、UnityのText Mesh Proにルビを振る方法についての備忘録です。
こちらで配布しているTextMeshProRubyというツールを使いました。感謝感謝。

前回作ったゲームのタイピング部分で使ってみました。
方法
上記サイトの記述の通りに、GithubのデータをUnityに導入します。
パッケージマネージャーでGitを使うか、ダウンロードしてプロジェクトに入れます。
導入成功したら、ルビを振りたいText Mesh ProのオブジェクトにText Mesh Pro Rubyコンポーネントを追加します。表示するだけなら、Rubyの欄に直接rタグを付けたテキストを書き込めば大丈夫です。

しかしビジュアルスクリプティングでは、手動で追加しないとSet Textのノードが出てきません。
メニューの編集→プロジェクト設定→ビジュアルスクリプティングのType Optionの欄の右下の+をクリックし、追加の枠にText Mesh Pro Rubyを検索して入れます。

下のRegenerate Nodesボタンを押してしばらく待ちます。
するとSet Textのノードが出るようになるので、そこにString(文章)を入れます。

ここではリストの左のように、rでタグ付けしたテキストがセットされるようにしています。

というわけで無事にルビが振れました。やったー。

Text Mesh Proのほうを見るに、Space と Voffset と Sizeで構成されているみたいです。ルビが1箇所程度なら自分で調整もできそうなものですが、これが複数になるとそれぞれの文字数の幅を考慮するなどいろいろ大変なので、コンポーネントに頼ったほうが楽だと思いました。
というわけで助かりました。素晴らしいツールの配布に感謝。
出穂
出穂は「しゅっすい」だと思っていましたが、「でほ」も間違いではない?らしく何が正しいのかわかりません。
私はまだ出会ったことがありませんが、いずほさんも全国にいらっしゃるようですね。
勉強になります。
余談
TMP関連の別件で、Text Mesh Proが2種類存在することに新たに気づきました……。 Canvasに描写するタイプと、ゲーム空間上に描写するタイプです。ビジュアルスクリプティングのノード検索でも、常に2種類表示されていたのですが、違いは理解していませんでした……というかゲーム空間上にテキストを表示できることを今回初めて知りました。今まで「みんなどうやってるんだろうすごい!」と思っていました。Unity初心者並感。

その他制作の葛藤は前回の記事で触れています。
おわりに
とても簡単で使いやすかったので、またルビを振る機会があれば使おうと思います。
というわけで作ったゲームはここで確認できます。
……と、個人比ではゲーム部分の実装が結構大変だったのですが、Youtubeかどこかに普通に動画として残そうかと検討中です。映像部分だけ見たいというユーザーに配慮……。色々直したいところはあるものの、戦闘部分を軽く編集して投稿できればなと思います。