公式からのご紹介、ありがとうございました。
その後、さらにわかりやすいよう、記事を修正していきました。
全身の3Dスキャンデータをアバターにする方法はこちらから。
前説(さいしょに記事を書いた当時のお話)
clusterでアバターをアップロードするのは、とにかく手間がかかると聞いていました。
実際に調べながらやってみましたが、「アップロードを目的」として、自分としてはかんたんなやり方をメモとして残しますね。
調べながらのトライアンドエラーで、オフ日に10時くらいから始めて、2時間はかかっています。
一度アップロードまでやりきれば、そうとう時間短縮できます。
※Blenderをはさんだのは、ボクセルのサイズ感だと、アバターのサイズが米粒になるからです。
※mixamoのリグ設定が一番時間かかった… ボクセルでデザインする際、mixamo側の「頭」の認識がブラックボックスすぎて困る
1.MagicaVoxel編
モデルを作成します。
- MagicaVoxelのインストール記事はこちらから(動画版もあります)。
- キャンバスは 10x10x10 で作成しています。
Toolボックス内の[2x]を選択して、全体を2倍の大きさにします。
- これで、後続のmixamoでリグが入りやすくなります。
- 下図のように、キャンバス内のオブジェクトが2倍のボクセルになります。(合わせてキャンバスも拡大されます)
モデル作成後は、obj形式でエクスポートします。
- 画面右下のExportを選択して、[obj]を選択します。
- 任意の名前をつけて、任意の場所へ保存します。
- あとから検索しやすいよう、専用のフォルダを作るか、マジカボクセル内でexportフォルダがあるので、そのまま使うなどしましょう。
2.Blender編
※Blenderは2.82を使用しています。
- Blender編の解説動画はこちらから御覧ください。
Blenderの初期準備
- Blenderを起動して、[A]キーを押して全選択状態になったら、[X]キーを押して、削除します。
インポート
- MagicaVoxelからエクスポートしたものをインポートします。
- この記事では、前項で、obj形式でエクスポートしたので、obj形式でインポートしています。
- [ファイル]-[インポート]-[Wavefront(.obj)]を選択します。
- 下図のように、インポートされました。
サイズ変更
- 100倍の大きさに拡大します。
- Blenderの画面右側にある、オレンジの四角を選択して、[トランスフォーム]内にある、[拡大縮小]でx,y,zともに"100"を入力します。
エクスポート
- 拡大されたオブジェクトをエクスポートします。
- [ファイル]-[エクスポート]-[Wavefront(.obj)]を選択します。
- 任意の名前、そして、任意の保存場所を指定しましょう。
3.mixamo編
mixamoの解説動画は以下から御覧ください。
mixamoへアクセス
- mixamoで検索して、サイトにアクセスします。
ログインまたはサインアップ
- アカウントを持っている人はLogin、まだアカウントを持っていない人はSignupを選択します。
アップロード
- 最初の画面で、[UPLOAD CHARACTER]を選択します。
- Blenderでエクスポートしたobj形式のファイルを選択、あるいはドラッグアンドドロップします。
- アップロードが成功すると、下図のような画面になります。[NEXT]を選択します。
リグの設定
- mixamoは優秀なので、首・手首・肘・腰・膝を指定すれば、自動的にグリグリ動くようにしてくれます。(一般的に「リギング」と呼ばれています)
- ただし、平面上で判断されるので、頭が盛っているキャラクターや、FF7のクラウドのように、背中になにかを背負っているキャラクターの場合は、このオートリグは正常に終了しません。
- このように設定します。[Skeleton LOD]は[No Fingers]を選択します。(NoFingersでなくても良い)
- だいたい2分くらい処理が行われます。コーヒーブレイク。
- 成功すると、キャラクターがぶらぶらしている画面になります。[NEXT]を選択します。
- ここでエラーになる、あるいは、腕などがありえない動きをしている場合は、マジカボクセルで修正したり、そもそもパソコンの負荷が高くなりすぎてネットワークに影響が出ている可能性もあるので、再起動などしましょう。
ダウンロード
- 通常、下図のような画面になったら、キャラクターに割り当てるモーションを選択しますが、今回は、このまま[DOWNLOAD]を選択します。
- 下図のように設定したら、[DOWNLOAD]を選択します。
- fbx形式のファイルなので、任意の場所と、任意の名前で保存しましょう。
4.unity準備編
UniVRMのパッケージをダウンロードします。
- 下記リンクへアクセスします。
- 下図のようなページが開かれます。
- 下図のように、unityパッケージを選択して、ダウンロードします。
unityを起動して、インポートパッケージをします。
- 下図のように、unityの[Assets]-[Impor Package]-[Custom Package...]を選択します。
- 先ほどダウンロードした、Unityパッケージファイルを選択します。ファイル名などは、下図を参考にしましょう。
- 下図のように、すべて選択されていることが確認できたら、[Import]を選択します。
- 下図のように、[VRM]メニューなどが追加されます。
5.unity編
MagicaVoxelでエクスポートしたpng画像と、mixamoからダウンロードしたfbxファイルを格納します。
fbxファイルでリグの設定とボーンの確認をします。
- fbxファイルを選択して、インスペクターウィンドウで、[Rig]内の[Animation Type]を[Humanoid]に変更します。
- その後、右下にある[Apply]を選択します。
- もしここでエラーが出ているようであれば、mixamoでリグが失敗している可能性が高いので確認しましょう。
- プロジェクトウィンドウ内にあるfbxファイルを展開します。
- 素体みたいなアイコンを選択します。
- インスペクターウィンドウで、オールグリーンを確認します。
- ちょっとスクロールして、右下にある[Done]を選択します。
マジカボクセルの画像ファイルを、fbxファイルに適用します。
- プロジェクトウィンドウ内で、空のマテリアルを作成して、マジカボクセルから持ってきた画像ファイルを適用します。
- fbxファイルをsceneに出し、マテリアルを適用します。
- ポジションは0,0,0にします。
VRMファイルを生成します。
- unityの[VRM]-[UniVRM-0.55.0]-[Export humanoid]を選択します。
- いろいろと情報を設定しますが、clusterのアバターであれば、[Author]に製作者の名前を記入するだけでよいです。(素材として提供したり、販売するのであれば、細かい情報の記入が必要となります)
- VRMファイルが保存されるので、適当な場所へ保存します。
6.cluster編
- アップロードしてサイズを確認して、米粒だったらがっかりしてBlenderからやりなおしましょう。
7.その他編
- 一連の流れで、様々なファイルが作られます。
objファイル
pngファイル
fbxファイル
vrmファイル
- いろいろ試す作業なので、それぞれ専用のフォルダを作るなどして、失敗したときや成功したときに、ログをたどれるようにしておくと、新たにアバターを作るときの作業がはかどります。