VRMで遊ぶ【VRM-PNG】
(2024/1/14 更新)
VRoid Studioで作成した3Dモデルを使用して、透過PNG画像を出力するアプリケーションをUnityで作ってみた。
【出来ること】
・VRMビューワー
・透過PNG画像出力
・ポーズ調整(セーブ・ロード可)
・ボディテクスチャ(衣装等)の変更 ※
・表情変更
・デスクトップマスコット機能
・その他
【注意】
※基本的にVRoidモデル専用。他のVRMモデルも読み込み可能だが、機能は制限される。
※3Dデータは読込のみで、3Dデータのパラメータの書き換えはしません。
ダウンロードはこちら↓【Windows用】
VRM-PNG(Ver5.5)
Ver3.7改 以降の補足説明はダウンロードページあります。
VRM-PNGの簡素版はこちら
VRM-PNG2
当ソフトの使用は自己責任でお願いします。環境によっては動かない場合もあるかもしれません。
3Dモデルは付属していませんので、別途ご用意ください。
VRM形式の3Dモデル作成は,VRoid Studioを使用しています。
(外部リンク)VRoid Studio
アプリケーションの作成は、Unityエディターを使用しています。
(外部リンク)Unity
© Unity Technologies Japan/UCL
使い方
まずは、VRM形式ファイルを用意します。
無ければVRoid Studioでモデルを作り、VRM形式でエクスポートしておきます。
エクスポート前に ”髪の毛メッシュを結合する” をチェック。
次にVRM-PNGを起動させます。(VRM-PNG.exeをクリック)
・poseフォルダは、ポーズデータの保存フォルダ。
・ScreenShotフォルダは、GIFアニメーション・コマ送り画像の保存フォルダ。
・おまけフォルダは、おまけ素材フォルダ。
起動時の画面(Ver4.6)
VRM読み込み後は、他のタブも開けるようになる。
タブはドラッグ移動・最小化も可能。
タブが表示範囲外に隠れた場合、モデル情報ボタン横のRボタンを押し、再度目的のタブを押すと復帰する。
© Unity Technologies Japan/UCL
【画像出力 操作手順】
① VRMファイル開く。
② ポージング等を適当に決める。
③ 画像サイズ指定。
④ 撮影。
【デスクトップマスコット 表示手順】
① VRMファイルを開く。
② ポージング等を適当に決める。
③ F9を押す。 (ウィンドウ透明化・最大化)
④ 解除は、キャラをクリック(アクティブに)し、F9を押す。
⑤ ウィンドウにキャラがいない場合は、Eキーを押か又は、画面最大化を行う。
スタート
【カメラ操作 マウス】
移動1 ---- マウスホイールボタン
移動2 ---- マウスボタン(左)+キーボード(Ctrl)
回転 ---- マウスボタン(右)
ズーム ---- マウスホイール
スタートタブ(VRoidを複数体読み込ますと緑ボタンが表示される)
VRMを開く(ボタン) --- VRMファイルを読み込みます。
撮影(ボタン)--- スクリーンショットを透過PNGで保存。
撮影(スライダー)--- 画像サイズを選択。
不透過撮影 --- PNGフォーマットの切替(ARGB32/RGB24)、チェックでRGB24。
VポーズLoad --- VRoid用のポーズデータの読み込み。(VRoidの関節角度)
VポーズSave --- VRoid用のポーズデータとして保存。(VRoidの関節角度)
ポーズLoad --- IK用ポーズデータの読み込み。(各IK位置と他のパラメータ)
ポーズSave --- IK用ポーズをデータとして保存。(各IK位置と他のパラメータ)
ウィンドウ透明化 --- 他アプリとの画像色比較などに使用。(マウス操作 透過に注意)
1:1(アスペクト比) --- アスペクト比(1:1)にしたい場合に使用。
2:1(アスペクト比) --- アスペクト比(2:1)にしたい場合に使用。
空・地面・影 --- 背景の切替。
空(横スライダ)--- 海・草原時の位置調整。
地(上下ボタン)---地面の高さ調整。キーボード左Ctrlを押しながらで高速移動。
補 --- 地面とVRoidモデルの高さ補正。
モデル(チェック) --- モデルの表示・非表示。
1・2(ボタン) --- マスタモデルのポーズを2体目と3体目にコピーする。
視野角 --- カメラの視野角。
拡大・縮小 --- カメラズーム(マウス操作と同じ)
回転 --- カメラ回転(マウス操作と同じ)
移動 --- カメラ移動(マウス操作と同じ)
カメラリセット --- カメラを初期位置に戻す(Eキーと同じ)
目線 --- 目線の選択(カメラ・白球・ランダム・遠い目)
手首 --- 手首の角度調整(手首付近にある白球をドラッグして調整)
足首 --- 足首の角度調整(足首付近にある白球をドラッグして調整)
色(リセット) --- 色・光タブのスライダー群を初期位置に戻し、シェーダーをリセット。
光(リセット) --- 光源位置を初期位置に戻す。
重(リセット) --- 重力スライダーを初期位置に戻す。
LookAt --- 水色球にヘッド・ボディを追従させる機能。
姿勢 --- モデルの中心位置(root)回転。
IKボタン --- ポーズのリセット。
IKスライダー --- IK調整用の球の大きさを変えます。
手 --- おっぱいカーソルとハンドカーソルだけ表示を残す。
重力 --- 重力調整(髪や衣装が影響を受けます)
風 --- 風調整(重力を0以外の数値にする)
視 --- 視点選択。
天球補正 --- 天球(おまけVRM)の位置オフセットボタン
OP左(チェック) --- 恥じらい表情機能
OP右(チェック) --- IK調整用の球も撮影します。
タ-ンテーブル --- 鑑賞用です。ターンテーブル調整で速さが変わります。タ-ンテ-ブル1は回転で、タ-ンテ-ブル2は一定角度で往復です。切で回転は止まります。
【IKによるポージング】
※IK(インバースキネマティクス)
操作は画面上のカラーボールをマウスのドラッグ操作で動かし、ポーズを決めます。
赤 --- 手首
黄 --- 肘
青 --- 膝
緑 --- 足首
水色 --- LookAt
うす緑 --- HEAD(LookAtの子)
うす緑 --- BODY(LookAtの子)
白 --- 目線
橙(補助光源用)---IK用ではありません
桃色(おっぱい用)---IK用ではありません
LookAtは移動。 HEAD・BODYは回転(Rボタンで回転リセット)
手首・足首の回転は、スタートタブの手首・足首スライダを下にし、灰色球をドラッグさせると回転する(若干コツがいる・・)
VRoidモデルで更に微調整する場合は、上半身・下半身・指モードで行います。このモードからIKモードに切り替えるとポーズがズレるので注意が必要です。IKモードに切り替える前に、Vポーズデータでのセーブをおすすめします。
【視野角】
視野角変更スライダー(初期値:35)は、カメラズームではないので注意。
基本的にカメラズームを行う場合は、拡大・縮小を使います。
【恥じらい表情機能】
赤面オプション(恥じらい表現)は、以下の部分(OP左)をチェックすると有効になります。
以下のカラーボールをクリックすると表情が変わります。
【撮影画像の表示がなんかおかしい場合】
不透過撮影にチェックを入れます。(透過されないので注意)
形態
形態タブ
上部スライダー ---モデルの選択(左:マスター 中・右:追加モデル)
表情 --- プルダウンより表情を選ぶ(一番下にオールリセットあり)
指 --- プルダウンより指形態を選択後、スライダーで左・右・両方をどれかを選択。
MatCap --- MatCapファイルの読み込み。※
個別 --- MatCapの適用方法(指定された箇所だけか、全部か)※
Save --- テクスチャの書き出し。※
Load --- テクスチャの読み込み。※
確認 --- プルダウンで指定されたテクスチャの確認(赤点灯する)※
顔・体(プルダウン)--- モデルのテクスチャリストが表示される。※
体(スライダー) --- テクスチャの透明度が変更出来る。※
輪郭線 --- 輪郭線の太さを調整。※
黒 --- 輪郭線を黒にする。もう一度押すと元に戻る ※
衣装消 --- 服・靴・アクセサリを一括で透明化する ※
衣装戻 --- 透明化した服・靴・アクセサリを一括戻し ※
顔_肌 --- Face(顔・耳)テクスチャを読込、一括変更 ※
体_肌 --- Body(体・足首・手首・ヘアーバック)テクスチャを読込、一括変更 ※
おっぱい --- バストの衝突判定を有効にします。※
指補正 --- 初期状態の衝突判定は手首なので、衝突判定を指近くまでオフセットする。※
左右 --- カーソルをバストに移動させる。※
おっぱい(スライダ)--- 衝突判定の大きさを調整。※
※基本的にVRoid以外のモデルでは機能しない。
【おっぱいカーソルの使い方】
①VRoidモデルをロード
②形態タブを開く
③おっぱいボタンを押すことで、バストに当たり判定を追加します(VRoidモデル専用機能)
④ピンク色のカーソルをバスト付近でドラッグ・・です。
セリフ
セリフタブ
・3Dテキストの移動はドラッグで行います。横書きの場合は、一番上の列の1番左の文字で、縦書きの場合は、一番最後の列の一番上の文字をドラッグします。
・セリフタブもドラッグ移動出来ます。
・3Dテキストを非表示にする場合は、左のVチェックを外す。
・セリフ入力は、直接入力 又はクリップボード(クリ)から出来ます。
・直接入力の場合、リターンを押すと一旦画面に表示せれ改行もされる。
スライダー --- 文字の大きさを変えます。
ロック(チェック) --- ドラッグ移動と(消)の無効/有効。
クリ --- クリップボードの文字列を取り込みます。
正 --- テキストをカメラ対してまっすぐに表示させる。
太 --- 文字の太さ。
白 --- 文字を白色にする。
黒 --- 文字を黒色にする。
消 --- セリフを消去します。
色・光
色・光タブ(黄色の枠線はSAVEできる箇所)
SAVE・LOAD --- 色・光タブのパラメータを保存・読み込み
適用 --- モデルの再読み込みや追加した場合に現状の設定を反映させる。
背 --- 背景色の変更(直下のRGBスライダで調整)
透 --- 背景色をデフォルトの透過色に戻す。
光源の輝度 --- 光源の輝度・色を調整。
光 --- 光源位置回転調整
PL --- 補助光源(橙色のカーソルを移動させ使用)
PL(スライダー)--- 補助光源の輝度調整
髪のツヤ --- 髪のツヤを調整。※
髪の明度 --- 髪の明度を調整。※
TOON --- 陰影の境目を調整。※
主色と影色 --- 主色と影色の比率調整。※
主色と影色(サブスライダ) --- 全体・髪・顔・体を個別調整(メッセージあり)
瞳の主色 --- 瞳の色を簡易的に調整。※
影色 --- 影色の色を調整。※
影色を髪に適用 --- 影色を髪にも適用させる(元の色には戻せないので注意)※
影-髪R --- リセット(リセットできない場合もあるので注意)※
赤面 --- テレ顔用。※
赤面R --- 赤面リセット。※
Bloom --- エフェクト(透過しないのでスクリーンショット出力時注意)
Noise --- エフェクト(透過しないのでスクリーンショット出力時注意)
Vignett --- エフェクト(透過しないのでスクリーンショット出力時注意)
Depth of Field --- エフェクト(透過しないのでスクリーンショット出力時注意)
Edge(チェック) --- エッジ表示です。画像出力時は、線が透過されます。
彩度(チェック) --- 彩度調整です。
SunShafts(チェック)---エフェクト(透過しないのでスクリーンショット出力時注意)
※基本的にVRoid以外のモデルでは機能しない。
【ディザリングシェーダー項目】
トーンV --- 顔の一部以外は、ディザリングシェーダーに変更(VRoid用)
A --- Face・Eyeのワードのマテリアル以外は、ディザリングシェーダーに変更(汎用)
B ---- 全てのマテリアルをディザリングシェーダーに変更(汎用)
☑(チェック) --- 外形線を付加。
光 --- ディザリングシェーダー用光源位置。
スライダー --- ディザリング調整(10段階)
・ディザリングシェーダーを一度適用すると元のシェーダーに戻せないので注意。戻す時は再度VRMを読み込ませる必要がある。
・ディザリングシェーダーに適用すると一部機能が使えなくなります。
【補助光源について】
光源はドラッグすることで移動可能です。
使用する際はメインの光源輝度を最小にし、メイン光源の縦軸も調整し背景を暗くし使用します。
補助光源を使った例①
補助光源を使った例②
【エフェクト】
エフェクト無し
Bloom(フワっとした明るさ)
Vignett(角の四隅が暗くなる。ケラレ表現)
DOF(背景をぼかす)
Noise(ノイズ)
彩度(モノクロで暗くなる場合は、Bloomか光源の輝度で補正)
SunShafts(光の差し込み)
背景
背景タブ
2D背景(チェック)--- 表示・非表示の切替。
2D背景読込(ボタン) --- 画像の読込(PNG・JPG)
背景移動(奥前左右上下) --- 背景の移動。
背景回転(<>) --- 背景の回転。
P0 --- 位置を0にする。
R0 --- 回転を0にする。
遅早 --- 移動速度。
背景スケール --- 背景の大きさ。
AlphaCutoff --- 背景に透過PNG画像を使用した場合、エッジ調整が可能
カメラと同期(チェック) --- 背景をカメラに追従させます(若干ズレる場合あり)
ロック(チェック) --- 背景はマウスドラッグで移動出来ます。他の作業時に不用意に動かさない為の機能です
スライダ-(黄色部) --- IKの切り替え(VRoid用)
R(黄色部)--- 複数体のVRoidが同じポーズする場合、シンクロ動作を切ります。
チェック(赤色部) --- 設定不可(ReadOnly)
2D小物(チェック)--- 表示・非表示の切替。
2D小物読込(ボタン) --- 画像の読込(PNG・JPG)
3D小物(チェック)--- 表示・非表示の切替。
3D小物読込(ボタン) --- 3Dモデルの読込(VRM)
2D/3D操作切替(スライダー)--- 操作の切替(2D画像・3Dモデル①・3Dモデル②)
追従(右手・頭・無・体・左手) --- 最初に読み込んだモデル(マスタ)の指定の場所に小物を追従させます。揺らぎを与えた時や、手に小物を持たせたままポーズを決める際に使用。
背景移動(奥前左右上下) --- 背景の移動。
背景回転(<>) --- 背景の回転。
P0 --- 位置を0にする。
R0 --- 回転を0にする。
遅早 --- 移動速度。
小物スケール --- 小物の大きさ。
AlphaCutoff --- 小物に透過PNG画像を使用した場合、エッジ調整が可能。
Vポーズ読 --- 3Dモデルのポーズデータの読込
Vポーズ書 --- 3Dモデルのポーズデータの保存
2D正面 --- 画像(小物)をカメラ対してまっすぐに表示させる。
ロック(チェック) --- 2D小物はマウスドラッグで移動出来ます。他の作業時に不用意に動かさない為の機能です。
【シェーダ選択のついて(2D画像のみ有効)】
影 --- 影あり。
半透明 --- 半透明テクスチャ使用時に。
輝度固定 --- 環境光(光源)の影響を受けない。
CutOff --- 透過PNG画像を使用した場合、エッジ調整が可能。
ディザリング --- ディザリングシェーダー。
※2D小物はマウスでのドラッグ移動が出来ますが、テクスチャ裏面からのドラッグ移動は出来ません。
【小物位置調整】
各小物の位置調整は、以下のスライダー切替て操作します。
スライダー左 : 2D画像
スライダー中 : 3Dモデル①
スライダー右 : 3Dモデル②
【IKの切り替え VRoid専用】
複数体vroidを読み込ませている場合、IK用カラーボールを切り替えて各vroidのポーズ調整が可能。
【注意】
モデル前面に2D画像がある場合、ポージング用のカラーボールが動かなくなります。
透過PNGだと透過していてわかりませんが、実際こんな感じでカラーボールが隠れてドラッグできません。
カメラのアングルを変えるか、2D画像を一旦非表示すれば対処できます。
揺らぎ
揺らぎタブ
【注意】このタブの機能群は、試作機能なので若干動作が不安定です。
R(ボタン) --- 揺らぎ項目リセット
パーリンノイズ(オン) --- モデルに回転動作(パーリンノイズ)を与えます。
パーリンノイズ(オフ) --- モデルに回転動作(ストローク)を与えます。
0・1・2 --- モデル選択。
手の振り --- 手のストローク動作。
同期 --- 左右同じストローク量にします。
反転 --- 左右反転。
手首 --- 手首有効。
足首 --- 足首有効。
LookAt --- LookAtと同期させる。
0・1・2 --- モデル選択。
左右・上下・前後 --- モデルの中心からのストローク動作。
小物原点設定 --- 複数体のVRoidを同じポーズにさせる場合、シンクロ動作をオンにする。
初期位置 --- モデル1・2を初期位置に戻す。(モデル0の両脇)
xyz0 --- すべてのモデルを原点位置に戻す。(全てのモデルが重なる)
まばたき --- まばたき動作を有効にします。
口パク --- 口パク動作を有効にします(切・ノーマル・クリック・頷きと同期)
頷 --- LookAt(ヘッド)に追従させる。口パクが有効でないと機能しません。
マイク口パク ---マイクから音声入力で口パクさせます(OSのマイク設定が必要場合あり)※
マイク感度 --- 小←→大
モニター音量 --- 小←→大 (マイク入力音のモニター音量)
FFT --- 指定された周波数帯域で口パクさせます。(調整範囲は、50~1550HZ)
上スライダは、下限周波数の指定
下スライダは、上限周波数の指定
FFTを無効にする場合は、FFTの下スライダーを左いっぱいにします。
雨・蛍 --- パーティクルシステムによる演出
花火(スライダー) --- 連発←→単発 (スライダーを動かすことによって始まる)※1
反転 --- モデルの正面側で花火を打ち上げる(カメラを180度回転させ確認)
R(ボタン) --- 大雨・蛍・花火のリセット
滴右・左 --- 人の生理現象用?12パターン(ボタンを押していくと次パターンに変わる)
※1※2
滴R --- 滴左右リセット
起点表示 --- スモーク色のボールが表示され、滴の起点がドラッグ移動できます。
滴追従 --- 滴の起点をVRoid(ヒップ・バスト左右・ハンド左右・ヘッド)のどれかに追従。追従箇所は画面下に表示される。
コマ送り --- 揺らぎやストローク動作を与えた状態で、数フレーム動かして止める。
撮影 --- ScreenShotフォルダに直接SAVE。
コマ送り解除 --- コマ送り後は必ずこのコマ送り解除を押すこと。(フリーズと間違える為)
細_荒 --- フレーム間の時間。
※口パク機能はマイクが必要です。
※口パク機能は動作が遅延する場合があり、その時は一旦口パク機能を無効にし再び有効にします。
※1 花火・滴のパーティクルは、発生起点をドラッグすれば望む場所へ移動できる(若干コツはいるが・・)
※2 滴のパーティクルの発生起点位置は、ポーズデータにセーブされます。
【GIF作成ボタン】
GIF作成ボタンが画面左上にあります。
GIF出力サイズは固定で、640×640ピクセル(2秒 16フレーム)です。
ボタンは現状消せないですが、透過png画像出力時は写りこみません。
GIFアニメーション出力例
マイク(2D小物)を持たせ、揺らぎを与えてみる。
【ポージング】キーボードの基本操作
【注意】
キーボードによるポーズ調整は、現状(ver4.6)ではうまく機能しません。
このモードは、IKと併用はできません。
このモードからIKモードに戻すとIKが優先され、ポーズがリセットされますので、このモード中にポーズセーブ(旧)を行って下さい。。
■■キーボード■■
赤枠 --- モード選択
緑枠 --- 部位選択 (ノートPCはNumlockが必要)
青枠 --- 軸操作
【基本操作】
モードを選択し、部位選択キー(テンキー)を押したまま、軸操作を行う。
【軸操作】
A --- x軸+
Z --- x軸-
S --- Y軸+
X --- Y軸-
D --- Z軸+
C --- ℤ軸-
R --- 指定部位の軸リセット
【ポージング】 上半身モード
■■キーボード■■
F1 又は テンキー(/) --- 上半身モード
【部位】
1 --- 右手首
3 --- 左手首
4 --- 右ひじ
5 --- 腰 + 背中
6 --- 左ひじ
7 --- 右肩
8 --- 首 + 頭
9 --- 左肩
【軸操作】※部位キーをしたまま
部位 + A --- X軸+
部位 + Z --- X軸-
部位 + S --- Y軸+
部位 + X --- Y軸-
部位 + D --- Z軸+
部位 + C --- ℤ軸-
部位 + R --- 指定部位の軸リセット
【ポージング】 下半身モード
■■キーボード■■
F2 又は テンキー(*) --- 下半身モード
【部位】
1 --- 右足首
3 --- 左足首
4 --- 右ひざ
6 --- 左ひざ
7 --- 右股関節
8 --- 尻(モデル全体の回転)
9 --- 左股関節
【軸操作】※部位キーをしたまま
部位 + A --- X軸+
部位 + Z --- X軸-
部位 + S --- Y軸+
部位 + X --- Y軸-
部位 + D --- Z軸+
部位 + C --- ℤ軸-
部位 + R --- 指定部位の軸リセット
【ポージング】 指モード
■■キーボード■■
F3 又は テンキー(-) --- 左右指モード
F4 --- 左指モード
F5 --- 右指モード
【部位】
0 --- 親指
1 --- 人差し指
2 --- 中指
3 --- 薬指
4 --- 小指
【軸操作】※部位キーをしたまま
部位 + A --- X軸+
部位 + Z --- X 軸-
部位 + S --- Y軸+
部位 + X --- Y軸-
部位 + D --- Z軸+
部位 + C --- ℤ軸-
・軸のリセットは 部位キーを押しなおすとリセットされます。
・必要ない回転軸は無効(動かないよう)にしています。
キー操作一覧
F1 --- 上半身モード
F2 --- 下半身モード
F3 --- 左右指モード
F4 --- 左指モード
F5 --- 右指モード
F9 --- ウィンドウ・フレーム透明化※
F10 --- GUI表示・非表示
マウス(左ボタン)を押しながら、(右ボタン)をクリック --- GUI表示・非表示
キーボード(←・→) --- カメラ水平移動※
キーボード(↑・↓)--- カメラ垂直移動※
キーボード(Shift)+キーボード(↑・↓) --- カメラズーム※
キーボード(Shift)+キーボード(←・→) --- カメラ水平回転※
E --- カメラ位置リセット※
W --- IK用 赤球と緑球の位置リセット ※
Ctrl + ↓↑ --- 光源 Ⅹ軸回転 ※
Ctrl + ←→ --- 光源 Y軸回転 ※
Ctrl + E --- シェーダーリセット(光源位置含む)※
テンキー(/) --- 上半身モード(F1でも可)
テンキー(*) --- 下半身モード(F2でも可)
テンキー(-) --- 左右指モード(F3でも可)
テンキー0~9 --- 部位選択
部位 + A --- X軸+
部位 + Z --- X軸-
部位 + S --- Y軸+
部位 + X --- Y軸-
部位 + D --- Z軸+
部位 + C --- ℤ軸-
部位 + R --- 指定部位の軸リセット
※GUIから操作可能
注意事項・補足説明
・パラメーター及びポージング変更は、比較的新しいバージョンのVRoid StudioでエクスポートしたVRoidモデルのみ可能です。古いバージョンのVRoidモデルは読み込めない可能性があります。
・デスクトップマスコット機能でモデルを見失った場合、VRM-PNGのタスクボタンをダブルクリックし、キーボードのEキー(カメラリセット)を押します。
カメラ位置が初期化され再び表示されます。