MMDモデルをOculus Homeにインポートして夢の俺部屋作り!【動画あり、モデル配布】

先日、Oculus Homeにインポート機能が実装されて、ユーザーが3DCGモデルをOculus Homeの部屋にインポートできるようになりました。

いままでの無料でランダムに貰えるものだけでは理想から程遠いので、いろいろインポートしてHomeを自分の夢の部屋にしていきたいと思います。

↑↑模様替え前の部屋

木と自然がいっぱいで癒やされますが、俺らしくない・・・!

なにより萌え感ゼロ・・・

そんな部屋を改造していきます!!

モデルのダウンロードはこちら>https://vr-game.pw/download/Alicia-solid-chan.glb
使い方は↓↓こちら↓↓

筆者の3DCGモデリングレベル

初心者ですが、全くの知識ゼロというわけではありません。超初心者で、いつか何か作りたいと思いつつずっと勉強中です・・・

一応3DCGソフトは多数揃えています。「Blender(フリーソフト)」「Metasequoia4(基本フリーソフト)」「LightWave 2018」「Zbrush」など

超初心者ということなので、他にもっと良い方法があるかと思いますが、私なりの方法を紹介します

使用ソフト

画像編集ソフト(Photoshop)は有料ソフトですが、フリー画像編集ソフトのGimpなどで代用できるかと思います。用途は、BMPやTGAのテクスチャデータをPNGしたり、データ容量圧縮のためにテクスチャサイズを小さくするのに使います。

はじめに

Oculus公式のインポート方法説明はこちら(日本語あり)にあります。

ポイントは、

  • 「GLB」というデータ
  • ユーザーのOculus homeフォルダにGLBデータを入れるとインポート出来る
  • データ容量は15MB以下
  • テクスチャはJPEGとPNGが使える
  • サイズはメートル法

まず、GLBって何??

GLBはglTFというWebと親和性の高い3DCG仕様のデータデータだそうです。

ほとんどの3DCGソフトは標準でサポートしていないデータなので、プラグインなどを入れる必要があります。

今回は、フリー3DCGソフト「Blender」にgltfエクスポートプラグインがあったのでそれを使います

動画で解説

MMDモデル+PMXエディタでポーズを作る

BlenderでMMDモデルデータのPMXをインポートするとスケルトン(ポーズを付ける用の関節)もインポートできるので、Blenderでポーズを変更することもできるのですが、Blenderが多機能であるがゆえにややこしいのでPMXエディタでポーズを変更します。

今回使用するMMDモデルは、ニコニ立体ちゃんこと「アリシア・ソリッド」です。

3DCGモデルの投稿サイト「ニコニ立体」のマスコットキャラクターで、商用利用可・クレジット表記不要の使い勝手のいいモデルデータです

公式紹介・配布サイト:http://3d.nicovideo.jp/alicia/
データ配布場所:http://3d.nicovideo.jp/works/td14712

このモデルデータは、MMDデータ(PMXデータ)の他に、一般的な3DCGソフトで編集できるFBXデータや、ゲームエンジンUnity用のデータなどあり、至れり尽くせりなのです

でも、公開されているものはMMDデータが多いので、この記事ではMMDデータを変換してOculus Homeにインポートを試みます!

さて、データをダウンロード&解凍して、MMDモデルデータのPMXデータを、フリーソフト「PMXエディタ」で開きます。

データ調整

PMXデータを開くと、「Pmx編集」と「Pmx View」というウィンドウが表示されます

「Pmx編集」はモデルデータを数値などで編集できます。今回ではテクスチャの名前変更(日本語→ローマ字)に使用しました

ニコニ立体ちゃんのテクスチャ名は全てローマ字でしたが、日本語名のテクスチャを使っているものもあるので、その場合はPmx編集で変更(実際のファイル名も変更)しておきます

テクスチャ名が日本語の場合、後々の容量削減の為にObjデータに変換する時などにエラーを起きることがあります

例:他のMMDモデルデータで、Tex(テクスチャ)項目が、もともと日本語のファイル名でしたが、ローマ字表記に変更しています。同様に、Toonやスフィアも変更します

テクスチャの画像データ形式で、今回のOculus homeへのインポートで対応しているのはPNGもしくはJPGです。上記画像の様に、BMPやTGAデータが使われている場合がありますが、GLBデータへインポート時に変換して問題無いときもあります。変換途中でエラーが出る時は手動でPNGかJPGデータに変換しましょう。

ポーズの作成

Pmxエディタで、ポーズを変更するにはPmx Viewの表示メニューの「TransformView」を選択します

すると、一見PmxViewと同じような、右側に項目が表示される画面が出てきます

これでポーズを作っていきます。元のデータを壊さないように、別データで保存を忘れずに

モデルを直接クリックしたり、右の「ボーン」や「表示枠」から動かしたい関節部分を選んで動かしていきます

他のオブジェクトが無い状態でポーズを作るので、結構難しいですね

Blenderや他のソフトが使える方なら、ポーズに合わせたオブジェクトを合っててポーズを作るのでしょうね

ポーズ完成!ソファで眠そうな目をしてくつろぐニコニ立体ちゃんです。表情は仮でアテています

このポーズを保存するには、TransformViewのまま、ファイルの「現在の形状で保存」もしくは「現状の変形状態でモデル形状を更新」を選択します

(※更新する時に「保存/更新時などの頂点モーフの更新」のチェックを外しておくと、モーフ(表情)も更新されます。今回のガイドではモーフはBlenderで設定しています)

「現在の形状で保存」は別データそして保存し「現状の変形状態でモデル形状を更新」は現在のデータにポーズを反映させ保存します。

Blenderでインポート(読み込む)

ポーズが出来たところで、Blenderでインポートの準備をします

無料で高機能な3DCGソフト「Blender」はこちら

Blenderの標準機能では、MMDモデルデータのPmxデータをインポート、とGlbデータのエクスポートは出来ないので、機能を追加します

Pmxインポートアドオンhttps://github.com/sugiany/blender_mmd_tools

「Clone or download」でデータをダウンロードし、「mmd_tools」フォルダをBlenderのアドオンフォルダに移します。

Blenderのアドオンフォルダは、各PCのファイル構造により違うのですが、
C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons などです

gltf 2.0データエクスポートアドオンhttps://github.com/KhronosGroup/glTF-Blender-Exporter

同じく、上のアドレスからアドオンをダウンロードして、glTF-Blender-Exporter-master\scripts\addons\ の「io_scene_gltf2」フォルダをBlenderアドオンフォルダに移します

そして、blenderを起動

初めて起動する場合は、英語表記になっているので、User Preferences(ユーザー環境設定) のSystemでInternational Fontsにチェックを入れ、日本語を選択します

そして、アドオンはアドオン設定で有効にしないと使えないので、ユーザー環境設定の「アドオン」で有効化します

アドオンタブに移動し、検索窓に「gltf」と打ち込むと、候補のアドオンが表示され、チェックを入れると有効化となります

MMDデータインポートアドオンは「mmd」で検索して有効化

「ユーザー設定の保存」で保存をお忘れなく!

ファイル→インポート→MikuMikuDance Model (.pmx, .pmd)から、先程作ったポーズ入りのPmxデータを読み込みます。

読み込むと、灰色の人形が表示されます

初期設置してあるボックスはサイズ調整に使うので、邪魔にならいように横にずらし、表示を「マテリアル」もしくは「レンダー」にすると色など確認できます。ライトも移動させてます。

ライトやオブジェクトの移動など基本操作は省略します。検索や本で調べてね

Blender 3DCG モデリング・マスター
Blender 3DCG モデリング・マスター
オープンソース統合3DCGソフトウェア「Blender」を使用したモデリングのガイドブック。書籍、Kindle版があります。
チェック

このまま、Glbデータにエクスポート(変換)できるのですが、スケルトンなどの膨大なデータが含まれているため、変換に時間がかかるうえにデータ容量が数百Mとなり、15Mには遠く及びません

ですので、不要なものを削除してスリムにしていきます

その前に・・・

モデルサイズ調整

Oculus homeにインポート後にサイズ調整できないので、データ調整時にモデルサイズの調整をします

[追記:
2019年10月頃に、Oculus Home内でオブジェクトのサイズを変更できる機能が追加されました。
Oculusからプレゼントされる物やゲームのリーワードで貰えるものは、サイズ変更できないものがおおいですが、自分でインポートした物はサイズ変更可能です。]

まず、環境(この場合はシーン)でメートル法にします。下図を参考に、右パネルにあるシーンアイコンをクリックし、単位→長さ:メートル法にします

ボックスのサイズを目安サイズになるように寸法を変えます。下図では1.5m(150cm)立方体にしています。その立方体に収まるように、ニコニ立体ちゃんモデルを選択して、左パネルのツール→拡大縮小でモデルサイズを調整します

調整し終わったらボックスは削除。

データのスリム化

これから、スケルトンやボーン・リグなどアニメーションには必要だけど、Oculus homeにインポートする時には必要ないものを削除して15MBになるようにします

下図がスケルトンやリグです。モデルサイズ調整でだいぶずれちゃってます

右パネルの「アリシア・ソリッド」を展開すると、いくつかに枝分かれしています

まず、その中の「joints」「rigidbodies」を削除します。削除方法は、ツリー上で右クリックし「階層を削除」です。ただの「削除」を選ぶとツリーが展開してしまいます

次に、「アリシア・ソリッド_arm」を展開して、アリシア・ソリッド_meshをドラッグしてツリーの上の方に移動させます。「ドロップでペアレント解除」が出た時に離します

「アリシア・ソリッド_mesh」と「アリシア・ソリッド」に別れたら、「アリシア・ソリッド」を「階層を削除」で削除します

次に頂点グループを削除します。下図の様に、上から下へ「頂点グループ」を選択して、逆三角形のアイコンをクリックし、頂点グループの黒い逆三角形マークをクリックして、「全頂点グループを削除」をクリックすると、頂点グループが削除できます。

表情(モーフ、シェイプキー)の変更

ここでPmxエディタで固定しなかった表情を決めます。

表情は、「モーフ」というオブジェクトの変形機能を使っており、Blenderでは「シェイプキー」となっています

先程削除した、頂点グループの下に「シェイプキー」があり、表情などのセットが一覧で並んでいます

各モーフ(シェイプキー)の数字を0から1にするとそれが反映されます。上図では、「あ」と「ウインク」を1にしてます

他のモーフを削除したら容量削減になりますが、使用してるモーフがあるので頂点グループのように「一括削除」はできず、右側にある「-」(マイナスマーク)で一つずつ削除していきます

さてさて、、、

これで大分データ容量を削減できたで、Glbデータにエクスポートしてみると、、、22MBでした。もぉちょい!

ちなみにエクスポートに(私のPCで)1分ぐらいかかります(Blenderが止まっちゃったかなっと思っても待ってみましょう)

ここからのはどうしたらいいか分からず・・・お手上げなのですが・・・・

秘技!!!!を使いますっ!!

それは、「OBJデータに一旦変換してみる」です!

ファイル→エクスポート→Wavefront (.obj)で書き出します

そして、新規画面を開いて、先程エクスポートしたばかりのOBJデータをインポートします

OBJデータをインポート時、テクスチャファイル名が日本語名だとエラーでインポートできません

先程と変わらないかと思いきやっ!おでこの部分にグレーのポリゴンが・・・・・

「前髪の影」が半透明で存在する部分なのですが、半透明が変換できなかったようで不透明で残っちゃいました

要らないので削除します

画面下のモードを「編集モード」にして、不要な部分のポリゴンを右クリックして選択肢、キーボードの「L」ボタンを押すと選択したポリゴンとつながっているポリゴンが選択されて、「Delete」ボタン押し「削除→頂点」で削除!

最後に、モデルに「透過」という要素が入っているので、それを解除します

↓「透過」が入っちゃってるモデル。オブジェクトより後ろに違うオブジェクトがあると透けるってことだと思います(Mixed Reality ビューアで確認)

モデルを選択して、右のパネルで複数あるマテリアルを編集して、「透過」のチェックを全て外していきます

これでようやく完了です!!!

さあ!gltfデータにエクスポートして、Oculus Homeにインポートだ

ファイル→エクスポート→glTF 2.0 (.glb) を選んでエクスポートします

すると・・・容量は1.93MBになってました!めっちゃ減量したーーー

いろいろなものが削減されたんだね。シェイプキーも固定化されて変更できなくなってます

ここで15MB以下になっていない場合は、テクスチャのサイズを2048pxから1024pxに変更すると大分減ると思います

Oculus Homeへインポート

Oculus Homeへインポートする前に、チェックする方法があります

今のWindows10には多分勝手に入ってる「Mixed Realityビューアー」を使います。入ってない方は、リンクのMicrosoft Storeより無料ダウンロードできます。

Mixed RealityビューアーでGlbデータを開き綺麗に表示されていると大丈夫です。Oculus Home内とほぼ同じ表示だそうです

ちなみに他のWindows10に入ってるアプリで開くことも出来ますが、崩壊して表示されるものも多々あります

↓3D Builder :顔が少し崩壊してます・・・

↓ペイント 3D:綺麗に表示されてますね。

↓ペイント 3D:リボンをピンクに塗ってみました。キズナアイちゃんみたい・・・。そのまま保存できますが、別名で保存できなかった・・・(要バックアップ!)

さて、最終チェックが完了したら、Oculus Homeへインポートします

作るのが面倒という方は、こちらからモデルのダウンロードができます>https://vr-game.pw/download/Alicia-solid-chan.glb

Oculus HomeのインポートフォルダにGlbデータをコピー&貼り付けします

フォルダはユーザーフォルダのドキュメントフォルダのOculus Home→_Importフォルダです。
例: C:\Users(ユーザー)\ユーザ名\Documents(ドキュメント)\Oculus Home\_Import

フォルダに貼り付けるだけでOK

そして、Oculus Riftを被ると自動でOculus Homeに行き、左Touchメニューボタンのオブジェクト設置→インポートに先程貼り付けたモデルデータが表示されています

背景がグレーのものが未だインポートされていないもので、背景が白くなっているものはインポート済みで、データを削除しても消えません

モデルを掴んで、お好きなところに並べましょう!

いろいろ遊べそうだわ

これから

私のスキル不足ゆえに上手く修正できなかったところが多々あるので、これを期にさらなる勉強をして改善していきたいと思います

  • 両面テクスチャの裏面テクスチャがインポート後に有効にならず、パンツを覗くとスカートが透ける
  • 半透明のテクスチャオブジェクトがインポート&修正できない

ポスター的なのも作れる!(↑の写真はバスケットゴールの全面にポスターを設置してる)

いろいろ起きまくるとこんな感じにw(2019年11月撮影)

コメント

コメントを投稿する

*

関連記事

あなたにオススメ

新着動画

動画を読み込む

Youtubeチャンネルへ

facebookで新着記事をチェック!
Twitterで新着記事をチェック!