Particle Typography Effect Generator 説明書

YUYULAB 50-0186 / Ver1.00 / 2026-10-28

文字を Particle System の粒子で描くエフェクトを、Unity のエディタ上で作るツールです。入力した文章の字形を点群 Mesh にし、1 文字(または 1 行・全体)ごとに Particle System を作って並べます。Scene に直接作るか、Prefab として書き出せます。

1. 動作条件と導入#

項目内容
Unity2022.3 系(Built-in Render Pipeline で確認)
必要なパッケージなし(Unity 標準の Particle System と Particles 系シェーダーのみ)
VRChatアバター・ワールドのどちらでも使えます。生成物は普通の Particle System です
同梱フォントNoto Sans JP(ゴシック)/ Noto Serif JP(明朝)。SIL Open Font License 1.1(Font/OFL.txt)
  1. unitypackage を取り込みます。Assets/yuyulab/50/50-0186_UnityEditor/50-0186_UnityEditor_Ver1.00/ に展開されます。
  2. メニュー YUYULAB → 50-0186 Particle Typography Effect Generator で入力ウィンドウが開きます。
  3. 初回は字形の画像(キャッシュ)をフォントから作ります。キャッシュは Library/YUYULAB_TypoEffect/Glyphs/ に置かれ、Assets には入りません。使った字から順に作るので、最初の生成は少し待ちます。先にまとめて作る方法は 11-2 を見てください。

出力先の既定は Assets/yuyulab/50/50-0186_UnityEditor/Export/ です。保存先は出力の項目で変えられます(Assets の中だけ)。

2. 画面の構成#

入力ウィンドウは「入力欄の列」と「枠(プレビュー・イージング)」でできています。

アドバンスドの入力ウィンドウ123456
アドバンスドの入力ウィンドウ1ヘッダー2テキスト欄3プロパティ(アドバンスドの項目)4プレビュー5イージング6フッター(生成ボタン)

イージー / アドバンスド: イージーはよく使う項目だけを出し、隠れた項目は既定値で生成します。アドバンスドはすべての項目を出し、ラベルも Particle System の英語名(Duration / Start Lifetime など)になります。

↺: 各行の右端と各見出しの右端に出る「↺」で、その項目・その分類を初期値に戻せます。既定と違う時だけ出ます。

フロート / ドッキング: フロートは常に手前に浮くウィンドウ、ドッキングは他のタブと結合できる普通のウィンドウです。アドバンスドでは、テキスト欄・プロパティ・プレビュー・イージングを「分離」で別ウィンドウにできます。

3. 基本の流れ#

  1. テキスト欄に文章を入れます。改行はそのまま複数行になります。
  2. イージングの枠で、動きの見本をクリックして選びます(選ばなければ粒子は文字の形のまま止まっています)。
  3. 粒子のテクスチャ・大きさ・色を選びます。
  4. 「生成」で Scene に作る、または「プレハブとして生成」で Prefab を保存します。
  5. 結果は Console に [50-0186] 作成: … と出ます。クリックすると生成物を選択します。
基本の流れ1234
基本の流れ1文章を入れる2イージングを選ぶ3プレビューで確かめる4生成 / プレハブとして生成

4. イージーの項目#

イージーモードの項目です。アドバンスドの項目は 5 章にすべて載せています(アドバンスドで使う時は 5 章だけで足ります)。

4-1. テキスト#

項目内容
テキスト欄生成する文章。空白は字幅ぶん空き、改行で次の行になります
簡易プレビュー入力した文字を、フォント・字間・行の揃えで並べて見せます。文字の大きさは Settings → UI で変えられます

フォントに無い字が含まれていると、赤い注意が出て生成できません。その字を消すか、その字が入っているフォントをアドバンスドで選んでください(プレビューではその字を飛ばします)。

テキスト(イージー)
テキスト(イージー)

4-2. 文字の形#

項目既定内容
書体ゴシックゴシック = Noto Sans JP、明朝 = Noto Serif JP。ほかのフォントはアドバンスドで選びます
文字の大きさ (m)0.35全角 1 文字の大きさ。右の S / M / L は 0.05 / 0.2 / 1
奥行き (m)0.041文字の厚み。0 で平面
中心位置(横)中央文字 Mesh の原点。イージングの回転・放射はこの点が中心
中心位置(縦)基準線基準線 = 文字が乗る線 / 中央 / 下端 / 上端
点の間隔3小さいほど点(粒子)が増えて細かくなります。2 = 細かい、4 = 軽い
書体と細い線—明朝を選ぶと、点の間隔を大きくしても細い横画が消えないよう自動で補正します(ゴシックは補正なし)。点は少し増えます
文字の形(イージー)
文字の形(イージー)

4-3. 組み方#

項目既定内容
字間0字送りに足す量(文字の大きさに対する割合、-1〜1)
行送り1.2行の間隔(文字の大きさに対する割合)
行の揃え中央左 / 中央 / 右 / 均等。左右はいちばん広い行の端にそろえ、均等はいちばん広い行の幅に字間を広げます
並べる向き横 (X)横 = 左から右へ。奥 (Z) = 手前から奥へ(正面からは重なります。斜めや横から見せる時に)
曲がり (°)0円弧に並べます。いちばん広い行が何度の弧になるか(-360〜360)。+ = 上に凸のアーチ、- = 下に凸。0 = まっすぐ、360 = 一周。文字は弧に沿って回ります。並べる向きが「奥 (Z)」の時は使えません
曲がりの向き垂直垂直 = 上下に曲がるアーチ / 水平 = 奥へ曲がり、見る人を囲む円筒(+ で囲む、- で奥へ)。アドバンスドの「弧の面」と同じ
円の形の倍率横 1・縦 1円弧の円を楕円にします。横・縦(水平の時は横・奥)の倍率。円の中心は動かさずに伸ばし、文字は楕円の線に沿います(字間も伸びに合わせて広がる・詰まる)
まとめ方文字ごと1 つの Particle System にする単位。文字ごと / 行ごと / すべて結合。行ごと・すべて結合では中心位置・表示順・イージングがその単位で決まります

曲がりの向き・円の形の倍率は、曲がりが 0 でない時だけ触れます(0 の間は灰色)。並べる向きが「奥 (Z)」の時は円弧の項目は使えません。

イージーの円弧は、弧が文字の中心を通り、文字は弧に沿って回ります。親の原点は文字に合わせます(アドバンスドの「弧を通す位置 = 文字の中心」「文字の向き = 弧に沿う」「親の原点 = 文字に合わせる」と同じ。イージーでは変えられません)。

組み方(イージー)
組み方(イージー)

4-4. 粒子の動き#

項目既定内容
表示順左 → 右粒子が出ていく向き。3 × 3 の矢印で上下左右・斜め、右の 3 段で奥行き(奥へ / なし / 手前へ)を組み合わせます
一度にOFFON で全部の粒子を一度に出します(向きは使いません)
文字ごとの遅れ (s)0.052 文字目以降が出始めるまでの遅れ。行ごとの時は「行ごとの遅れ (s)」になり、すべて結合の時は使いません(灰色)
ループ1 回1 回 = 出し切ったら止まる / 繰り返す = 消えたらまた最初から(Particle System の Looping)
新しい粒子を上書きしないOFF「繰り返す」の時だけ出るボタン。ON = 粒子の数を字の点の数までにします。前の周の粒子が消えるまで次の周の粒子は出ません(数は抑えられますが、継ぎ目にすき間ができることがあります)。アドバンスドの「Max Particles を頂点数でクランプ」と同じ
再生速度 (×)1再生の速さの倍率(Particle System の Simulation Speed)。2 で 2 倍速、0.5 で半分。遅れ・表示時間・イージングの全部がこの倍率で進みます

始まり・表示中・終わりの動きはイージングの枠で選びます(8 章)。

粒子の動き(イージー)
粒子の動き(イージー)

4-5. 粒子#

項目既定内容
テクスチャT01粒子 1 つの見た目。同梱の Material 18 種(T01〜T18)から選びます。T02 は Unity 内蔵の丸です
粒子サイズ小極小 / 小 / 中 / 大(0.005 / 0.01 / 0.02 / 0.04 m。文字の大きさに比例して拡縮)
色単色単色 / ランダムカラー(グラデーションの中から粒子ごとに 1 色)/ グラデーション(寿命の中で色が変わる)
暗く / 明るく—今の色の明るさを 5 % ずつ下げる / 上げる。単色・ランダムカラー・グラデーションのどれにも効きます
発生時間 (s)11 文字(1 行・全体)の粒子を出し切る時間(Particle System の Duration)。ループが「1 回」の時は、これに補正(既定 0.05 s)を足します
表示時間 (s)3粒子 1 つが消えるまでの秒数。イージングはこの中に 始まり → 表示中 → 終わり の順で入ります
粒子の向きそろえるランダム = 粒子ごとにばらばらの向き(星などのテクスチャで分かります)
粒子の回転 (°/s)0粒子が回る速さ。マイナスで逆回り

色のグラデーション欄をクリックすると、Unity のグラデーション選択が開き、このツールのプリセット(57 種。Rainbow / Warm / Cool / Nature / Sky / Fantasy / Jewel / Pastel / Tint)が格子で出ます。閉じると元のライブラリに戻ります。

粒子(イージー)
粒子(イージー)

5. アドバンスドの項目#

アドバンスドでは、プロパティに次の分類が上から順に並びます。ラベルは Particle System の名前です。この章だけで全部の項目が分かるよう、イージーと共通の項目も含めてすべて載せています(4 章を読む必要はありません)。各分類の中は小見出し(文字 / 中心位置 / 点、文字の並び / 円弧 / 親の原点 など)で分かれています。

5-1. 文字の形#

文字の形
文字の形
項目既定内容
フォントNoto Sans JP任意の Font アセット。字形はそのフォントの収録文字から作ります。同梱は Noto Sans JP(ゴシック)と Noto Serif JP(明朝)
文字の大きさ (m)0.35全角 1 文字の大きさ
奥行き (m)0.041文字の厚み。0 で平面
中心位置(横)中央左端 / 中央 / 右端。文字 Mesh の原点。イージングの回転・放射はこの点が中心
中心位置(縦)基準線基準線 = 文字が乗る線 / 中央 / 下端 / 上端
点の間隔3字形を点にする間隔。小さいほど点(粒子)が増えて細かくなります。2 = 細かい、4 = 軽い
細い線の処理標準標準 = 格子の点だけで字形を見る / 残す = 点の間隔より細い線も、線の上に点を置いて残す(明朝など横画の細い書体に。点は少し増えます)

5-2. 組み方#

組み方
組み方

文字の並び

項目既定内容
字間0字送りに足す量(文字の大きさに対する割合、-1〜1)
行送り1.2行の間隔(文字の大きさに対する割合)
行の揃え中央左 / 中央 / 右 / 均等。左右はいちばん広い行の端にそろえ、均等はいちばん広い行の幅に字間を広げます
並べる向き横 (X)横 = 左から右へ。奥 (Z) = 手前から奥へ(正面からは重なります。斜めや横から見せる時に)
まとめ方文字ごと1 つの Particle System にする単位。文字ごと / 行ごと / すべて結合。行ごと・すべて結合では中心位置・表示順・イージングがその単位で決まります

円弧

項目既定内容
曲がり (°)0円弧に並べます。いちばん広い行が何度の弧になるか(-360〜360)。+ = 上に凸のアーチ、- = 下に凸。0 = まっすぐ、360 = 一周
曲がりの向き正面 (XY)正面 = 紙の上のアーチ / 水平 (XZ) = 奥へ曲がり、見る人を囲む円筒(+ で囲む、- で奥へ)
円の形の倍率横 1・縦 1円弧の円を楕円にします。横・縦(水平の時は横・奥)の倍率。円の中心は動かさずに伸ばし、文字は楕円の線に沿います(字間も伸びに合わせて広がる・詰まる)
弧を通す位置基準線弧を文字のどこに通すか。基準線 = 文字の足元(文字は弧の上に乗る)/ 文字の中心 = 文字の高さの中央(全部の字の上端と下端の中央。文字は弧をまたぐ)
文字の向き弧に沿う弧に沿う = 文字を弧の向きに回す(子の Transform の回転)/ そのまま = 位置だけ弧の上 / 中心を向く = 円弧の中心を向く(正面 = 足元を中心へ。下に凸でも外向きに一周する並び。水平 = 文字の表を中心の軸へ。円の内側から読める)

曲がり以外の円弧の項目は、曲がりが 0 でない時だけ触れます(0 の間は灰色)。並べる向きが「奥 (Z)」の時は円弧の項目は使えません。

親の原点

項目既定内容
親の原点文字に合わせる円弧の時だけ出ます。円弧の中心 = 親(Root)の原点を円弧の中心に置きます(水平は円筒の軸の、1 行目の中心の高さ)。この間、下の親の原点(横・縦)は使いません
親の原点(横)中央親(Root)の原点の横の位置。左端 / 中央 / 右端
親の原点(縦)1 行目中心全体中心 / 1 行目中心 / 1 行目基準線。子の位置をずらして原点を合わせます

円弧の複数行: 正面 (XY) では、行ごとに同じ中心の円(同心円)に並びます。どの行も同じ角度に広がるので、1 行目の字間はそのままで、内側の行は詰まり、外側の行は広がります。上に凸(+)では下の行ほど中心に近く、行送りが円の半径より大きいと内側の行が中心に潰れてしまうので、その時はいちばん内側の行の半径が行送りの半分になるまで円を広げます(いちばん広い行の角度は指定より狭くなり、生成の結果に「円弧: 内側の行が潰れないよう円を広げました」と出ます)。一周させたい時は行送りを詰めてください。水平 (XZ) では、行は円筒の上で上下に重なります。行ごと・すべて結合でも、文字は同じ場所・向きに並びます。

5-3. オフセット#

オフセット
オフセット

親(Root)の原点・回転と、子(文字・行)の位置・回転を足します。

項目既定内容
親の原点をずらす (m)0, 0, 0原点をさらにずらす量。文字は動かず、親の原点だけが動きます
親の回転 (°)0, 0, 0親の Transform の回転。文字全体が親の原点を中心に回ります(例: X 90 で床に寝かせる)。Prefab の親にも入り、置き方「子」「同じ階層」でもこの回転を足して置きます
子の入れ先Transform下の子の位置・回転・大きさを入れる所。Transform = 子の Object の Transform を動かす / Shape = Shape モジュールの Position・Rotation に足す(Object はそのまま)
子の位置 (m)0, 0, 0子(文字・行)の位置に足す量。すべての子に同じだけ
子の位置の増分 (m)0, 0, 0子 1 つごとに増える位置。n 番目(1 つ目は 0)の子に n × この値(例: Y 0.05 で階段)
子の回転 (°)0, 0, 0子の回転。各子の原点(中心位置)を中心に回ります。すべての子に同じだけ
子の回転の増分 (°)0, 0, 0子 1 つごとに増える回転(例: Z 10 で 1 文字ずつ傾く・扇)
子の大きさ (×)1子の大きさの倍率。すべての子に同じだけ。各子の原点(中心位置)を中心に大きくなります
子の大きさの増分 (×)0子 1 つごとに増える倍率。n 番目の子は 倍率 + n × この値(0.01 より小さくはなりません)
子の大きさをランダムにOFF、0.8〜1.2ON で、子ごとに上の倍率へ 最小〜最大 の乱数を掛けます
シード1大きさのランダムの元の値。同じ値なら何度作っても同じ並び。「振り直し」で別の乱数にします
粒子の大きさ文字に合わせる子の大きさを変えた時の粒子 1 つの大きさ。文字に合わせる = 粒子も同じ倍率(見た目の密度がそろう)/ そのまま = 粒子の大きさは変えず、点の広がりだけ変わる。Transform・Shape のどちらでも効きます

粒子の出る場所は、Transform と Shape のどちらでも同じです。違いは次の 2 つです。

親・子のオフセットは、イージングの見本には使いません。

5-4. ベース#

ベース
ベース
項目内容
ベーステンプレート50-0186_UnityEditor/BaseTemplate/ に入れた Particle System 入りの Prefab から選びます。フォルダは右のアイコンで開けます
ベースの ParticleScene の Object か Prefab を直接指定。指定すると、その設定を元にして、このツールの項目で上書きします
上書きされる値を確認ベースの値のうち、このツールで書き換わる項目を別ウィンドウで一覧します

ベースを指定すると、各項目の左に「上書き」のチェックが出ます。OFF にした項目はベースの値のまま残ります。チェックの既定は Settings → ベース で決めます。

上書きされる値の一覧(別ウィンドウ)
上書きされる値の一覧(別ウィンドウ)

5-5. Main#

Main
Main

時間

項目既定内容
Duration (s)11 文字(1 行・全体)の粒子を出し切る時間。Looping が OFF の時、実際の Duration はこれ + 補正(既定 0.05 s。Settings → ベース)。Looping の時は足しません(1 周 = この秒数)
LoopingOFFOFF = 出し切ったら止まる / ON = 消えたらまた最初から
Max Particles を頂点数でクランプOFFLooping が ON の時だけ出ます。ON = Max Particles を字の点の数(Mesh の頂点数)までにします。粒子の数は抑えられますが、前の周の粒子が消えるまで次の周が出ないので、すき間ができることがあります。OFF = 周が重なる分も足します
文字ごとの遅れ (s)0.052 文字目以降の Start Delay に足す秒数。行ごとの時は「行ごとの遅れ (s)」、すべて結合の時は使いません(灰色)
Start Lifetime (s)3粒子 1 つが消えるまでの秒数。イージングはこの中に 始まり → 表示中 → 終わり の順で入ります
Simulation Speed1再生の速さの倍率。2 で 2 倍速、0.5 で半分。遅れ・寿命・イージングの全部がこの倍率で進みます

粒子の初期値

項目既定内容
Start Size小(0.01)極小 / 小 / 中 / 大 / 数値。極小〜大は 0.005 / 0.01 / 0.02 / 0.04 m(文字の大きさに比例して拡縮)。数値の時は Constant か Random Between Two Constants
Start Rotation (°)0Constant / Random Between Two Constants(0〜360 で全部の向き。星などのテクスチャで分かります)
Start ColorColor 白Color / Gradient / Random Between Two Colors / Random Between Two Gradients / Random Color
Random SeedランダムAuto = 再生のたびに変わる / ランダム = 生成のたびにツールが値を決めて固定 / 固定値 = 入れた値から決める(同じ値なら毎回同じ)

グラデーション欄をクリックすると、Unity のグラデーション選択が開き、このツールのプリセット(57 種。Rainbow / Warm / Cool / Nature / Sky / Fantasy / Jewel / Pastel / Tint)が格子で出ます。閉じると元のライブラリに戻ります。

5-6. Emission・Shape#

Emission・Shape
Emission・Shape

放出

項目既定内容
粒子の発生順(EN: Spawn Order)左 → 右粒子が出ていく向き。3 × 3 の矢印で上下左右・斜め、右の 3 段で奥行き(奥へ / なし / 手前へ)を組み合わせます。右に今の向き(例「左 → 右」)が出ます
BurstOFFON で全部の粒子を一度に出します(Emission の Bursts。向きは使いません)
発生の向きの入れ方角度ベクトル = X Y Z の向きで入れる / 角度 = 右向き(+X)を X → Y → Z 軸のまわりに回す角度(°、Unity の Rotation と同じ)で入れる(例: Z 90 = 上へ、Y 90 = 手前へ、Y -90 = 奥へ、Z 180 = 左へ)。どちらでも同じ向きになり、矢印のボタンで変えると角度も合わせて変わります
向きのギズモOFFON = プレビューの親の原点に、Scene の回転ギズモと同じ 3 つの輪を出します。輪をドラッグすると、その軸のまわりに発生の向きが回ります(Shift で細かく)。プレビューの「向き」が ON の時だけ出ます
発生の向き0, 0, 0上の入れ方で決めた向きの値(角度 (°) または ベクトル)
Duration で出し切るON表示順が向きの時だけ出ます。ON = 字の点を Duration でちょうど出し切る(Rate over Time = 点の数 ÷ Duration、Shape の Spawn の速さ = 1 ÷ Duration)。OFF = 1 秒で出し切る速さのまま(Duration を長くすると出し切った後も字の頭から出し続け、短くすると途中で止まる)
Emission の倍率 (×)1表示順が向きの時だけ出ます。Rate over Time に掛ける倍率。字をなぞる速さは変えず、出る粒子の数だけ増減します(2 = 点ごとに約 2 粒、0.5 = 点を 1 つおき)。Burst の時は使いません(イージングが放出を作り直すため)

Shape

項目既定内容
Align To DirectionOFF粒子の向きを、出ていく向きにそろえます
Randomize Direction00〜1。出ていく向きをばらつかせます
Spherize Direction00〜1。出ていく向きを球の外向きに近づけます
Randomize Position (m)0出る場所を点のまわりにばらつかせます
Use Mesh ColorsOFF字形の Mesh に色は無いので、自分の Mesh の時だけ効きます
Normal Offset (m)0表は手前、裏は奥、側面は外側へずらします

5-7. イージング#

イージング
イージング

粒子の「始まり → 表示中 → 終わり」の動きです。イージングの枠(8 章)で見本をクリックしても、ここで名前から選んでも同じです。

見本

項目既定内容
プリセットなし始まりと終わりの組み合わせ(例: Assemble_Explode = 外から集まり、はじけて消える)。選ぶと始まり・終わりにも同じ名前が入ります
始まりなし粒子が文字の形に集まるまでの動き。分類 / 名前 から選びます
表示中なし文字の形になっている間の揺らぎ・瞬き・脈打ち。「なし」なら始まりのプリセットの揺らぎをそのまま使います
終わりなし文字が崩れて消える動き

下に、選んだ見本の説明(例: 外から集まり、はじけて消える)が出ます。右端の ↺ でその欄を「なし」に戻します。

時間

項目既定内容
Start Lifetime (s)35-5 の Start Lifetime と同じ値(どちらで変えても同じ)
時間の決め方s始まり・終わりの時間を秒で指定するか、Start Lifetime に対する割合(%)で指定するか。% の時は Start Lifetime を変えても % が固定で、秒のほうが変わります
始まりの時間 / 終わりの時間プリセットの秒数動かすまではプリセットの時間を表示します。右端の ↺ でプリセットの時間に戻ります。% の時は「始まりの割合 (%)」「終わりの割合 (%)」(0〜100)になります。始まり + 終わりが 寿命 − 0.15 s(動き出す前の見えない時間)を超える時は、生成で比率を保って縮めます。画面では下の帯が赤く「寿命が足りません」と出ます

下に「始まり X s / 表示中 Y s / 終わり Z s」の割り振りがゲージで出ます。

5-8. Color over Lifetime#

Color over Lifetime
Color over Lifetime
項目既定内容
ColorOFF左のチェックで ON。粒子の寿命の中で色を変えるグラデーションを、Start Color に掛け合わせます。グラデーション欄からプリセット(5-5)も選べます
暗く / 明るく—グラデーションの色すべての明るさを 5 % ずつ下げる / 上げる(透明度は変えません)
透明度も上書きOFFON = 透明度もこのグラデーション。OFF = 透明度はイージングのフェードのまま

5-9. Rotation over Lifetime#

Rotation over Lifetime
Rotation over Lifetime
項目既定内容
Angular Velocity (°/s)0粒子が回る速さ。マイナスで逆回り。0 で Rotation over Lifetime を OFF。右の ▼ で Random Between Two Constants(粒子ごとに範囲の中の速さ)にできます

5-10. Texture Sheet Animation#

Texture Sheet Animation
Texture Sheet Animation
項目既定内容
Texture Sheet AnimationOFFテクスチャを X × Y のコマに分け、粒子ごとにランダムなコマを使います(時間では変えない)。画像は Renderer の Material で指定
Tiles2 × 2各 1〜64

5-11. Renderer#

Renderer
Renderer
項目既定内容
MaterialT01粒子 1 つの見た目。同梱の Material 18 種(T01〜T18)から、見本の画像をクリックして選びます。T02 は Unity 内蔵の丸です
マテリアルを指定なし自分の Material。指定すると上の選択より優先

5-12. 出力#

出力
出力

Object の名前

項目既定内容
名前空親の Object と Prefab の名前。空なら入力した文章。{text} = 文章、{n} = 親の番号。ファイル名に使えない記号は _、60 文字まで
連番OFFON で名前の頭に 番号_ を付け、生成するたびに 1 つ増えます。右の欄が次の番号
名前の中の改行_名前に入る文章の改行を _ / 空白 / 詰める のどれにするか
子の名前{n}_{char}文字ごとの Object の名前。{n} 連番 / {char} 文字 / {code} 文字コード / {line} 行 / {col} 行の中の番号 / {text} 行の文字。行ごと・結合の時は {n}_{text}
子の連番開始 1、桁数 3{n} の最初の番号と桁数

「例:」にその設定での子の名前が出ます。

ファイル

項目既定内容
保存先…/50-0186_UnityEditor/ExportPrefab と Mesh の保存先(Assets の中だけ)。「…」で選び、↺ で既定に戻します
Mesh を共通にするOFFON で字の Mesh を保存先の _SharedMesh に 1 つだけ置き、次の生成でも使い回します(同じ字・同じ設定なら同じファイル)
一括生成しない文章を区切って 1 つずつ別の親(または Prefab)として作ります(10 章)

Scene

項目既定内容
Scene に配置ON「プレハブとして生成」の時も Scene に置く
置き方直下直下 / 同じ階層(Hierarchy で選択中の物の隣)/ 子(選択中の物の子、原点)
親 Object を作らないOFFON = 文字(行)の Object だけを作ります。生成 = Scene に子だけを置く(置き方の場所へ、親を置いた時と同じ位置・向き)。プレハブとして生成 = 保存先の <名前> フォルダに子ごとの Prefab。下の「設定を子に残す」「親に空の Particle System を付ける」は使えず、Animation のキーは子に打ちます
設定を子に残すOFF親の下に EditorOnly の子 _TypoEffectSettings を作り、生成した時の設定を残します。あとで読み込む・作り直すに使います(12 章)。ビルド・アップロードでは取り除かれます
親に空の Particle System を付けるOFF親に粒子を出さない Particle System を付け、親の再生・停止で子をまとめて操作できるようにします

5-13. Animation (Active な Animation ウィンドウにキーを追加)#

Animation
Animation
項目既定内容
Animation キーOFFAnimation ウィンドウで開いているクリップに、置いた物の表示(Is Active)のキーを打ちます。0 フレーム目 = OFF、シークバーの位置 = ON
キーを打つ対象親親 = 親の表示にキー。子 = 文字・行ごとの子それぞれにキー(親は表示したまま)

置き場所はそのクリップの対象の下にしてください(置き方「子」か「同じ階層」)。対象の下にない時は Console に ⚠ が出て、キーは打ちません。

6. 生成ボタン#

ボタン内容
生成Scene に作ります。字の Mesh は保存先の <名前>_Mesh/ フォルダに書き出します
プレハブとして生成保存先に <名前>.prefab を作ります。Mesh は Prefab の中に入ります。「Scene に配置」が ON なら Scene にも置きます

同じ名前で繰り返すと、Prefab と <名前>_Mesh のフォルダは <名前> 1、<名前> 2 … の別名になります(Scene の Object は同じ名前のまま増えます)。生成物は Undo で取り消せます。

プレビューの枠の左上の「粒子 約 N」は生成物の粒子数の見積りです。60,000 を超えるとオレンジで出ます。点の間隔を大きくするか、文字を減らしてください。

生成ボタン1
生成ボタン1生成ボタン

7. プレビュー#

今の設定で粒子を実際に並べて動かします(保存はしません)。

プレビューの枠
プレビューの枠
操作内容
左ドラッグ回転
右ドラッグ見回す
中ドラッグ / Shift + 左ドラッグ平行移動
ホイール / Alt + 右ドラッグズーム
F視点リセット
ボタン既定内容
軽量表示ONプレビューだけ点の間隔を +2 にして軽くします。生成物は変わりません
グリッドON大きさの目安(m)のマス目
向きON粒子が出ていく向きの黄色の矢印。親の原点を真ん中に前後同じ長さで、元は薄く先は濃く描きます。長さは Settings → UI → プレビューの「向きの矢印」で決めます(自動 = 見えている高さの割合、既定 50 %。両端が画面に収まるまで縮めます / 固定 = m)。アドバンスドの Emission・Shape で「向きのギズモ」を ON にすると、親の原点に Scene の回転ギズモと同じ 3 つの輪(X 赤 / Y 緑 / Z 青)が出ます。輪を左ドラッグすると、その軸のまわりに向きが回ります(つかんだ点がマウスに付いてくる角度ぶん。斜めから見た輪でも同じ。Shift で 1/4)。輪の大きさは「XYZ の印」の設定と同じです
円弧ON曲がりが 0 でない時だけ出ます。各行の文字が乗る弧(濃い線)と円の残り(ごく薄い線)、中心の十字。楕円の時は楕円で描きます
視点固定OFFON で文字を変えても視点を動かしません
再生 / 一時停止 / 最初から / ループ—下の時間スライダーでシークできます。ループは、最後まで再生したら最後の形のまま「ループの間」(既定 0.5 s、Settings → UI → プレビュー)待ってから頭に戻ります。ループが「繰り返す」(Looping)の時は待たずに流し続けます

設定を変えてからプレビューを作り直すまでの待ち時間、描画の上限 fps は Settings → UI で変えられます。ウィンドウを操作していない時はプレビューを止めます(Settings → UI → 再生)。

8. イージングの選び方#

イージングは「始まり(粒子が文字になるまで)」「表示中(文字になっている間)」「終わり(消えるまで)」の 3 つの動きです。見本の枠で、動いている見本をクリックして選びます。選択中のマスをもう一度押すと解除です。

イージングの枠(アドバンスド)
イージングの枠(アドバンスド)

見本の欄を一度クリックすると、矢印キーで選択を動かせます(← → = 前 / 次、↑ ↓ = 1 行上 / 下)。ページの端を越えると前 / 次のページへ移ります。

分類内容
組み合わせ始まりと終わりを一度に決める組み合わせ。分類は始まりの動きで分かれ、終わり(消え方)は見本ごとに違います。中心から / 散って集まる / 飛んでくる(アドバンスドの一覧では「スライドイン」)/ 回って集まる / 現れる / 埋まる
始まり上と同じ 6 種を個別に。スライドイン(飛んでくる)・回って集まるは軸(X / Y / Z と 2 軸)で分かれます
表示中揺らぎ / 瞬き / 脈打つ
終わりはじける / 流れて消える / 回って消える / その場で消える

イージーは組み合わせから選びます。「詳細で選ぶ」を ON にすると、アドバンスドと同じく始まり・表示中・終わりを分けて選べます。アドバンスドは左のツリーで分類をたどります。 イージーで「詳細で選ぶ」が ON の時は、粒子の分類の表示時間の下に「時間の決め方」「始まり / 終わりの割合(時間)」と割り振りの帯が出ます(OFF の時はプリセットの時間のまま)。

枠のボタン内容
見本の文字見本に使う文字(既定「Aあ」。変えた時は右の ↺ で戻ります)
最初から見本を頭から再生します
見た目を一定ON = 動きが見やすい固定の見た目。OFF = 作成中の粒子の設定で見せる(アドバンスド)
軽量表示見本だけ点を減らします。減らした分だけ粒子を大きくするので、文字の見え方はほぼ同じです
角度正面 / 斜め / 横 / 上から / 下から。右上のギズモをドラッグしても回せます(「角度: 自由」になり、ギズモの左上の ↺ で斜めに戻ります)

自分のイージングを足す: Data/50-0186_EasingLibrary.asset を選び、Inspector の presets に要素を追加して名前と値を入れます。分類は値から自動で決まります。名前は重複しないようにしてください。同梱のプリセットは消しても次回に復活します。

9. 生成物の構造#

生成した物(設定を子に残す ON)
生成した物(設定を子に残す ON)
<親の名前>                      ← 親(Root)。原点は「親の位置」で決めた点
  001_あ                        ← 文字ごとの Particle System(Shape = Mesh。字形の点群)
  002_い
  …
  _TypoEffectSettings           ← 「設定を子に残す」ON の時だけ。EditorOnly

生成物は普通の Particle System なので、生成後に Inspector で自由に変えられます。ツールの設定を後から変えても、生成済みの物は変わりません。

10. 一括生成#

出力 → 一括生成 で、文章を区切って 1 つずつ別の親(または Prefab)として作ります。ほかの設定は共通です。

モード内容
改行ごと1 行 = 1 つ
区切り文字決めた文字で区切ります。\t でタブ。区切りの中の改行はそのまま複数行になります
CSVAssets の中の .csv(UTF-8)。1 行 = 1 つ。列は 名前, 文章

CSV の書き方(見本: 50-0186_UnityEditor/CSV/50-0186_BatchTemplate.csv。自分の CSV もこのフォルダに置くと見つけやすいです):

名前,文章
Title_01,ようこそ
Title_02,こんにちは
Title_03,"カンマを含む文章は、全体を "" で囲む, こうする"
,名前が空の行は、出力の「名前」の決め方で付く
Lyric_01,"1 行目
2 行目("" で囲めば改行も入る)"

生成中は進捗バーが出て、途中でやめられます。結果は Console に [50-0186] 一括生成: 成功数 / 全数 と出ます。

11. Settings ウィンドウ#

ヘッダーの ⋮、またはタブの ⋮ / 右クリックの「UI 設定」で開きます。6 つのタブがあります。

11-1. UI#

Settings → UI
Settings → UI
分類項目
言語日本語 / English
ヘッダーメインヘッダーの表示、ヘッダーに出すボタンの組の ON / OFF
パネル設定プレビュー・イージングの枠の配置(自動 / 右 / 左 / 上 / 下)、並び、3 列に並べる
テキスト欄上に固定 / 下に固定 / スクロール
簡易プレビュー文字の大きさ(自動 / 8〜120 px)
プレビュー更新の待ち時間(0〜3 s、既定 0.3)、見本の選択はすぐ反映、描画の上限(15 / 30 / 60 fps)、ループの間(0〜5 s、既定 0.5)、向きの矢印(自動 10〜100 %、既定 50 / 固定 0.05〜5 m、既定 1)、XYZ の印(親の原点の印と向きのギズモの輪。自動 5〜100 %、既定 25 / 固定 0.02〜5 m、既定 0.5)
イージングの見本並べ方(自動 / 固定)、最大の表示数(1〜48、既定 24)、列 × 行(1〜8 × 1〜6、既定 4 × 3)
再生非アクティブの時は止める
フロートの窓重くなるのを防ぐ(既定 ON)。別のソフトから戻って浮く窓を直接クリックした時に Unity 全体が重くなる癖を、本体の窓へ一度フォーカスを渡して避けます(13 章)
ツールチップ表示の ON / OFF、文字の大きさ、表示までの時間
ウィンドウを既定に戻す入力ウィンドウを 1280 × 600 にして画面の中央へ。分離した枠も戻します

11-2. キャッシュ#

字形の画像を先にまとめて作る・消す・メモリを管理します。

Settings → キャッシュ
Settings → キャッシュ
項目内容
フォントの一覧キャッシュのあるフォントと今のフォント。チェックで選びます。「フォントを追加」で一覧に足せます
キャッシュする文字英数 / 記号 / かな / 常用漢字 / JIS 第 2 水準(既定。6,879 字)/ フォントの収録文字すべて
キャッシュ選んだフォントで字形の画像を作ります。作ってある字は飛ばします。途中でやめられます
消す選んだフォントの画像を消します(Library のファイルとメモリ)
メインメモリの上限 (MB)既定 512(スライダーは 64〜4,096。数値欄ならそれより上も可)。フォント 1 つ(JIS 第 2 水準)で約 100 MB
解放メモリに読み込んだ画像をすべて空けます。ファイルは残ります
メモリに常駐 / 常に常駐選んだフォントを全部メモリに読み込み、上限を超えても空けません

11-3. ベース#

Settings → ベース
Settings → ベース

Duration の補正: ループが OFF の時に Duration に足す秒数(0〜1 s、既定 0.05 s)。最後の粒子を出し切ってから止まるための余裕です。ループの時は足しません。

ベースの Particle を指定した時の「上書き」チェックの既定を、モジュールごと・項目ごとに決めます。既定はすべて ON(このツールの値で上書き)。

11-4. スライダー#

入力ウィンドウのスライダーの下限・上限を項目ごとに変えます(文字の大きさ、奥行き、点の間隔、字間、行送り、曲がり、Duration、文字ごと・行ごとの遅れ、再生速度、Start Lifetime、回転)。上限 > 下限の時だけ保存されます。数値欄にはスライダーの範囲外の値も入れられます。

Settings → スライダー
Settings → スライダー

11-5. ショートカット#

このツールのショートカットの一覧です。既定ではどれにもキーを割り当てていません。「Shortcuts を開く」から Unity の Edit → Shortcuts(YUYULAB / 50-0186)で割り当てます。

Settings → ショートカット
Settings → ショートカット
ショートカット内容
Toggle Editor入力ウィンドウを開く / 閉じる
Toggle Properties / Preview / Easing各枠の表示(アドバンスド)
Generate / Generate as Prefab生成 / プレハブとして生成

11-6. プロファイル#

12 章を見てください。

Settings → プロファイル
Settings → プロファイル

12. 設定の保存と再利用#

3 つの仕組みがあり、Settings → プロファイル にまとめてあります。

仕組み入る物使い方
プロファイル(.json)Settings の設定(UI・キャッシュ・ベースの既定・スライダーの範囲)「書き出す」「読み込む」。ほかの PC で読み込めば同じ設定になります。ファイルに無い項目は既定に戻ります
プロパティのプリセット(.asset)入力ウィンドウの設定値(文字の形・動き・色・出力など)「今の設定を保存…」で 50-0186_UnityEditor/Preset/ に保存、一覧から「読み込む」。入力した文章と親の次の番号は読み込んでも今のままです
生成した物の設定「設定を子に残す」ON で作った物の _TypoEffectSettingsHierarchy で生成物を選び、「選択中の物から読み込む」(文章も戻る)/「同じ設定で作り直す」(同じ親・順番・位置に作り直して元を消す。Undo 可。Scene の物だけ)

Prefab の物は作り直せません。「選択中の物から読み込む」の後で「プレハブとして生成」してください。

13. 困ったとき#

表示原因と対処
フォントに無い文字があるので生成できませんその字を消すか、その字が入っているフォントをアドバンスドで選びます(OS の代替フォントは使いません)
保存先は Assets フォルダの中を指定してください出力の保存先を Assets/… にします
生成のボタンが押せないテキスト欄に文章(空白以外の字)を入れます。フォントとテンプレートが無い時も押せません
文字列が空です一括生成の項目に空の文章があります。区切り方・CSV を確かめます
円弧: 内側の行が潰れないよう円を広げました2 行以上を上に凸で大きく曲げた時に出ます(5-2)。行送りを小さくすると指定の角度に近づきます
ベースの Object に ParticleSystem がありませんベースには Particle System 入りの Object を指定します
⚠ Animation キー: Animation ウィンドウでクリップが開かれていませんAnimation ウィンドウでクリップを開いた状態で生成します
⚠ Animation キー: 置いた場所が Animation の対象(…)の下にありません置き方を「子」か「同じ階層」にして、クリップの対象の下に置きます
⚠ Animation キー: クリップ … は編集できません読み取り専用のクリップです。編集できるクリップを Animation ウィンドウで開きます
⚠ Animation キー: 子がありませんキーを打つ対象が「子」なのに文字が 1 つも作られていません
一括生成で作る物がありません区切り方・文章・CSV を確かめます
プレビューが止まっている既定では、ウィンドウを操作していない時は粒子を止めます。Settings → UI → 再生 で変えられます
生成が遅い初回はフォントから字形を作ります。Settings → キャッシュ で先にまとめて作れます。粒子が多い時は点の間隔を大きくします
粒子が多すぎる(60,000 超)点の間隔を大きくする、文字を減らす、奥行きを小さくする
別のソフトから戻った直後、フロートの窓の動きが重いUnity の癖で、本体の窓を触らずにフロートの窓を直接クリックすると Unity 全体の更新が遅くなります。このツールの窓は自動で本体に一度フォーカスを渡して戻すので重くなりません(Settings → UI → フロートの窓 で ON / OFF)。ほかのフロートの窓で起きた時は、Unity の本体の窓を一度クリックしてください

その他の注意:

フォントに無い字があると、赤い注意が出て生成できない1
フォントに無い字があると、赤い注意が出て生成できない1赤い注意

14. 同梱物#

フォルダ内容
Editor/ツール本体、グラデーションのプリセット(50-0186_Gradients.gradients)
Runtime/TypoSettingsHolder(設定を残す子に付くコンポーネント。EditorOnly)
BasePrefab/生成の土台になる Particle System の Prefab
Material/ Texture/粒子の Material 18 種(T01〜T18)と画像
Data/イージングのライブラリ
Font/Noto Sans JP / Noto Serif JP と OFL.txt
Document/説明書の URL を書いた 50-0186_README.txt。説明書(この文書)は https://yuyulab.jp/booth/50-0186/docs/ 、イージーモードの説明書は docs/easy/ で読めます

50-0186_UnityEditor/ 直下(Ver1.00 フォルダの外)は使う人の置き場です。

フォルダ内容
Export/生成した Prefab と Mesh の既定の保存先(無ければ生成時に作られます)
Preset/プロパティのプリセット(.asset)の保存先(最初に保存した時に作られます)
CSV/一括生成 CSV の見本 50-0186_BatchTemplate.csv
BaseTemplate/ベーステンプレートに出す Prefab の置き場(アドバンスド。右のアイコンで作られます)

T02 の Material は画像ファイルを持たず、Unity 内蔵の丸いパーティクル画像を使います。

生成した Mesh・Particle System・Prefab(と、それが使う同梱の Material・Texture)は、自作のアバター・ワールド・作品に組み込んで、営利・非営利を問わず利用・配布・販売できます。生成した物が主な内容になる形(文字エフェクトの素材集など)での配布・販売はできません。詳しくは BOOTH 販売ページ(https://yuyulab.booth.pm/items/9032512 )の「利用範囲」と、VN3 ライセンスの利用規約をご覧ください。

同梱フォントのファイルには、SIL Open Font License 1.1(Font/OFL.txt)が優先して適用されます。ご自身で追加したフォントは、そのフォントのライセンスに従ってください。