NeosVRの日本語Wiki


はじめに

基本のアバターセットアップ
自作したり、購入したヒューマノイドボーン対応のアバターをセットアップします。

アバターに関して、ポリゴン数・ボーン数・マテリアル数など制限は特にありません。

ボーンやブレンドシェイプの構成の注意点があります。

(折りたたみ)ボーン名の注意点など

公式Wiki Humanoid Rig Requirements for IK

Oculusリップシンクの口形素名に準じているブレンドシェイプは自動でリップシンクに割り当てられる。
・まばたきには"blink", "wink", "eye close" + "left" / "right"で判定される。

その他の注意
・コンストレイントなど補助ボーンを使用したモデルには基本的に対応していません。
(blenderでボーンを編集するか、Logixやコンポーネントを使用して自分で動作を設定すればどんな動きでも設定可能です)
・UnityからFBX Exporterで出力したモデルは、NeosVRにインポートするとメッシュの位置やシェイプキーが壊れます。
・頭が極端に大きかったり、腕が短いヒューマノイドモデルは操作が困難になる可能性があります。
ヒューマノイドリグのないアバターの作成
人間型でない(ヒューマノイドボーンが入っていない)モデルや、写真などをアバターにできます。
ヒューマノイドリグの設定されていないモデルや写真をアバターにする
アバターを持っていない
NeosVR内でアバターを簡単に用意できるワールドがあります。
NeosVRでアバターを用意する

また、他のVRサービスも含めたアバターの準備方法について、VRアバター準備 横断Wikiがある。
アバター作成サービスのリスト、制作の一連の流れ、ライセンスや司法関係などをまとめていますので参考にして下さい。

基本のアバターセットアップ

モデルのインポート

.fbxか.blendファイルを読み込めます。
ダッシュメニューのファイルブラウザからアバターのモデルを選択してNeosVRにインポートします。
(参考、インポートする

出てきた画面(モデルインポーター)で、3Dモデル > レギュラー/アバター > ヒューマノイドの身長に自動設定 > 高度な設定 を順番に選択する。

   

高度な設定の画面で、画像形式を"PNG"に、マテリアルを"XiexeToon"(NeosVRで使用できるトゥーンシェーダー)に設定する。
下にスクロールして最下段の"アセットをオブジェクト内に入る"にチェックを入れて、"インポート実行"を押す。
 

すると、読み込みが行われる。
しばらく待てば、アバターの3Dモデルが出てくる。
 
(この時点で、テクスチャが読み込まれず真っ白でも、後から設定できる。下記)

読み込みが終わらない場合

アバタークリエイター

ダッシュメニューのホームの右側に"アバタークリエイター"があるのでそれを使用する。
ヘッドマウントディスプレイ(HMD)と左右の手のモデルとパネルが出てくる。

アバタークリエイター各項目の説明

(折りたたみ)


HMDをグラブしてアバターの頭にだいたい合わせる。
アバタークリエイターのパネルの"頭の前方向を揃える""頭の上方向を揃える""頭の右方向を揃える""頭の中心を揃える""手の位置をあわせる"を順番にクリックする。


すると、いい感じの位置に合わせてくれる。手の向きが違う場合は自分で掴んで合わせる。
(手首の位置を合わせて、指先がアバターから少し出ているくらいがベスト)
 

この時、アバターを間違って動かしてしまった時はコンテキストメニューから"戻す"を押して、位置を戻しておく。
(そのままだと、アバターがおかしくなることがある。)

"プロテクトアバター"のチェックが入っていることを確認して(販売アバターなど、他の人が着れないようにするためにプロテクトを設定する。プロテクトのチェックを入れれない場合は、NeosVRにログインできていないことがある。)
"作成"を押すとアバター化できる。(作成を押すのはアバターを利用する本人。作成ボタンを押したユーザーのアバターとしてプロテクトが設定される。)

アバター化した後は、アバターに対してレーザーを当て、トリガーを押すことでアバターを着れるようになる。


追加の設定をする場合にも、この地点でインベントリに保存しておこう。

インベントリの操作(アバター)

アバターのセーブの仕方
出来上がったアバターはインベントリに保存する。フォルダを専用に作っておくといいでしょう。
ダッシュメニューからインベントリを表示させます。アバターをグラブしながら(頭の近くを掴める)、もう一方の手で、右上のを押すと保存される。
(共有ファイルなど自分の編集権限のないフォルダには保存できない)
現在着ているアバターを保存したい時は、を押す。
他のアバターに着替えたいときには
インベントリからアバターを選んで上の押す。
デフォルトアバターにするには
アバターをデフォルトアバター(ワールドに入った時に着ているアバター)に設定する時はアバターを選んで上のを押す。

テクスチャを設定する(アバターが真っ白な時)

以下の設定ではToolTipを使用する。
ToolTipについてのページを一度確認しておこう。
マテリアルインスペクターを開く
モデルを読み込んだ時と同様にして、テクスチャ(画像)をNeosVRへインポートします。
(参考、インポートする
画像インポーターでは"イメージ/テクスチャ"を選択する。


画像が読み込まれたら、インベントリの"Essential Tools"からDevToolTipを取りだす。
装備して、アバターへレーザーを当てて、セカンダリーで選択する。(ギズモが表示される)
DevToolTipを装備している手でコンテキストメニューを開き、"インスペクターを開く"を選択する。


インスペクターが開くので、左上のを押すと、アバターのルート階層に行ける。
スロットの名前左のを押すと、スロットの下の階層が見えるので、順番に開いて、メッシュを見つける。
大抵は、〜.FBX>CenteredRoot>RootNode の下にあるので、メッシュの名前をダブルトリガーで選択する。


メッシュのスロットには"SkinnedMeshRenderer"コンポーネントがある。ここに、マテリアルのリストがある。

Materials(list):の各名前の左側のを押すと、マテリアルインスペクターが開く。
マテリアルインスペクターが開く、ここから各マテリアルの設定を行う。

メッシュは複数ある場合があり、そこからそれぞれマテリアルの編集が必要になる事がある。
画像を設定する
まず、そのマテリアルがアバターのどこの部分に対応しているか確認する。
マテリアルインスペクターの"MainTexture:"の下の"Color:"の一番右にある四角い枠を押すと、カラーインジゲーターが出てくる。
カラーインジゲーターを操作して色を変えると、どの場所のマテリアルか分かる。
 

マテリアルの色をもとに戻す(白色に)。
対応するテクスチャ(画像)をグラブし、もう片方の手でレーザーをマテリアルインスペクターの"MainTexture:"の白い枠に当ててトリガーを押すと、テクスチャが設定される。


同様の設定をそれぞれのマテリアルに設定する。
終わったら忘れずに保存しよう。

その他、詳しいマテリアルの設定については、マテリアルの調整例

透過(アルファ)の設定

表情のブレンドシェイプなどで透過のマテリアルを使用している場合があり、特別な設定が必要になることがある。

ブレンドシェイプの設定されたメッシュをインスペクターで選択して、下にスクロールすると、ブレンドシェイプのリストが見つかる。


このアバターの場合、"cheek_on"の数値を変えると、表示がおかしくなるため、透過の設定が必要だとわかる。


そこで、対応するマテリアルのマテリアルインスペクターを開き、"BlendMode:"を"Alpha"に、"ZWrite:"を"On"に設定する。
(CutOffに設定して、AlphaClipの値を調整した方が良いときもある)
 

通常のテクスチャと透過用のマスクテクスチャが別れている場合


その他、マテリアルの設定についてはこちら

ヒューマノイドリグの設定されていないモデルや写真をアバターにする

人間型で無いモデルでも、アバターにすることができる。
上記の人型のモデル同様にアバタークリエイターを使うが、頭の向きや手の位置を合わせるボタンは押さずに作成すればよい。

HMDの頭の部分にモデルが固定され、デフォルト設定の手のモデルが挿入される。

アバタークリエイターで手に当たる部分に別の3Dモデルを割り当てれば、デフォルト設定の手のモデルではなくなる。

ペンで書いたらくがきをアバターにする

まずはBrushTipで適当に絵を描く。
一筆書きで書いた絵が一つのメッシュになる。とりあえず丸を三つ書いておく。
その状態でアバタークリエイターを起動して、それぞれのメッシュの位置に、HMDや手のモデルを置いてセットアップすればアバターが完成する。

画像をアバターにする

撮影した写真やファイルブラウザから適当に画像をインポートしてアバタークリエイターを起動する、画像の位置にHMDをあわせてセットアップすればアバターができる。

NeosVRでアバターを用意する

NeoRoidクリエーターをつかう

オレンジさん、もふやんさんが開発した軽量アバタークリエーター"NeoRoid"をつかうと、その場で好きなアバターを作ることができます。

公開されているアバター作成ワールド

折りたたみ

TIPS

取り込んだアバターが変形してしまう

モデルのボーン構成がNeosVRに対応していない
ボーン・メッシュのトランスフォームが適応されていない。
もしくは、Blenderで作成したfbxをNeosVRにインポートしたときに、動きが変になることがある。
メッシュやボーンのPositionが(0,0,0)、Rotationが(0,0,0)、Scaleが(1,1,1)になっていないためかもしれない。

次の2つを試すといいでしょう。
  • キーボードをのAキーを押して、メッシュとボーンを全選択する。Ctrl+Aででる適用メニューにある「全トランスフォーム」を選択する。
  • fbxをエクスポートするときに「トランスフォームを適用(過去verでは、!実験的機能!トランスフォーム適用)」をチェックしておく。

UnityからFBX Exporterで出力した
Unityで改変したモデルや、VRMのモデルはFBX Exporterで出力すると、メッシュの位置やシェイプキーがおかしくなる。
下記でUnityからモデルをNeosVRへ持っていく方法を解説している。

アバターの目の動きが大きい

アバターによっては目の動きが大きい場合がある、その時は"Head"ボーンの下に、"Eye Manager"というスロットがある、
この中に"EyeRotationDriver"コンポーネントがある、その"MaxSwing"の値を小さくすればよい。
 

瞬きを設定する

ブレンドシェイプの名前がNeos側で認識できれば自動で入る。
瞬きは"blink", "wink", "eye close" + "left" / "right"との名前が入っている必要がある。根拠1根拠2
アバターセットアップ時に割り当てられていなかったり、おかしければ手動で設定できる。
"Head"ボーンの下に、"Eye Manager"というスロットがある、その中に"EyeLinearDriver"コンポーネントがある。
"Eyes(list):"の"OpenCloseTarget"にブレンドシェイプを割り当てればよい、リストに項目がなければ"Add"で追加する。
ブレンドシェイプの瞬きに相当する名前をグラブして、"OpenCloseTarget"へドロップする。
"Side"で左右どちらかや両方かの設定ができる。

リップシンクの設定

リップシンク(発言に合わせた口パク)の設定がおかしい場合も、上記"瞬きを設定する"同様に設定する。
ブレンドシェイプの設定されたメッシュに"DirectVisemeDriver"コンポーネントがある。
ここに、それぞれ対応するブレンドシェイプを割り当てればよい。
ブレンドシェイプの名前をグラブして、それぞれ対応する枠へドロップする。


・例、Bodyメッシュにあるブレンドシェイプ。この名前の部分をグラブする。


DirectVisemeDriverがない場合は、新しくコンポーネントを割当し、Head ProxyにVisemeAnalyzer, AvatarVoiceSourceAssignerを割り当て、それぞれ接続する必要がある。

アバターのサイズを変える

コンテキストメニューから自分の大きさを変えることができますが。
アバターの標準の大きさを変得たい場合はDefaultUserScaleコンポーネントをアバターに設定します。

アバターのプロテクトをかけ忘れた。

SimpleAvatarProtectionコンポーネントをアバターに設定します。

アバターにプロテクトがかけられない

ログインしていないと下記のようにプロテクトアバターが灰色になってプロテクトがかけられない状態になります。

(NeosVR JP discord 質問 2020/3/20)

アバターの髪やメッシュが邪魔で前が見えない

2つの解決方法があります。
ビューポジションを調整する(推奨)
アバターのルート -> Head Proxyに"Target"がある。
このターゲットの位置を前後に動かすことで、視点に対するアバターの頭の位置を調整できる。

これで解決できない場合、下記ニアクリップを設定する。
ニアクリップを設定する
下記の図のようにHead Proxyの下に、NearClip(名前は何でも良い)という子スロットを作り、そこにAvatarRendarSettingsというコンポーネントをつける。
位置はUsers→Common Avatar System→AvatarRendarSettingsです。
そして、"NearClip:"にチェックを入れて0.075を入力します。設定が終わったらセーブして、着替え直す。そうすると設定が反映される。
これで視点に近い位置のメッシュが描画されなくなり、髪の毛の邪魔がなくなります。

ツールシェルフが袖に埋まってしまってうまく使えません

位置を調整しましょう。
DevToolTipを使用する。
図のスロット「Toolshelf Ancher」の位置や回転を調整する。

取り外しができる帽子をつける

帽子の方にSnapperというコンポーネントを追加する。Transform->Interaction->Snapper

頭の方にSnapAreaとSnapという名前のスロットを作り、SnapにSnapTargetというコンポーネントを追加する。Transform->Interaction->SnapTarget

位置などを調整する。

Unityで改変したモデルをNeosVRにインポートする

UnityからモデルをVRMで出力し、BlenderでGLTF形式にしてインポートする。
(検証環境: Unity 2019.4.10f1 / Blender 2.83 LTS)

  1. UniVRM 0.66.0 以降をインストール(古いバージョンだとシェイプキーが読み込まれないケースがあります)
  2. エクスポートしたいモデルをProjectからHierarchyに挿入(もしすでにある場合は省略)
  3. [VRM0 -> Export UniVRM-0.66.0]をクリックし、ExportRootにもしアバター直下がいなければ挿入
  4. Title / Version / Author を記入 (もしVRMサービス等で使用する予定が別にあるのであればきちんと入力することをお勧めします)
  5. Exportをクリックし、適当な階層にVRMデータをエクスポートする
  6. Blenderを起動し、(もしインストールされていなければ) [VRM Addon for Blender>https://github.com/saturday06/VRM_Addon_for_Blende...]をインストール
  7. シーンを整えたうえで[ファイル -> インポート -> VRM(.vrm)]をクリックし、先ほどエクスポートしたVRMファイルをインポート
  8. ファイルの整形(必要ない方、内容に軽く目を通して手順浮かばない方はこの項を飛ばしてください)
    1. [編集 -> 名前の一括変更]をクリックし、[Data Type]でオブジェクトを選択。Rename ** Objectで[全て]を選択し、[検索と置換]になっていることを確認。検索に[.baked]、置き換えには何も入力しない状態で[OK]をクリック
    2. [編集 -> 名前の一括変更]をクリックし、[Data Type]でメッシュを選択。Rename ** Meshで[全て]を選択し、[検索と置換]になっていることを確認。検索に[.baked]、置き換えには何も入力しない状態で[OK]をクリック
    3. [編集 -> 名前の一括変更]をクリックし、[Data Type]でマテリアルを選択。Rename ** Materialで[全て]を選択し、[検索と置換]になっていることを確認。検索に[.001]、置き換えには何も入力しない状態で[OK]をクリック
    4. SceneからSkeleton内部にいる [Armature.XXX] を [Armature] に名称変更
  9. [ファイル > エクスポート > GLTF2.0]を選択し、ファイル名を入力。右側のオペレーターについては[フォーマット: glTFバイナリ],[アニメーション>アニメーション: Off]を確認してエクスポート
  10. エクスポートしたデータをNeosVRにインポート

もしFBXが良い方は9. の項目をこう読み替えてください(正直設定項目が多い割にNeosに持ち込むにはメリットがないのでお勧めしないです)。
9. [ファイル > エクスポート > FBX]を選択し、ファイル名を入力。右側のオペレーターについては以下の内容を確認してエクスポート
[内容> 選択したオブジェクト: Off / アクティブコレクション: On] (コレクションと聞いてわかる人向け: 今回のオブジェクトはすべてコレクション内に展開されているのでそちらで問題ありません)
[オブジェクトタイプ: アーマチュア/メッシュ] (Shift + クリックで複数選択します)
[トランスフォーム > スケールを適用: すべてFBX (/ 前方: -Zが前方 / 上: Yが上)]
[アーマチュア > リーフボーン追加: Off]
[アニメーションをベイク: Off]

(NeosVR JP discord 豆知識・テク かずさん2021/2/7)

Menu

アバター関連

VRM

Menu

当Wiki Twitter

定期イベント

交流や導入の目的として、イベントが定期的に開催されている。
詳しくは定期・不定期イベント参考。ほかにはカレンダーやDiscordをチェックしたり、#NeosVR で検索しよう。


毎週火曜 22:00~

数か月に一度

【メニュー2編集】

メンバーのみ編集できます

メンバー募集!