fc2ブログ
ヽ|∵|ゝ(Fantom) の 開発blog? ホーム »
最近の記事

【Unity】【C#】3DText(TextMesh) を半透明より手前に表示する  


 VRM Live Viewer には 3D空間上に名前を表示する機能があるんだけど、それを実装したときの Tips の1つ。

 Unity では 3D空間にテキストを表示する方法として 3DText (Text Mesh) というものがあり、常に最前面に表示されるので便利…と思ったら、半透明なものには後ろになってしまうんだよね。

 VRM Live Viewer では自由にオブジェクトを配置できるので、最前面に出てくれないと、背景オブジェクトによっては後ろに回ってテキスト(名前)が見えなくなってしまう。

 なので、ググってたら描画順を変更するために、シェーダを作ってる例があった。と言っても、これらは逆に後ろに回すためのものだけどね。

(3DText を後ろに周りこませる)
3D Textの前後関係を正しく表示する
3DTextの主張を止めたい

 しかし、このためだけにシェーダ作るのも何だな~、と思ったので(シェーダはシステム依存が強いので、後々面倒になることが多い)、スクリプトで RenderQueue を変更してみたら、上手くいったので、その時のメモ。

●デフォルトでは 3DText は半透明より後ろに描画されるが、スクリプトで最前面に表示させた例


(※) Unity 2020.3.34f1 / Windows11(x64) で確認


●3DText (Text Mesh) のRenderQueue を変更して、透明より手前に表示させる
using UnityEngine;
using UnityEngine.Rendering;

namespace Example
{
public class TextMeshRenderQueue : MonoBehaviour
{
public TextMesh textMesh; //描画順を変更する 3DText をアタッチ
public int renderQueue = (int)RenderQueue.Transparent + 1; //3001 (とりあえず、透過より大きくしておく)

private void Reset()
{
if (textMesh == null)
textMesh = GetComponent<TextMesh>();
}

// Use this for initialization
private void Start()
{
textMesh.font.material.renderQueue = renderQueue;
}
}
}

 何らかの 3DText (Text Mesh) の1つにアタッチして、プレイするだけで、描画順が透明の RenderQueue + 1(Transparent+1 [=3000+1]) に変更されるので、常に最前面に表示されるようになる。3001 以上の描画順が他にあるなら、それより大きい値にすれば良い。

 ただ欠点としては、TextMesh.font.material が sharedMaterial みたいなもの(?)だったので、3DText ごとに描画順を設定できないことかな。なので、全体で1つの描画順となる。試しに Material を複製して再設定してみたが、なぜか上手く行かなかった。まぁ、使い勝手は悪いが「全てにおいて最前面に表示」みたいな使い方なら、問題無く使える。







(関連記事)
【Unity】【C#】制限付きでテキストのサイズに合わせて他のオブジェクトのサイズも変化させる
【Unity】【C#】RectTransform の矩形の実座標を取得する(GetWorldCorners)
【Unity】【C#】uGUI ドロップダウンの要素をコードで設定と取得、外観のカスタマイズなど
【Unity】【C#】固定背景画像(2D)を表示する
【Unity】【C#】HDR Color を計算(変換)する
【Unity】【C#】ガンマ(Gamma, sRGB) - リニア(Linear) 値の相互変換


関連記事
スポンサーサイト



category: Unity

thread: ゲーム開発

janre: コンピュータ

tag: Unityリファレンス 
tb: 0   cm: --

【VRMLiveViewer】PVキットを使ってハイクオリティなPV/MV体験をする (チュートリアル)  


 今回はこれまでの3Dの背景で踊らせるのとはまた一味違う、2D動画を使ったPV/MV体験をしてみよう。VRM Live Viewer には以前から背景に動画を使う機能はあったが、元々は主にループ素材を再生するものだった。しかし v3.4 以降では再生開始を同期する機能が追加され、音楽再生と同時に動画も最初から再生できるようになった。この機能と「PVキット」と呼ばれるものを利用して、背景動画(主にアニメーション)とダンス,カメラ等を同期させ、まるで最初から完成されていたPV/MVを観ているような映像を楽しむ方法をやってみよう。

 この方法の場合、やることは定型処理みたいになるので、一度覚えてしまえば難しいことは何も無い。3D背景のように作り込むこともなく、簡単にハイクオリティなPV/MV体験ができるので、ぜひ挑戦してみて欲しい。凝った演出も多く、視聴するだけでもなかなかの感動モノだ。素材さえ見つければ、自分では作れないようなPVが即興的に観れるので、かなり楽しめるだろう。

 先んじて必要な設定を箇条書きにしてみると以下のようになる。

・mp4フォーマット
・動画の設定で[2D]モードにする
・ループ再生はオフ
・再生を音楽に同期をオン
・右サイドパネルの(Sync)Startをオン(デフォ)
・[影だけ床]を使うとき、影の濃さを少し調整(0.5~0.9前後)
・VMDカメラの設定で [Y拡縮] 等を使って、キャラが良い感じに映るように調整する

 上記の設定が自分でできるのなら、このチュートリアルをやる必要はないだろう。ここでは初心者でもわかるように詳細な手順を含めて書いておくので、既にできる人は興味ある部分だけで十分だと思う。


(※) VRMLiveViewer 3.4 / Windows11(x64) で確認



■mp4 フォーマットの動画を用意する (※avi からの変換が必要なときのみ)

 今回は、MAO様の簡易PV構築キットを使わせて頂こう。PVキットをアプリで利用する件については事前に許可を得てある。一般公開する際は「クレジット記載とリンク先は配布動画にする(ニコ動内ならコンテンツツリー登録など)」を守って貰えば、利用してもOKだそうだ。リンク先を配布動画にして欲しいのは、ブログの利用規約に目を通してからダウンロードする形をとって欲しいとのご本人たっての希望だ。各キットによって内容も少し違う場合もあるので、曲ごとに確認した方が良いだろう。といっても、これは他者の作品をお借りする上では当たり前のことなので、PVキットに限らず、全ての素材でやった方が良いだろう。



 ここでは例として「Brand New Workd」を使うことにしてるが、やり方に関しては他の曲でもあまり変わらないと思うので、好きなセットをダウンロードしても良い。元々 mp4 があるものはもちろん変換する必要は無い。例えば「ロキ」「[A]ddiction」「なでなで」等いくつかには mp4 版も最初から用意されている。そちらを試してみる場合は「アプリでPVキットを使ってみる」から始めて良い。ここからの手順はあくまで avi のみで配布されているときの mp4 への変換方法で、自分でできるのなら、この手順は読み飛ばしても良いだろう。

 ここでは昔から動画作成に使われる「AviUtil」を使う方法を紹介しておこう。他の変換ツールを使うのに慣れているのなら、わざわざこちらを使う必要も無い。要は mp4 に変換できるのなら何でも良い。AviUtil を選んだ理由はPVキットでの動画合成も AviUtil を使うことが想定されていることも多く、フリーソフトなので誰でも入手できるという点だ。とても高性能でネットでは情報も入り易いので、ダウンロードしておいても損は無いだろう。


1. まずは公式の「AviUtlのお部屋」から最新版をダウンロードしよう。掲載時点では v1.10 だったが、ここでやるのは avi → mp4 変換だけなので、それほどバージョンにこだわる必要はないだろう。とりま一番上のものをダウンロードすれば良い。



2. 導入に関してはこちらのサイトにも詳しく書かれているので参考にして欲しい。一緒に「拡張編集プラグイン」と呼ばれる「exedit93rc1.zip」(掲載時点:バージョンはその時の最新で良い)も入れておいた方が良いだろう。インストールは解凍した zip を好きな場所に移動し、拡張編集プラグインもその中に入れれば良い。

AviUtlと拡張編集プラグインの導入方法



3. 今回は avi → mp4 変換する目的なので、mp4 の出力プラグインの「x264guiEx」も入れよう。これも先程のサイトに詳しく書かれているので、参照して欲しい。ただ、開発者のブログからダウンロードとなっているが、今では GitHub でも公開してるので(以前は OneDrive で公開してた)、直接そちらから最新の zip をダウンロードしても良い。解凍したら、参照先の解説にあるように「auo_setup.exe」を起動し、インストールすれば良い。バージョンによってやり方が違ってたり、エラーが出たりするなら、都度ググって情報を探して欲しい。

x264guiExの導入方法と使い方
rigaya / x264guiEx (GitHub)



4. 他には「Grass Valley Codec」と「Ut Video Codec」も入れておこう。これは avi でのコーデックだ。どちらもインストーラーがあるので、ダウンロードしてインストーラー(exe)を動かせば良いだけだ(※バージョンはその時の最新で良い)。

Grass Valley Codec
Ut Video Codec Suite (GitHub)



5. これで準備は整ってるハズなので、AviUtil を起動して、avi をドロップしよう。再生して映像が出てくればOKだ(ずっと真っ黒のままなら、コーデックのインストールに失敗している可能性がある→ググって情報を探して欲しい)。後は [ファイル] メニューから [プラグイン出力>拡張 x264 出力(GUI) Ex] で適当な名前を付けて(同じ名前で良い) mp4 で保存し直せば、mp4 変換完了だ。


※前景/背景のように複数あるものは同時に利用できないので、拡張プラグインを使って合成してしまえば良い。プロジェクトファイルが添付されていれば、それを使うのが速いだろう。
※「かんたんMP4出力」というプラグインもあるが、なぜか上手く変換できないことがあったので、x264guiEx の方を紹介した(※x265 版もあるが、x264 の方が互換性が高い)



■アプリでPVキットを使ってみる

 mp4 の準備ができたら、アプリで再生する準備を整えよう。といっても冒頭に箇条書きした項目をやっていくだけだ。基本的には再生同期設定ができれば十分で、後はキャラクターの身長に合わせたカメラ設定や、影だけ床を使うときの設定などは任意で良い。


1. まずベースとなるステージを選択しよう。右サイドパネルの背景から [Plane] を選ぶか、v3.4 では左サイドパネルの設定アイコン、またはショートカットキーの [W] でツールパッドが開くので、少し下へスクロールして Stage: から [Plane] を選んで欲しい。また床(Floor:)は [影だけ床] にしよう。

 [影だけ床] を選択したら、背景が真っ暗になるが、これは [影だけ床] がプリセットの空(Skybox) を同時に使用できない制限があるからで(特殊なシェーダを用いてるため)、自動的に空(Sky:)が [(空なし/360)] になったからだ。なので正常な動作のため問題無い。ちなみに360度画像なら使えるので、別の機会に試してみると良い。

 また、ツールパッドは一番下にある [Alternate Show] にチェックを入れると、サイドパネルと入れ替わりで表示できるので、ツールパッドの上部をドラッグして右端などに持っていくと良い。

 ついでにキャラクターロードや同梱されている vmdモーションをロードしても良いだろう。これらもドロップだけで勝手に再生される。



2. ステージの用意ができたら、変換した mp4(※もちろん最初から mp4 のものでも良い)をアプリにドロップし、「2D動画の設定」を開こう。ただ、この動画の設定は 360モードになってる場合がある(アプリでは最後に使用したモードになっている)。その場合、設定パネルを開いて [2D] モードに変更すれば良い。必要な設定としては、[ループ再生] はオフと [再生を音楽に同期] にチェックを入れておくことだ。

 [フィット] は画面と動画のアスペクト比とが異なる場合、画面の幅か高さのどちらに合わせるかの設定だ。しかし、カメラを使うなら [高さ] の方が良いかも知れない(任意)。もし、音楽と動画がずれるのであれば [開始タイミング](秒) で微調整するのも良い(任意)。



 なお、再生開始で同期するには右サイドパネルの (Sync)Start にもチェックを入れておく必要がある(デフォ)。これをオフにした場合は音楽だけの再生となる。[Tab]キーでサイドパネルを確認できたら、[W]キーでツールパッドに戻すと良いだろう。



4. [影だけ床] の調整方法も書いておこう。この [影だけ床] の実体は透明な平面床で、文字通り影だけが表示される床だ。なので、影の調整はライトでする。「ライトの設定」を開いて、[メイン] タブのまま、回転や影の濃さなどを設定しよう。MMDのデフォルトでは 45 度(135=90+45)が多いみたいだ。 [影だけ床] は少し色が濃くなる傾向があるので、影の濃さを 0.5~0.9前後にするのも良い。元が平面床であるため、縦回転によっては影が切れてしまうこともあるが、その場合は床のサイズを広げる。この辺りは Tips のツイートを見た方が速いかも知れない。



5. 最後に同梱されている vmdカメラをアプリにドロップして再生してみよう。身長別にいくつか入っていれば、一番近いものを選ぶと良いだろう。カメラの設定アイコンが青になってれば vmd カメラが読み込まれているので、設定パネルを開いて、[Y 拡縮] でいい感じに画面にキャラクターが収まるように調整すれば良い。ちなみに入力ボックスにカーソルを当てたまま、[↑][↓]キーを押せば、一定量変化できるので、これで合わせるのも良いだろう。またカメラが停止してるなら、パネル上の再生ボタンでも開始できる(ただし、音楽は再生されない)。



 ちなみに、キャラクターの身長がわからない場合は、「モデルプロパティ」を開いて、おおよその身長を調べると良い。このデータは最大境界のものだが、Height (=Top-Bottom:一番上と一番下の差分) または Top (一番上) が身長に近くなる。最大境界は可視化にチェックを入れれば、T-Pose になってるときのバウンディングボックスであることがわかる。注意点としては帽子やアホ毛、ヒールのような靴底が出っ張ってるものも含むので、装飾品のあまり無いモデルで確認した方が良いだろう(※佐久間蒼乃さんの身長計をアプリにロードして T-Pose で測っても良い)。



 ここまでで設定は完了だ。同期設定が上手く行ってるなら、音楽開始と同時に動画も最初から再生されるだろう。少し問題があるとすれば、MMDの元モデルとの身長差が大きい場合、どうしても背景のイラストとの接地感は無くなってしまう点だが、これはある程度仕方ないだろう。VMDカメラで [Y 位置] をずらすして合わせることもできるが、他のカットで合わなくなるので、一曲通して再生するには難しい。また照明モーションも対応してないので、影の方向が一定なのもどうにもならない。


モデル(左): ジトメちゃん / モデル(右):空雪ルミアさん

 とは言え、これをシーンとして保存しておけば、背景動画とモーション,カメラ等セットになっているものを入れ替えて、だいたい同じように設定すればすぐに楽しめるメリットもある。ポストエフェクトやパーティクルもかけられるので、ちょっとオリジナルに+αして楽しむのも良いかもね。

 PVキット作者のMAO様からは、一般公開する際は「クレジット記載とリンク先は配布動画にする(ニコ動内ならコンテンツツリー登録など)」を守って貰えばOKだそうだ。リンク先を配布動画にして欲しいのは、ブログの利用規約に目を通してからダウンロードする形をとって欲しいとのご本人たっての希望で、各キットによって内容も少し違う場合もあるので、曲ごとに確認した方が良いだろう。





 余談だが「PV と MV ってどっちの呼び名の方が良いんだろう?」ってググってたら、『PV は Promotion Video の略で、宣伝用の映像』『MV は Music Video の略で楽曲に合わせた映像作品』と出てきたので、たぶんこういうのは MV の方が正しいのだろうな~、と思ってしまった。

 ただ、MMD って VPVP (Vocaloid Promotion Video Project) が中心で、MMD も元は『初音ミク専用のPV作成用ツール』(※初期のバージョンは初音ミク1体のみしか動かせなかった) と公式サイトにも書かれているので、PV の方の呼び名で定着してるのかもね(MAO様も英訳の方ではMVと書いてる)。まぁ、通例であるなら、そう呼ぶのも致し方あるまい(笑)。







(関連記事)
【VRMLiveViewer】背景をカスタマイズする (チュートリアル)
【VRMLiveViewer】GLTF モデルに影が付くように修正して、アプリで利用する
【VRMLiveViewer】背景GLTFの設定リスト(使用例)
【VRMLiveViewer】魔法陣の床を作る
【VRMLiveViewer】GLBで壁を作る(WallMake_Sample の解説)
【VRMLiveViewer】GLBで背景モデルを自作する
【VRMLiveViewer】VRM(VRoid)をライブステージで踊らせるアプリを作ってみた


関連記事

category: VRMLiveViewer

thread: ソフトウェア開発

janre: コンピュータ

tag: VRMLiveViewer  チュートリアル 
tb: 0   cm: --

【VRMLiveViewer】背景をカスタマイズする (チュートリアル)  


 VRM Live Viewer にはβ版時代から背景 GLTF/GLB モデルを読み込む機能があったのだが、特に日本では GLTF/GLB フォーマットはあまり使われてなかったので、海外の3Dモデル共有サイト(主に Sketchfab)に頼るしかなかった(実際にはバーチャルキャスト で GLB は使われていたが、閉じたシステムのため、あまり一般普及しなかった)。

 しかし最近では(VRMLiveViewer 3.4時点)、BOOTH等にも GLB(GLTF)フォーマットの背景モデルも配布されるようになったため、改めて背景の変え方をチュートリアル的に書いておこう。

 ちなみに GLB と GLTF は同じ glTFフォーマットで、GLB はテクスチャ等を含めたアーカイブ形式のものである。実は VRM も同じ glTFフォーマットで、GLB と同じアーカイブ形式で人型に特化したフォーマットだ。なので、内部的に同じもののため、拡張子を .vrm → .glb にリネームすると、背景モデルとして読み込める(逆に背景モデルを VRM形式にして、シェイプキー等でギミックを入れてる例もある)。

 ここでは初心者でもわかるように詳細な手順を含めて書いておくので、簡単過ぎる人は興味ある部分だけ拾い読みで十分だろう。


(※) VRMLiveViewer 3.4 / Windows11(x64) で確認



■背景の3Dモデルを読み込んでみる

 ここでは、プリメロ工房さんの「聖堂前ステージ」をサンプルに使わせて頂こう。無料でダウンロードできるが、できれば制作者のモチベにも繋がるので支援などもしてあげよう。クレジット等も要求されてはないが、自分の映像作品などに使用したなら、お店のリンクを貼るなり、制作者名なり出典を記載しておこう。特に大衆向けの配信サイト等で他者の作品を使いっぱなし貰いっぱなしというのはあまり宜しくない(自作発言してなくても、知らない人にはそう見えてしまうため)。できるだけの事で良いので、作ってくれた人のためになることしておこう。


※各素材の著作権は著作者に帰属します。各素材についての利用方法などは、各著作者が提示されてる利用規約などをご確認下さい。


1. まずベースとなるステージを選択しよう。右サイドパネルの背景から [Plane] を選ぶか、v3.4 では左サイドパネルの設定アイコン、またはショートカットキーの [W] でツールパッドが開くので、少し下へスクロールして Stage: から [Plane] を選んで欲しい。また床はいらないので、Floor: を [(床なし/3D)] にしよう。ちなみにベースに CRS FX 等ステージを使った場合は、そのままステージ上に配置する感じになる。

 また、ツールパッドの一番下にある [Alternate Show] にチェックを入れると、サイドパネルと入れ替わりで表示できるので、ツールパッドの上部をドラッグして右端などに持っていくと良い。



2. 先程ダウンロードした zip を解凍すると、いくつかのフォルダが出てくるので、とりあえずここでは「glbデータ」フォルダを開こう(他のフォルダは別形式やカスタマイズしやすい元データが入っている。親切!)。中には「ChurchAgora_A_Main.glb」「ChurchAgora_B_Add.glb」があると思うが(2022/7時点)、おおよそ「(モデル名)_A_~」「(モデル名)_B_~」のように順に追加していけば良いだろう。アプリで追加ロードする場合は [+] モードにする。[-] になっていたらクリックして、[+] になってることを確認したら、ファイルを順にドロップしていこう(または […] を押して、[背景モデル] から開いても良い)。

 ドロップした後にオブジェクトリストを開くと、2つのオブジェクトが表示されていればOKだ。通常は追加した順になる(並び換えはできる)。今のところ、並び順にあまり意味は無いが、シーンの保存名やリストエクスポート時に先頭の名前が使われる。ちなみに、オブジェクトと同じフォルダまたは「thumbnail」フォルダを作って、.glb と同じファイル名で .jpg or .png をサムネイルとして入れておけば、リスト上で表示される。大きさは 64x64px / 128x128px / 256x256px 等(2のn乗数)が最もメモリ効率が良く、高速だ(多くの 3D システムは同じ=OpenGL等の仕様)。



3. 人によってはロードしたオブジェクトが反対方向を向いてるかも知れない。アプリでは最後に編集した方向が引き継がれるので、自分の好きな方向に回転しよう。「オブジェクトの配置」アイコンから手入力できる。180 (度) を入れると、聖堂が背後になるだろう。ここではオブジェクトを2つ使ってるので(ChurchAgora_A, _B)、両方回転しておくと良い。なお、パネルの下にある移動アイコンでリストの順にオブジェクト切り替えができる。PC版なら、ショートカットの [Ctrl]+[Tab], [Ctrl]+[Shift]+[Tab] で移動するのも良いだろう。



 また v3.4 からはギズモが導入されているので、自由な位置に移動するのも良い。キャラクターを動かしても良いが、カメラを使う場合は位置が合わなくなるので、オブジェクトを上手く移動して、キャラクターは原点のままにしておけば、カメラやモーションも使い易い。今回の例のように、複数オブジェクトがセットになってるものは、複数配置パネルからギズモを開くと同時に移動できる。





■360度, スカイドーム(全天球)画像読み込んでみる

 ここでは ++skies; さんのスカイドーム(360度画像, 全天球画像とも言う)を使わせて貰おう。Web ページの [ダウンロード] から利用規約ガイドライン等も目を通して欲しいが、比較的自由に使える素材だ。

 解像度も 8K~32K までとあり、フォーマット等も色々あるが、アプリで利用する分には PNG8 (.png で 8K) で十分だろう。もちろん PNG16K でも構わないが、メモリ使用量に注意して使って欲しい(=アプリが落ちたり、一部テクスチャロード失敗したりする場合は、メモリが足りない)。実際には 8K でもかなり大きいので、メモリに余裕が無ければ(or それほど空が重要でない背景であれば)、画像編集ソフトで 4K に落としても良いだろう(リサイズ,トリミング,色調補正,合成等は、規約上問題無い)。

 今回の例では「024 (青空)」と「033 (夕焼け)」を使わせて貰っている。好みで他のものを使っても良い。


※各素材の著作権は著作者に帰属します。各素材についての利用方法などは、各著作者が提示されてる利用規約などをご確認下さい。


1. ダウンロードした zip を解凍したら、.png ファイルをアプリにドロップしよう(または […] アイコンから [背景画像] から読み込んでも良い)。ロード完了したら、すぐに空に適用されると思うが、場合によっては [2D] モードになってるかも知れない(これも最後に使ったモードになる)。そのときは画像の設定パネルを開いて、[360] モードにして欲しい。



2. また、バーチャルなので完璧でなくても良いとは思うのだが、360度画像の太陽の位置と影の方向を合わせると、より臨場感が出る。これも自分好みで良いが、360度画像自体を回転、またはライトで光の方向を回転をして合わせると良いだろう。

●ライトを 0度に回転したとき

●360度画像を180度, ライトを 180度に回転したとき




■ライトで雰囲気を変えてみる

 ライトの回転を覚えたのなら、せっかくなので色も編集して、全体の雰囲気を変えてみよう。デフォルトでは光源色は真白になっているが、ここでは練習で夕焼けっぽくしてみる。上手くやればライトだけで夜の雰囲気にすることも可能だ。

 注意点としては、オブジェクトに使われているマテリアルが光の影響を受けない「Unlitシェーダ」を使っていないことが前提になる。もし Unlit が使われていたなら、こちらの記事で修正すれば使えるかもだが、今回のサンプルでは幸いそのまま使える。それではやってみよう。

(修正が必要な場合) GLTF モデルに影が付くように修正して、アプリで利用する


1. ライトの設定を開いて、メインライトの色をオレンジっぽくしてみよう。色は任意で良いが、少し夕方らしく影を長くしたいので、縦回転も 0 に近づけよう。0 になると光が真横から来るようになるが、少し暗めにもなるので、ここで光の強さも調整しても良い。メインライトはおおよそ太陽光のように考えて良い。



2. 次に [拡散光] のタブを押して欲しい。ここで明るさを 0 に近づけると、全体的に暗くなっていくのがわかる。また色とも連動していて、実際には [拡散光の明るさ] =「色の輝度」になっている。拡散光とは環境全体の明るさや色に相等し、メインライトとは異なり影はできない。完全に暗くするときには明るさを 0 にする必要があり、また屋内のように壁で囲まれメインライトでは影で暗くなってしまうような場合には、拡散光の調整で明るくすることもできる。ここでは先程のメインライトを少し強めにしたのと、拡散光の明るさを落としたのとで、光の当たってる所と影になってる部分で明暗が出てきたと思う。かなり雰囲気が出てきただろう。



3. もう1つ、キャラクターライトも使ってみよう。[キャラクター] タブを押し、使用をオンにすることで利用できる。これはキャラクターのみに当たる非現実的な光で、例えば真っ暗な背景でもキャラクターだけよく見えるような、バーチャルならではの都合の良い光だ(笑)。ただし床などに影は落ちないので注意(影を落としてるのはメインライト)。通常はメインライトと2重に当たると光が強くなり過ぎるので、少し弱くすることが多いだろう。ここでは少し黄色めの色にして、照り返しのようにしてる(任意で良い)。



4. 空とは色が合わなくなったので、最初にダウンロードした夕焼けの方の360度画像をアプリにドロップし、前述と同じように回転しよう。これで十分夕方の雰囲気が出たのではないだろうか。

●夕焼けの360度画像をロードして、背後から見た感じ

●正面から見た感じ。すっかり夕方になった…




■ポストエフェクトで少しリアルな感じにしてみる

 ライトだけでも十分雰囲気出せることがわかったと思うが、v3.1 以降からはポストエフェクトが導入されているので、もう少しリアルな映像にしてみよう。

 ちなみにポストエフェクトというのはレンダリング(=ここでは3D画面を計算して描画すること)完了した画像(映像)に、PhotoShop等画像編集ソフトで言うフィルタをかける機能だ。なので負荷が高く、GPUを積んでないハードウェアでは利用は難しい。またエフェクトによってハード要件(シェーダモデル、コンピュートシェーダサポート等)があるので、対応してないハードには効果が無いので注意(対応してない場合、エラーは出ず、単にスルーされる)。ハード要件の詳細はこちらの各エフェクトの「※要」の部分を見て欲しい。

 ここでは簡単にその効果を知ってもらうため、「ブルーム」と「環境遮蔽(アンビエントオクルージョン)」だけ紹介しておこう。基本的には各エフェクトとそのパラメータをオンにしてスライダーで調整するだけなので、他のエフェクトはマニュアルを見ながら自分で試して欲しい。


1. まずはポストエフェクト設定を開こう。[CRS FX]以外のステージでは使用がオフになっている。使用をオン(①)にすると種類が選べるようになるので、ドロップダウンから「環境遮蔽 (Ambient Occulusion)」(アンビエントオクルージョン. AO とも略される)を選択しよう(②)。各エフェクトごとにもオン(③)にする必要があり、各パラメータごとにも使用するものはオンにする必要がある(④,⑤)。これはポストエフェクトは負荷の高い処理であり、不要なものは少しでも外して軽くするためだ。

環境遮蔽 (Ambient Occlusion) ※要:コンピュートシェーダー, シェーダーモデル 4.5 (Required: Compute shader support, Shader Model 4.5)

 環境遮蔽(アンビエントオクルージョン)とは簡単に説明すると「物体同士の隅になる所などの影を強調する」ようなエフェクトで、建物の窓枠や階段などの陰影も濃くなるので、リアル感が増す。

 パラメータの値は自分好みで構わないが、ここではスクショと同じようにしてみると良い。色もデフォルトでは黒だが、少し茶色(オレンジ色の輝度を下げたもの)っぽくして、背景の光源色に合わせて馴染ませている。暗い背景なら紫、アーティスティックな感じならピンクや赤にしてる人もいるね。屋内(部屋)みたいな所で使ってもかなり雰囲気が変わる

 また、一緒にキャラクターにもかかるので、少しシェーディングされたようで、フィギュアっぽくなったんじゃないだろうか。この効果を好んで使う人も多い。少し顔色が悪く感じるので、ダーク系のキャラの方が合う気もするけどね(笑)。



2. もう1つ効果の分かり易いものとして「ブルーム」を追加してみよう。このエフェクトは「輝度の高い色を強調する」ので光り物や逆光、ネオンなどの発光にも重要なエフェクトだ。たぶん一番お世話になるものだろう。種類で「ブルーム(Bloom)」を選択したら、エフェクトをオンにし、適当にパラメータを設定して欲しい。とりあえずならスクショと同じにすれば良いだろう。

ブルーム (Bloom) ※要:シェーダーモデル 3 (Required: Shader Model 3)



 ここまでできたら、ライトのみの画像と比較してみるのも良い。アプリ上で比較するには、ポストエフェクト自体の使用をオフにするのが簡単だ。

 今回はどちらかというと最低限の機能くらいしか使用してないので、慣れてきたら色々なエフェクト/パラメータをいじってみると良い。ここでは使わなかったが、「色調補正」も全体的な色を変更できるので、かなり有用だろう。キャラクターのみにフォーカスを当て、背景はぼかす「被写界深度」も好んで使われるようだ。ポストエフェクトは元々映像作品(映画)を作るためにも用いられる技術なので、凝れば凝るほど凄い映像にもなる。色々試してみると良い。

ライトのチュートリアルの最後の画像と見比べるとリアル感が全然違うことがわかる




■フォグで空間を演出してみる

 最後に全体的にフワッとするようにフォグ(霧)を入れてみよう。ただここで使う「オーバーレイフォグ」は霧というより、物体にグラデーションをかけるようなエフェクトだ(Unity のデフォルトフォグ。便宜上オーバーレイと名付けた)。欠点としてプリセットの空(Skybox)にはかからないので、むしろ今回の例のように全天球(360度画像)を使ってる方が都合が良い(全天球はアプリで予め用意されている球状のオブジェクトであり、フォグもかかる)。

 フォグもポストエフェクトと同じように、フォグ全体のオン/オフ、個々のエフェクト(v3.4時点では1つしかないが)の選択とオン/オフをする必要がある。フォグをオンにしてオーバーレイフォグを選択したら(デフォ)、スクショのようにしてみると良い。モードはマニュアルを見て欲しいが、ここでは自由度の高い [直線的] にしておこう。[開始距離] は正の値だと離れた位置から開始、負の値だと背後から包まれる用に霧(グラデーション)が発生する。値はスライダーで任意で良い。

 カラーピッカーで色を調整するときには、S (彩度), V (輝度) の文字をクリックし(太字になる)、[↑][↓]キーで微調整することもできる。濃すぎる場合は V をクリックし、[↓]キーを何度か押せば、だんだん霧が晴れてくる。



 これで一応完成だ。ちょっと深めにフォグをかけたが、カメラを回して全体を確かめて欲しい。影や空にも色が付いたので空間を感じるようになったんじゃないだろうか。更にポストエフェクトの「被写界深度」を入れるともっと良いが、ぼかし方には個性が出るので、自分で好きに試して欲しい。

●フォグを入れると空と建物が1つの空間に繋がってる感じになる

●影の部分にも色が付いてるからか、少し幻想的になる




 他にはパーティクルを少量入れるのも良いね(枯れ葉とか)。カメラモーションを使いながら被写界深度を使いたいときは [自動フォーカス] を使う、などまだ色々知って欲しいポイントはあるが、モーメントに Tips として残してあるので、参考にしてみて欲しい。まぁ、機能はどんどん更新されるので、できればTwitter上でリアルタイムで観て欲しいけどね(新機能やコツなど不定期でツイートしてる)。また過去にやったデモの設定データは「設定集」として配布してるので、それを試すのも良い。

 少なくともマニュアルもチュートリアルも設定集も素材も必要な知識も押えるべきポイントも全ての機能も何もかも与えてあるので、学習しようと思えば誰でもできる状態になってるハズだ。しかも使ってる素材はなるべく汎用的で入手可能なものばかりだ。実は条件は世界中の人とあまり変わらず特別なことはしてない(v3.4のデモは過去データ[=設定集]を流用&調整して、30分くらいで作ったものだ)。ここまで読んで理解できたのなら、もう十分な基礎はできてると思う。後は応用・拡張していくだけなので、このチュートリアルでも設定集でも好きに使っていじくり倒せば良い。まずは色を変えるでも光の強さを変えるだけでも十分だ。そのうちどこをいじれば良いかわかってくる。そこまで行ったら守破離だ。さぁ、私の屍を乗り越えてゆけ(笑)!

●最後の状態にアンチエイリアスと被写界深度をほんの少しかけて撮影

ここまでできたら免許皆伝!おめでとう!
さぁ、これからはあなたの時代だ(笑)!


※クリックで大きい画像があるので、持っていくがよい [透過png]
(※ブログでもつべでも自由に使って良いよ)

↓↓喜びのシェア(笑)↓↓




(※以降 2022/08/03 以降追記)

■練習問題

●これまで使ったパラメータだけで、再調整して夕方から夜にしてみよう。
(ヒント:主に色と光の強さを調整。キャラクターはマテリアル設定で差異が出るので気にしなくて良い)

 なお、画像では v3.4以降 の「影だけ床」を使い、[Y位置] を 0.04 にし(影の色を濃くするため)、パーティクルは設定集(パーティクル集)の「particle_キラキラ_2色(青と紫)_[2effect(s)]_in_CRS_FX.json」を調整したものを使っている。これらは任意で良い。

※360度画像(天の川の夜空)は VoxelKei様の「日本列島360(JPN360_9.jpg)」をお借りしてます。

※同じでなくても雰囲気を夜にできれば合格です。


※この設定(回答例)は「背景効果設定集」(20220731_背景カスタマイズチュートリアル(夜))に入ってます。


●夕方 or 夜 の設定を元に、他の背景モデルを使って、実際に楽曲に当てはめてみよう

 やってみた「夕方」または「夜」の設定を元に、他の背景モデルに入れ替えて、実際に何からの楽曲で踊らせてみよう。内容は問わない。

 なお、動画ではポストエフェクトに色調補正を加え [トーンマッピング] に [ACES] を使っている。パーティクルは設定集(パーティクル集)の「particle_キラキラ_2色(青と紫)_[2effect(s)]_in_CRS_FX.json」を少しフワフワと浮遊感があるように再調整している。また、v3.4以降の「影だけ床」を使い、[Y位置] を 0 にして(影の色を濃くするため)、玉座の間は [Y位置] を -0.01 にしている(Zファイティングを避けるため)。

※背景モデルはプリメロ工房様の「玉座の間」をお借りしてます。

※なんかいい感じになれば合格です。



※この動画の設定は「背景効果設定集」(20220804_Conqueror_チュートリアル夜応用(光と闇の玉座の間))に入ってます。







(関連記事)
【VRMLiveViewer】PVキットを使ってハイクオリティなPV/MV体験をする (チュートリアル)
【VRMLiveViewer】GLTF モデルに影が付くように修正して、アプリで利用する
【VRMLiveViewer】背景GLTFの設定リスト(使用例)
【VRMLiveViewer】魔法陣の床を作る
【VRMLiveViewer】GLBで壁を作る(WallMake_Sample の解説)
【VRMLiveViewer】GLBで背景モデルを自作する
【VRMLiveViewer】VRM(VRoid)をライブステージで踊らせるアプリを作ってみた


関連記事

category: VRMLiveViewer

thread: ソフトウェア開発

janre: コンピュータ

tag: VRMLiveViewer  チュートリアル 
tb: 0   cm: --


プロフィール

Social

検索フォーム

全記事一覧

カテゴリ

ユーザータグ

最新記事

リンク

PR

▲ Pagetop