みかづきブログ・カスタム

基本的にはちょちょいのほいです。

Blender 2.8でテキスト(日本語)を立体にしてA-Frameで表示する 🩹

4つのポイント

  1. Blenerでテキスト入力モード切り替えはTab
  2. 日本語フォントを設定すれば日本語の入力も可能
  3. 何故か入力できないときはテキストエディタからコピペで入力
  4. objファイルであれば楽々A-Frameで表示できた


痛いの痛いの飛んで行けAR」を作ったのですが、「痛いの」というテキストを3Dモデルにするのに若干手間取りました。

日本語ではなく英語のテキストで良いのであれば、aframe-text-geometry-componentたるライブラリを使えば楽々なのですが、残念ながらaframe-text-geometry-componentは日本語に対応していません。

www.npmjs.com

2Dのテキストで良ければ、迷わずCanvasをテクスチャにしますし、内部はThree.jsなのでTextGeometryをうまいこと使えば日本語も3Dにできる気がしてならないのですが、今回はテキストを動的に差し替えることもないので、さくっとBlenderでモデリングすることにしました。

が。Blenderでも日本語を使うために、若干設定をしなければならなかったので手順をまとめておきます。

日本語フォントを用意

兎にも角にも日本語フォントを用意しないと始まりません。
僕はGoogleフォントからNoto Sans JPをダウンロードしました。

fonts.google.com

Blenderでテキストにフォントを設定し日本語を入力し押出しで立体にする

f:id:kimizuka:20201208195439p:plain

❶「Add」>「Text」でテキストを追加
❷ フォントに日本語フォントを設定(今回だとNoto Sans JP)
❸ tabキーを押してテキスト編集モードに入る
❹ 何故か日本語を入力できないので、テキストエディタとかに入力内容を一度記載しコピペで入力
❺ GeometryやBevelを設定して立体感を出す

といった流れです。

objファイルとして書き出す

当初はglbファイルで書き出そうと思ったのですが、何故かA-Frameで読み込めず、ビューアーで試しても表示されないので諦めました。

gltf-viewer.donmccurdy.com

objファイルで書き出したところ、あっさりとA-Frameで読み込めたので、今回は詳細は調査せず、それでよしとしました。

f:id:kimizuka:20201208200611g:plain