BlenderからエクスポートしてVRMデータを作る

Blender

はじめに

  • Blenderで作成したモデルをVRM形式にします.
  • モデリングが完成している.「VRC用に作ったアバターをVRMにしたい」みたいなケースを想定しています.
  • ニコニ立体にアップロードしてバーチャルキャストで動かしてみようと思います.
  • 個人的な備忘録なので動作に保証はできません.
  • 詳しいことは公式ドキュメント(https://dwango.github.io/vrm/)参照おねがいします.
  • モデルデータの配布はありません

VRMとは何か

以前の記事で少し触れたこともありますが,改めてVRMというデータ形式について理解しようと思います.
こちらのページが参考になります.
https://dwango.github.io/vrm/vrm_about/

自分の認識した感じでまとめると
・VRで利用するキャラクター・アバター用の3Dデータ形式.アバターに特化しているため,汎用的な用途で使うものではない.
・さまざまなアプリケーションに互換性のある3D形式=glTF2.0をベースにしている(gltfのバイナリ形式.glbと互換性がある)
・規定やライセンスの情報を,3Dモデルデータの一部として扱うことができる.
・モデルデータの人格を演じること許可する/しないを規定できる.
・VRMは多くのVRアプリケーションでの互換性を目指しているようで,シェーダーや揺れモノの処理などはある程度統一することを推奨しているみたいです.

なるほど,VRアプリケーションではモデルデータをユーザーが相互にアップロードして使うことがほとんどのため,既存のライセンスでは対応できない可能性が出てきた訳ですね.

 

配信向けのアプリケーションが多い印象ですが,結構対応してるアプリケーションもあるみたいです.
ニコニ立体/バーチャルキャスト/cluster/Hitogata/3tene/SEIYA/VDRAW/Wakaru/VPocket/VRoid/バーチャルモーションキャプチャー/VRMビュアー/BONFIRE~焚き火~/VRM Viewer/VRMQuickLook/つんつんVR

 

参考ページ

https://dwango.github.io/vrm/

 

環境(2018年8月15日現在)

Blender 2.79
Unity 5.6.3p1
バーチャルキャスト ver1.3.0d
Windows10
HTC vive

 

Blenderでのモデルの作成

様々なアプリケーションで互換性を目指すためか,モデルのボーンやモーフ(シェイプ?)の構造に決まりがあります.
下記のページを参照します.
https://dwango.github.io/vrm/vrm_spec/

リギング

ボーン構造はHumanoid.
厳密には命名規約はあるみたいですが,表記ブレがあっても構造がそれっぽければUnityがよしなにやってくれるっぽいです(仕組みはよくわかりませんが…)
あと,Tポーズが推奨されてるみたいです.後々出てくるエクスポート処理でTポーズに自動で変換してくれるみたいですが,モデリングの時点でTポーズで作っておくと不具合が起きにくいでしょうかね.
当サイトで配布している素体がHumanoidなので,よければ参考にしてください.

 

シェイプキー

シェイプキー/モーフ(表情やまばたきなど)はVRMが定めている標準モーフを設定しておく必要があります.
と言ってもすべての表情に対応しなくても,アプリケーション側の表示が変わらない程度だと思います.(無表情のアバターになるかも知れませんが…)
Blenderでは,表情はシェイプキーという機能で設定します.
Blenderで適当なシェイプキーを作成して,UnityでVRMを作成する作業の時に合成してアバターのモーフとして設定できたりもします.

待機状態の表情

Neutral
キャラクターによるとは思いますが口を閉じているようなモーフが良いと思われます.

リップシンク
A:「あ」の口

 

I:「い」の口

 

U:「う」の口

 

E:「え」の口

 

O:「お」の口

 

瞬き
Blink:両目を閉じる

 

Blink_L:(アバターから見て)左目を閉じる

 

Blink_R:(アバターから見て)右目を閉じる

 

Blink_L/Blink_Rは,編集モード時の「W」キーからの「任意のシェイプキーを選択部に合成」を利用して,Blinkを元に作成します.
これは,Mirrorモディファイア適用後の処理になります,

喜怒哀楽
Fun:楽しい

Angry:怒り

Sorrow:悲しい

Joy:喜び

どうでもいいけど,Fun(楽しむ)Joy(喜ぶ)の違いをどう表現すればいいかよく分かりません.

視線制御
視線制御はUnityでの作業になります.
Eyeボーンで瞳が動くようになっていればUnity側でなんとかなると思われます.

 

視線制御をモーフで行う場合,以下のモーフを用意するみたいです.
やったことないですが,モーフ名からなんとなく察してモーフを作れば良いのかな?
LookUp
LookDown
LookLeft
LookRight

 

以上の画像は参考程度にしてください.
表情と言ってもアバター,キャラクターごとに違うと思うので,どう設定するのが正しいかはそれぞれ違います.

 

マテリアル/テクスチャの設定

VRMが推奨(?)している「MToon」というシェーダーは,いわゆるセルルック/セルシェーディングと言われるような,アニメのような陰影の表示に適したシェーダーです.
MToonシェーダーを利用するには「光が当たっている部分の色のテクスチャ(Lit & Alpha)」と「陰になっている部分の色のテクスチャ(Shade)」が2枚必要になります.

Blenderで各マテリアル(パーツ)ごとに「光が当たっている部分の色のマテリアル(以下ベース色))」と「陰になっている部分の色のマテリアル(以下影色)」を用意してベイクすればよいと思われます.
私の場合ですが,Blenderで「ベース色のマテリアル」と「影色のマテリアル」(どちらも陰影なしの単色のマテリアル)を作成し,それぞれのマテリアルでベイクして2枚のテクスチャを作ります.
最後にマテリアルを1つだけにすることで,MToonシェーダーを適用(Unityでの作業)をし易い状態にします.

 

テクスチャの作成

テクスチャの作成方法なので,モデリング/シームが済んでいる前提で書きます.
モデリングにMirrorモディファイアなどが設定されている場合,「適用」を実行しておきます.(Armatureモディファイアはそのままでおkです)

シームはUV展開が正常に展開されるように設定しておきます.
Mirrorモディファイア適用前にシームを設定しておくと,シームもミラーされます.
Solidify(厚み付け)は適用=>シーム付けの方が良いと思われます.(適用前にシーム付けをすると多分意図した結果になりません…)
各モディファイアを適用した状態で,もう一度UV展開をして,正常に展開されるか確認します.

 

各パーツ(オブジェクト)ごとにマテリアルを設定しておきます.
マテリアル名はパーツ名と同じにすれば分かり易くてよいと思います.(skin,hairとか)
マテリアルは,とりあえずベース色で「陰影なし」を設定しておけば良い気がします.

オブジェクトを結合(Ctrl + j)すると,結合先のオブジェクトにマテリアルが追加されます.
面ごとのマテリアルの割り当ては維持されます.マテリアルはオブジェクトではなく”面”に設定されているものだと考えると分かり易いと思います.

私の場合,目は別オブジェクト.別マテリアルにします.それ以外の体,髪,服などは最終的に1つのオブジェクトに結合しています.
目のテクスチャはペイントソフトで描いているので,Blenderでベイクはしないからです.
あと,マテリアル/テクスチャを増やしすぎるとアバターの設定がめんどくさかったりします.描写処理も重くなるそうです.

「Ctrl + j]で目(Eye)以外のオブジェクを結合します.

このとき,Mirrorモディファイアなどを適用させる前のオブジェクを結合すると変な感じになります(たぶん見た目で気付くと思います).モディファイア適用を実行してから結合し直してください.

結合できたら,結合後もUV展開に破たんが無いか確認します.

 

まずベース色のテクスチャをベイクします.
「UV/画像エディター」を表示して,新規画像作成ボタンを押します.

 

ベース色のテクスチャ名は「<モデル名>Lit」などが分かり易いと思います.
解像度はとりあえず1024×1024でよいと思います.
MToonシェーダー向けのテクスチャは色の指定に使うようなもので,解像度はそんなに関係ない(?)気がします.(たぶん)

 

画像が作成できたら,UV展開を行います.

展開したUVで重なっている面が無いか確認します.もし不具合があればシームを付け直してUV展開し直します.
今回はMToonシェーダー向けのテクスチャなので,展開後の調整などは行いません.

UV展開できたら「ベイク」を行います.
プロパティのレンダーから「ベイク」ボタンを押すと,先に作成した画像に,UV展開したオブジェクトがベイクされます.

 

ベイクが出来たら,「画像を別名保存」を行います.ベース色/影色が分かるテクスチャ名で保存します.

 

ベース色のテクスチャができたら影色のテクスチャも同じ手順で作成します.
同じオブジェクトでマテリアルの色だけ影の色に変えます.

影色マテリアルを簡単に作成するには,
ベース色マテリアルを選択して,「+」ボタンを押すと,「マテリアル名.001」のようなマテリアルが新規に追加されます.

これを影色と分かるようなマテリアル名に変更します.

影色マテリアルが追加できたら,マテリアルのディフェーズ色を影の色に,カラーコードなり,スポイトなりで変更します.

 

全てのマテリアルを影色にできたら,先と同じ手順でベイクを実行します.(ベース色と影色が同じで良いマテリアルはそのままでOK)
「UV/画像エディター」でベース色と同じ解像度の,影色のテクスチャを作成します.

影色のテクスチャも「画像を別名保存」で影色のテクスチャと分かる名前で保存します.

 

テクスチャが作成できたら,マテリアルを1つにします.
まず現状のマテリアルをすべて削除して,1つだけ新規にマテリアルを追加します.
こうすると,オブジェクト全面に新規に追加したマテリアルを割り当てられます.
マテリアル名は「body」など統合されたマテリアルだと分かるような感じが良いと思われます.

このマテリアルにベース色/影色のテクスチャを設定してみて,表示を確認します.

 

Unlitシェーダーについて

VRMではUnlit系(ライティングが影響しない)のシェーダーも利用することができます.
Unlit系の場合,利用するテクスチャは1枚です.ライティングではなく,テクスチャで影を表現します.
ライティングによって見た目が変化しないシェーダーのため,暗いワールド(?)でもアバターの見た目が明るい(テクスチャ表示の)ままになってしまうので注意してください.

 

FBX形式でエクスポート

 

Blenderでのモデリング(リギング/モーフ/マテリアルの設定)が済んだら,エクスポートを行います.
FBX形式でエクスポートします.

FBXを適当な場所に保存します.
カメラやライトはエクスポートしないようにしてください.
FBX形式でエクスポートできたら,次はUnityで行う作業です.

 

UnityでVRM作成

SDK(UniVRM)のダウンロード

UniVRM(https://github.com/dwango/UniVRM)はVRMの作成・インポート・エクスポートをUnityで行うためのパッケージです.
MITライセンスでGitHubで公開されています.Unity 5.6以降をサポートしているみたいです.ちなみに今回はVRCで推奨しているUnity 5.6.3p1を使用します.
Unity5.6というと新しいバージョンとは言い難い気がするので,逆に最新バージョン(2018)かで出来るのかは今後試してみたいです.

UniVRMをダウンロードするには下記のページにアクセスします.
https://github.com/dwango/UniVRM/releases

「UniVRM-0.40.unitypackage」をクリックするとUnityパッケージがDLされます.

 

適当な場所にファイルを置きます.
2018年8月15日現在,v0.40みたいです.
「UniVRM-RuntimeLoaderSample-0.40.unitypackage」はサンプル?とりあえず今回は不要そうです.

 

Unityプロジェクトの作成

Unityを起動してプロジェクトを新規作成します.
作成画面の画像

VRM作成用と分かるプロジェクト名にします.

VRMデータはまだそんなに作ったことはありませんが,たぶん,1つのプロジェクトで複数のアバターを扱えると思います.(UniVRMの進化も早いので今後仕様など変わるカモしれませんが)

 

UniVRMパッケージのインポート

プロジェクトを作成するとUnityの編集画面が起動します.
ProectタブのAssetsフォルダー内で右クリックして

import Package => Custom Package

を選択します

「UniVRM.unipackage」を選択し「開く」を押下します.

 

ポップアップしたメニューで利用する項目を選択し「import」ボタンを押下してインポートします.
とりあえず全部(初期状態)インポートすればよいと思います.

 

上部のメニューに「VRM」という項目が追加されていればインポート成功です.

 

モデルのインポート

https://dwango.github.io/vrm/univrm/univrm_workflow/

Assets内にアバター用のフォルダ(Avatar)を新規作成します.
Avatarフォルダ内にアバターごとにフォルダを追加していくのがよさそうです.
アバター用のフォルダが作成できたら,フォルダ内にBlenderからエクスポートしたFBXデータをドラッグ&ドロップ(以下D&D)します.
テクスチャ(ベース色/影色/目など)もD&Dします.

 

FBXがインポートできたらRigをHumanoidに設定します.
インポートしたFBXを選択し,Inspectorタブの「Rig」を開いて,Animation Typeを「Humanoid」にします.

 

「Configure」を押し,Humanoidの設定が正常か確認します.

確認できたら「Done」を押下します.
ボーンの親子関係やボーン名からある程度自動で設定してくれるみたいですが,
もしエラー(赤いボーン)があったら,その場所に設定したいボーンをHierarchyタブからD&Dして割り当てます.

 

Humanoidの設定が出来たら,FBXデータをHierarchyタブにD&Dしてシーンに設置します.

Sceneタブにモデルが表示されます.

 

アバターサイズの修正

私の場合,Blender側で特に気を遣わずにモデリングしているため,モデルのサイズの調整が必要になります.
VRMの仕様として1.0 = 1mと表記されているので,それに合わせる必要があります.
Hierarchyタブで右クリックして,3D Object => Cubeをシーンに追加します.

 

Inspectorタブから追加したCubeのScaleのYの値をアバターの身長に合わせた値にします.

このキャラクターの場合145cmなので,1.45にします

CubeのPositionのYの値を,「ScaleのYの値/2」にします.
計算式として入力できます.
これでCubeが地面に接地する位置に移動するハズです.

 

アバターのオブジェクトのScaleのYの値を調整して,アバターの高さとCubeの高さを合わせます.

右上のヤツ(名称不明)で平行投影にしてX方向からの視点にすると分かり易いです

Yで高さを決められたら.X,Zも同じ値にします.

これでアバターのサイズの調整ができました.
Cubeオブジェクトは不要なので削除します.

 

アバターがCubeに埋まって見えない場合,表示を一時的にWireFrame表示にするなどして,見やすい状態で作業します.

 

シェーダー(MToon)の設定

https://dwango.github.io/vrm/univrm/shaders/univrm_shaders/
https://dwango.github.io/vrm/univrm/shaders/mtoon/

MToon(シェーダー)の設定をします.
Hierarchyタブからアバターのメッシュを選択します.

Inspectorタブからマテリアルを表示します.
初期状態だとShaderが「Standard」になってるので,これをVRM=>MToonに変更します.
Colorの「Lit & Alpha」にベース色テクスチャをD&D,「Shade」に影色テクスチャをD&Dします.

テクスチャを指定する右にあるカラーピッカーは,テクスチャの色そのままで良ければ白(#FFFFFF)でよいと思います.

ここで良い感じに調節するのもありです.

 

その他のパラメーターは
https://dwango.github.io/vrm/univrm/shaders/mtoon/
このページを参考に,良い感じに調整します.

 

アバターのパーツが複数ある場合,同じようにシェーダーを設定します.
あまりにもパーツが分かれすぎていると作業が大変なので,モデリング作業の時点で結合できるパーツは結合するように意識しましょう.

 

正規化(?)

https://dwango.github.io/vrm/how_to_make_vrm/

シェーダーが設定できたら正規化を行います.
UniVRMでVRMデータを作成するまでにエクスポートは2回行います.
1回目は正規化,これは各種コンポーネントなどを正しく動作させるための処理で,エクスポートしたデータをUnity上で編集します.
2回目は,正規化したデータの各種コンポーネントを設定し,アプリケーションで使うデータとしてエクスポートします.

 

まず正規化(1回目のエクスポート)を行います.
モデルオブジェクトを選択した状態で,上部のメニューバーからVRM => export Humanoidを選択します.
メニューがポップアップします.
・Force T Pose:制的にT-Poseにする.
・Pose Freeze:VRMの規約に合致するようにモデルを正規化する処理.
両方にチェックを入れます.
Author(制作者名)を入力して,「Export」をクリックします.

 

エクスポート先を選択し,ファイル名を入力します.
エクスポート先はアバターフォルダの中に,”正規化済みのデータが入っていると分かるような名前のフォルダ”を作成するのが良いかもしれません.
ファイル名は「(元のモデル名)_Normalized.vrm」などが良いのではないかとのことです.(自分で管理しやすければ何でもおkです)
「保存」を押すと,正規化されたVRMがエクスポートされます.

 

正規化したVRMをHierarchyにD&Dしてシーンに追加します.
元のモデルデータは重なっていて分かりずらいので削除します.

 

正規化したデータを選択し,Inspectorタブを見ると,VRMデータの構成に必要なコンポーネントが追加されているのが分かります.
・VRM Meta
・VRM Humanoid Description
・Animator
・VRM Blend Shape Proxy
・VRM First Person
・VRM Look At Head
・VRM Look At Bone Applyer
などのコンポーネントが追加されています.

 

VRM Meta

まずはモデル情報について入力します.
VRMMetaコンポーネントに,ライセンスなどに関する情報を入力してください.

意味が分からない場合下記のページを参考に
https://dwango.github.io/vrm/univrm/components/univrm_meta/
人格などの項目はVRMならではという感じですね.

サムネイルはUnityの編集画面のスクショなどでよいと思います.
たぶん正方形の方がよい?です

 

 表情(ブレンドシェイプ)の設定

https://dwango.github.io/vrm/univrm/components/univrm_blendshape/
表情を設定します.
VRM Blend Shape Proxyコンポーネントを編集します.
VRM Blend Shape Proxyコンポーネントの「Blend Shape Avatar」の項目の枠をダブルクリックします

 

Blend Shapeの設定画面が表示されます.

 

まず「A」を押して,Blenderで「A」のシェイプキーを作成したメッシュの項目から「A」のパラメーターを100にします.

下にプレビューが表示されているので「A」のシェイプで間違いないか確認します.

確認できたら「Apply」を押下します.

AにAのシェイプが設定されました.

他のシェイプに関しても同様に設定していきます.
LOOKUP/LOOKDOWN/LOOKLEFT/LOOKRIGHTについてはこの画面では設定しません.

VRMLookAtBoneApplyerコンポーネントで設定します.

 

今回はBlender側ですべてのシェイプを設定しているので,それぞれに100の値で割り当てれば済みました.
この画面で複数のシェイプのパラメーターを合成して,新たな表情を作るという方法もあります.

(急遽,なんらかの表情を追加しなければならなくなったときにも便利?)

 

視線制御

https://dwango.github.io/vrm/univrm/components/univrm_lookat/

まず,VRMLookAtBoneApplyerコンポーネントのLeft Eye/Right Eyeに,それぞれの目のボーンが割り当てられていることを確認します.

 

ボーンの動作の確認のため,VRM Look At Headコンポーネントを利用して,目がTargetを追うか確認します.
Hierarchyタブに適当なオブジェクト(Sphere)などを追加して,適当なサイズにしてアバターの正面に配置します.
VRM Look At HeadコンポーネントのTargetに先に追加したオブジェクトをD&Dします.

 

Playボタンを押し再生します.

Gameタブに自動で遷移しますが,Sceneタブに戻します.

Targetオブジェクトを動かすと目がTargetを追うのが確認できます.

このとき,眼球の可動範囲が意図したものでない場合,
VRMLookAtBoneApplyerコンポーネントの「Degree Mapping」の項目を調整します.
左右の可動範囲は,Horizontal Outer/Horizontal Innerを調整します.
上下は,Vertical Down/Vertical Upを調整します.

調整の仕方は
1.Targetを動かす
2.Tagetを見ているように見える値に調整する
を上下,左/右のパターンで行うのが良いかと思います.

なお,再生状態で編集した値は,再生状態を解除すると元に戻ってしまいます.スクショなどをして記録して,再生状態を解除してからもう一度入力し直します.
動作が確認できたら,もう一度Playボタンを押すと再生状態が解除されます.
先の説明の通り,記録しておいた値を入力して視線制御の設定は完了です.
心配であれば,もう一度再生状態でぐりぐりとTargetを動かして確認します.

 

揺れモノの設定

https://dwango.github.io/vrm/univrm/components/univrm_secondary/

揺れモノ(髪/スカート/胸など)を設定します.
Hierarchyタブのアバターオブジェクトの中のSecondaryを選択します.

Secondaryに追加されているVRM Spring BoneコンポーネントのRoot Bonesに,揺らしたいモノのroot(親)のボーンを設定します.
Root Bonesの「Size」という項目に揺らしたいモノのrootボーンの数を入力します.
今回は髪のふさが22個,服に8個,装飾品に3個,計33個なので,33と入力します.

 

Sizeを設定すると,入力した数の空き枠がRoot Bonesに追加されます.
この枠に,揺らすパーツのrootボーンをD&Dします.
(標準のUI配置だと操作しずらいので,HierarchyタブとInspectorタブを並べています)

 

再生状態でアバターを動かして,揺れモノが動くのを確認します.
もし,揺れない髪のふさなどがあったりしたら再生状態を解除して設定し直します.

 

意図した揺れの動作にならない場合,Stifness ForceやGravity Powerの値を調整してください.
視線制御の調整の時同様,再生状態に変更したパラメーターは,再生状態を解除すると元に戻るので注意.

 

コライダーの設定

髪やスカートが体などにめり込まないようにしたい場合,コライダー(当たり判定オブジェクト)を設定します.
今回は,Head(頭),Left/RightUpLeg(足,ひともも?)などに設定します.
まずHierarchyタブからHeadボーンを選択します.

Headボーンを選択した状態で,Inspectorタブの「Add Component」を押し「VRMSpringBoneColliderGroup」を追加します.
「VRMs」あたりまで入力すると候補に表示されると思います.

Sceneタブを見るとピンク色のコライダーが追加されているのが確認できます.
Collidersという項目から,コライダーのSize(数)やOffset(位置)やRadius(大きさ)を(頭の場合,頭部のメッシュと一致するように)調整します.

 

足など,その他のボーンについても同様に設定します.
足などはSizeを3にして複数のオブジェクトを設定しています.

 

コライダーが追加できたら,当たり判定をするように設定します.
Socondaryを選択してVRM Spring Boneコンポーネントの「Collider Grup」項目のSizeに追加したコライダーの数を入力します.
D&Dで空の枠にコライダーを設定したボーンを追加するか,
枠の右にあるボタンを押すと,コライダーを設定したボーンのみが表示されてるので,そこから選択します.

 

Collider Grupが設定できたら,Playボタンで再生状態にしてアバターを動かして,当たり判定の動作を確認します.

服が足にめり込まなくなっているのが確認できました.
髪もある程度違和感の無い動作になっているように見えます.
アバターはそこまで速いスピードで移動する可能性は少ないと思われるので,ユラユラ動かして違和感がなければバーチャルキャスト用途などでは問題ないハズです.

確認できたら,再生状態を解除します.

 

VRMのエクスポート

シェーダー・正規化・アバター情報・シェイプ・視線制御・揺れモノが設定できたら,完成品のエクスポートを行います.

アバターのオブジェクトを選択し,上部のメニューからVRM=>export Humanoidを選択します.
このとき「Force T Pose」と「Pose Freeze」のチェックを外します.(たぶん外れているのでそのままで,このチェックは正規化のときのみ利用するみたいです.)
「Export」を押下します.

保存先とファイル名を選択して,「保存」を押すことで,完成版のVRMデータがエクスポートされます.
保存先とファイル名は完成版だと分かるような名前にしておくと分かり易いです.

 

Unityでの作業は以上です.
これで,エクスポートしたVRMデータをVRM対応アプリケーションで利用することができます!

 

動作テスト

動作確認のために下記のページの「VRMビュアー」というアプリケーションを使ってみます.
https://www43.atwiki.jp/beamman/

 

ダウンロードしてきて起動します.
「VRM読み込み」というボタンを押し,VRMを選択します.

喜怒哀楽のパラメーターや,様々なアニメ(動作)を実行してみます.

 

ニコニ立体にアップロード

「VRMビュアー」で動作確認ができたので,ニコニ立体(https://3d.nicovideo.jp/)にアップロードしてみます.

自作のVRMアバターをバーチャルキャストで利用するには,ニコニ立体にアップロードする必要があります.

 

ニコニ立体(https://3d.nicovideo.jp/)にアクセスします.
「作品投稿」ページへ遷移します.

  • フルスクラッチ:投稿者地震がモデリングしテクスチャを自作した作品
  • 二次利用作品:投稿者以外が作成した3Dモデルを改変・改造した作品

状況に合わせて適切に選択してください.

「ファイルを選択」からアップロードするVRMデータを選択します.
利用規約に同意して「規約に同意して投稿する」を押します.

 

処理中の画面に遷移します.(データアップロードのために少し待ちます)
しばらくすると作品情報入力画面へ遷移します.
作品情報を入力します.(バーチャルキャストで利用する場合,非公開でも利用できるので,自分だけのための情報でもOKだと思います.)

 

バーチャルキャストで利用する場合,外部アプリ許諾の「バーチャルキャスト」の項目にチェックを入れます.
バーチャルキャストで自分が利用するだけの場合,一般公開する必要はないと思います.非公開でも利用できます.お好みでどうぞ.

 

作品ページに遷移します.


作品がアップロード・公開できたことが確認できました.

自分がアップロードした作品は作品管理ページから確認できます.

 

バーチャルキャスト

https://virtualcast.jp/

 

ニコニ立体にVRMがアップロード出来たら,バーチャルキャストで動かしてみます.
ダウンロードページからバーチャルキャストをDLします
https://virtualcast.jp/download/

 

DLしたZipファイルを適当な場所に解凍します.
解凍した中身の「VirtualCast.exe」をクリックするとバーチャルキャストが起動します.

ニコニ立体にアップロードしたアバターを利用するには設定ファイルを追加する必要があります.
参考ページ(https://www.infiniteloop.co.jp/blog/2018/04/virtualcast-matsui/)

解凍したフォルダ(VirtualCastフォルダ)の中に「config.json」という名前のファイルを作成します.config.jsonの作成/編集には適当なテキストエディタを利用します.

config.jsonには以下のように記述します.
{
"niconico": {
"character_models": [
ニコニ立体の作品ID,
2つ目以降はカンマ区切りで追加していく
]
}
}

ニコニ立体の作品IDは,
作品ページへアクセスして,ブラウザのURLの最後に付いている”数字のみ”をコピーします.

 

config.jsonが作成できたらバーチャルキャストを起動します.
「右下にconig.jsonのロードに成功しました」と表示されているのが確認できます.

ニコニ立体のアバターを利用するにはnikonikoのアカウントでログインする必要があります.

ログインするとニコ生の設定画面になりますが,
今回は動作確認のために,自分一人だけスタジオ(?)にアクセスします.

「自分で配信しない」のタブで,凸先のスタジオIDを空にしたまま「スタジオに入る」を押すと,配信も凸もしないまま孤独のスタジオを作成することができると思います

 

初回のみ(?)利用するアバターの規約を確認する画面が表示されます.
あと,私がやったとき,初回はVIVEが起動しませんでした.PCを再起動すると普通に起動したので参考までに

 

ためにし画面をキャプチャしました.
動画なので,PCやWifi環境で見てください.

揺れモノがちゃんと動作していることが分かります.
目線は,たぶんバーチャルキャストの仕様で,ランダム(?)に目が動いたり瞬きするアニメが再生されています.
音声は消してますが,喋りに同期して口がAIUEOの形になってます.

 

あとがき

以上でVRMデータの作成とアプリケーションでの利用が試せました.
これからVRM対応アプリケーションが増えていくと,もっと面白くなっていきそうですね.

 

参考になる本とか

キャラクターであそぼう! Unity日和。 -UnityでBlender自作キャラクターを読み込んで楽しむ、シーン作り

新品価格
¥2,700から
(2018/12/17 22:20時点)

UnityでFBXデータをインポートしてアニメーションを付けたりする本です.
VRMとは関係ありませんが,Unityの基本操作を学ぶことができました.

Spread the love
コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

3D
自作モデル[藤原みやび]

お疲れ様です. RainGearの杏です.   3Dモデルを作成したので紹介します. モデ …

Spread the love
Blender
Blenderローポリモデルのリギングをする

関係各位   お疲れ様です. RainGearの杏です.   目次0.1 余談0 …

Spread the love
3D
3Dモデル[RainGear]

お疲れ様です. RainGearの杏です.   3Dモデルを作成したので紹介します. 配布 …

Spread the love