【Unity】ParticleでBillboardっぽい表現をする方法【VRChatアバター,モデル,常時表示】

3DCG
スポンサーリンク

はじめに

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

ビルボードは「ずっとカメラの方向を向いてる面」という意味です。
本来は描画負荷を抑えるために「ボード(板ポリ)」で絵を表現するモノになります。

そしてこの記事では「3Dモデル」を飛ばしてるので本来のボード(板ポリ)から少し変わります。
なのでビルボード “っぽい” という表現をしてます。

この記事の続きで書いたので「め」という3DモデルがParticleで表示されてます。

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

ちなみに板ポリのビルボードだけで良いならビルボードシェーダーがあります。
↓これを使うだけでOKと思います。

ビルボード・シェーダー SmileBillboard - みかん通販 - BOOTH
これは、ビルボード・シェーダー SmileBillboard です。 このシェーダーオブジェクトは、設定したロゴ、画像を常にカメラ方向に固定することができます。 ※笑い男ロゴはパッケージ内には含まれていません。公式サイトよりダウンロード下さい※ # セットアップ 1. 512 x 512 のように正方形で、透過(アルフ...

また、ある程度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について解説してます。

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

初心者向けUnity Particleエフェクト講座
初心者向けUnity Particle System (Shuriken) を使ったParticleエフェクト制作講座

コメント

タイトルとURLをコピーしました