アバターをきれいにNeosに入れる方法
この記事はNeosVR Advent calender 16 日目に掲載する記事から派生したものになります。
この記事自体はNeos VR (その3) Advent Calendar 2022 の9日目になります。前日はChameleonO2さんによる DashMenuをぶっ壊してSAOより悲惨なことになった話なのでこちらもどうぞ。(リンクまだっぽいのでアドカレ貼っておきます)
FBXをきれいに入れる方法が上のアドベントカレンダーを書くために下調べしている中で判明したので記事にしました。
使用しているもの: assimp。Batファイル化しているのでした二つを右クリック→「名前を付けて保存」で落としておいてください。
_convert_fbx_ascii.assimp
_convert__binary.assimp
パターン1. FBX
STEP1 未改変
まずはそのまま入れてみて、クラッシュするかどうか見てみましょう。
一応入れ方について:
FBXファイルをD&Dすると「モデルインポータ」が出現します。
下の手順に従って進めてください。
- レギュラー/アバター
- 3Dモデル
- ヒューマノイドの身長に自動設定
- 高度な設定
- マテリアルを左に3回変えてXiexeToonに変更
- アセットをオブジェクト内に入れるにチェックを入れる
- インポート実行
クラッシュせず入った: ステップ2へ
クラッシュする: ステップ3へ
STEP2 テクスチャ改変要否確認
アバターがインポートできたら、テクスチャが入っているか確認しましょう。導入したばかりの場合はまだ計算中の可能性もあるので、[<アバター階層>/Assets]に画像ファイルらしきものが読み込めてるか確認することをおすすめします。
よっしーさん制作「Avatar Setup Helper(執筆当時v1.2)」を使用する場合は使用後[<アバター階層>/Assets/Textures] / [<アバター階層>/Assets/Materials] を確認して、同数もしくはある程度許容できる範囲入ってることを確認しましょう。使用方法がわからない場合は補足1を確認してください。
テクスチャが入ってきていない、3枚以上欠けている
: ステップ3
テクスチャがきちんと入っている、1~2枚程欠けている
: ステップEnd
STEP3 assimpを使用したFBXのASCii化
アバターがクラッシュする場合、assimpを使用してFBXをインポート->エクスポートすることで改善されます。Neosはassimpを使用しているためです。
また、FBXはBinaryとAsciiの二つの書き方がありますが、Neosが使用するassimpはどちらにも対応しています。特に断りがない限りはAsciiのほうが直接ファイルも確認できますのでAsciiをお勧めします。
_convert_fbx_ascii.assimp にFBXをD&D。
自動的にassimpをダウンロードし、変換まで行ってくれます。
STEP4 ファイルの確認
変換が完了したら、ファイルを開いてみましょう。
メモ帳でも開くことができますが、可能であればVSCode等の編集できるエディタを使用することをお勧めします。
ファイルを開いた後、[.png] [.psd] [.jpg] などで検索してみてください(検索する拡張子はアバターに同梱していますテクスチャの拡張子に合わせることをお勧めします)。
いくつかヒットしてくると思います。"RelPath" "RelativeFileName"に適切な相対パス(ファイル本体から見た位置を記載したもの。 FBXがあるフォルダにそのままテクスチャがおいていればファイル名のみ)が設定されていることを確認してください。もし、適切なパスが記載されていない場合(作者さんの作業用っぽいフォルダ名が記載されている場合)は、お手数ですが以下の手順に従って対応してください。
- テクスチャフォルダから必要なテクスチャ(RelativeFileNameとして記載されたテクスチャ。わからなければ全部まとめて)をFBXがおいてあるフォルダにコピー。
- FBXのファイル名の前についている[C:/~~~]などと書いてあるもの(写真では上の一枚)を一括で削除し、以下の2枚目の画像のようになることを確認。
- たまに作業ファイルは[Wear.psd]なのにテクスチャとしての名前は[Costume.png]となっていることがあります。そういう場合はいい感じに変更していってください(壊れる心配はしなくていいです。STEP3からやり直せばいいので)。
STEP5 インポートテスト
ファイルの確認、編集が完了したら保存してNeosにインポートしましょう。
インポート自体はNeosにD&Dで可能です。
一応入れ方について:
FBXファイルをD&Dすると「モデルインポータ」が出現します。
下の手順に従って進めてください。
- レギュラー/アバター
- 3Dモデル
- ヒューマノイドの身長に自動設定
- 高度な設定
- マテリアルを左に3回変えてXiexeToonに変更
- アセットをオブジェクト内に入れるにチェックを入れる
- インポート実行
クラッシュせずに読み込めるか、テクスチャはきちんと取り込まれるかなどをSTEP2を参考に確認してください。
もしテクスチャが一部きちんと取り込まれてない場合は、STEP4に戻りテクスチャのファイル名が違っていないか、テクスチャファイル名を変更する際に誤って"
など、必要なものを誤って消していないか確認しましょう。
STEP End 完了
ここまで来たらあとはアバター化になります。
kazu PublicにありますAvatarSetupHelper v1.0.3を使用します。
下のアドレスをコピーし、Neosに移動して貼り付けすると出現します。
neosdb:///67d7cfaea51dffec9bfb1ac7025a17a15450b18debdb568ba911d02f4361c1ff.7zbson
URLとしてはこちらで確認できます。
AvatarSetupHelper v1.0.3の上にある[null]と記載があるところにアバターのRootを入れます。
入れ方がわからない方は下の手順に従って入れてください。
- DevToolTipを[Neos Essentials]から取り出します。
- DevToolTipを装備します(レーザーでToolTipをクリックすると装備できます)
- Menuボタンを押しコンテキストメニューから[インスペクタを開く]をクリックします。
- 自分のアバターを左側から探します。もし隠れている場合はトリガーを左側で半押ししながら上下するとリストが上下します。
- 自分のアバターが見つかったらGrabボタンで持ちながら
AvatarSetupHelper v1.0.3の上にある[null]と記載があるところにアバターのRootを入れます。
アバターのRootを入れたら「Assets Organize」「Fix Assimp Slots Hand&Eye Only」の二つをクリックします。
あとはこちらの記事のStep4からアバターセットアップを進めることでアバターがセットアップできます。
補足
上の手順で作成したファイルはNeosはもちろん,UnityやAutodesk Mayaに取り込めるはずです。
ただBlenderはAsciiのFBXには対応していないので、 _convert__binary.assimp にFBXをD&Dして、出てきたFBXであればBlenderを使用できます。
Discussion
そういえばこの当時書き忘れてた。BlenderでFBXをそのまま扱いたい?これ買いましょう。