はじめに
今回はVRCアバターにBillboard表示を組み込む方法を紹介します。
Unity 2022のParticle機能を使います。


ビルボード – billboard
これはずっとカメラの方向を向いてる形状や面などの意味です。
この記事の続きで書いたので「め」という3DモデルがParticleで表示されてます。

またParticleなのでVRChatで表示可能。
アバター上で動作します。

ある程度UnityやBlenderなどの3Dツールが扱えることを前提に進めます。
基本操作などはこちらをご覧ください。
作り方
作り方は下記。
・Particleを作成
・Particleを操作して1か所から動かないようにする
・Particleの表示数を1か2にする(最適化)
こちらを解説していきます。
パーティクルを作成
ヒエラルキーを右クリック。
エフェクト → パーティクルシステムでパーティクルを作成。

ヒエラルキー上の「ParticleSystem」を選択。

インスペクターを確認。
形状のチェックを解除。

するとParticleの発生位置が1か所になります。
(Transform値の所)

画面の見やすさを調整するために形状を一度有効化。
形状を「スフィア」にしてスケールを調整。
再度、非表示化で画面を見やすくしました。

そしたら「開始時の速度」を0に設定。

これでパーティクルが1か所で動かなくなりました。

この時点でビルボードとして成立してます。

表示がおかしい方はレンダー整列を「ビュー」に調整してください。

これで完成に見えますが…
現状は「50」このパーティクルが1か所に重なってる状態です。

Unityの処理的にあまりよくないので最適化します。
Particleの最適化
下記の4つを調整します。
・事前準備を有効化
→ Particle生成時の挙動の変化を無くす
・最大Particle数を1か2に設定
→ これが生成される数
→ 切り替わりの挙動を安定させるなら「2」が安全
・放出の「時間ごとの率」を0に設定
→ バーストを使ってParticleを出す
・放出のバースト右下の+を有効化して下記のように設定
時間=0、数=1、サイクル=無限、間隔=0.010、発生率=1.00

これで「開始時」以外は常時表示されるParticleになります。


筆者はこのあたりの挙動は完全に把握しきれてません。
もしかしたら、もっと良い設定がある可能性があります。
またParticleの生成数は「1」だと設定次第で切り替わりに点滅することがあります。

↓こんな感じの挙動です。


一番最初の所ではなく…
再生時間が「1.00」あたりになったところで一瞬消える点に注目。
よくわからないですが…
「時間ごとの率」を使うと切り替わりで点滅する挙動になりました。

これの一番の対策は2個Particleを出すことです。

これで切り替わり時に不自然な挙動が起こりにくくなります。

また私もなぜそうなったか分からないのですが…
「バースト」で放出するとこの挙動が治りました。(謎です)

以上がParticleの最適化です。
VRChatにアップロード
ヒエラルキーにあるParticleをプロジェクトにドラッグ&ドロップ。
忘れず保存します。

適当なアバターを用意。
配置を調整。

あとはParticleに「MA Bone Proxy」あたりを入れて適当なボーンに追従させます。

VRChatにアップロード。
適当な3面図表示ワールドに移動。
するとビルボードの挙動なので全てこちらを向いてます。

カメラを使って視点移動。
上手く動いてます。

以上がVRCアバターにBillboardを組み込む方法です。
まとめ
今回はVRCアバターにBillboard表示を組み込む方法を紹介しました。
・ビルボードはずっとカメラの方向を向いてる形状や面などの意味
・Particleにはビルボード表示機能がある
・1か所から動かない、表示数が1か2のParticleを作る
・このParticleにビルボード表示したいマテリアルや形状情報を入れる
・レンダー整列が「ビュー」ならビルボード表示になる
また他にもUnityや3DCGについて解説してます。


ぜひこちらもご覧ください。

コメント