προφε 2020/08/30 21:43

きょだいむすめしみゅれーたver2.0はVRMインポーターを付ける予定

8月になってから暑いですね。今年はこの暑さでセミが死んでるらしく、例年自宅周辺ではヒグラシが鳴く時期にもかかわらず夜は無音の日々が続いています。使い方違うけど、マジやばくね( *`ω´)


さて、仕事の方が色々と忙しくて創作の報告が全然できていませんでしたが、この場で簡単にしたいと思います。今回は巨大娘の方です。


タイトルにも書きましたが、「きょだいむすめしみゅれーたver.2.0」(ガン○ラみたいだなw)にはVRMインポーターを実装するつもりです。…つもりです、というか既にYoutubeに動画をアップしたとおりVRMインポーター自体は簡単に実装できました。ただし、それはあくまで自分の環境のみの話なので、この記事を見てくださった方でもしお時間がある方は「VRMインポーターTEST」の機能テストをしていただけたら幸いです( ̄∇ ̄)

https://www.youtube.com/watch?v=hXZF9qZuLAg

test0829.zip (60.82MB)

ダウンロード

現段階では建物は破壊できません。今回はあくまでお手元のVRMが使えるかどうかのテストですのでご容赦ください。



機能は最小限の物しか組み込んでません。移動と巨大化・縮小化しかできません。ちなみに巨大化は(「”Left Bracket")で、縮小化は(」”Right Bracket”)でできます。



ファイルをダウンロードしたのち、ファイルの中にある「VRM_Importer_Test」が実行ソフトになります。VRMファイルをインポートする際にはゲーム画面上のボタンを押したあとダイアログが表示されますので、そこからお手元にある「.vrm(file)」をPC上のドライブから選択します。仮にこの画面が表示されない場合は今回実装したOpenFileDialogがうまく機能していないので報告していただけると幸いです。


また「選択したけどVRMモデルが表示されない」場合は以下の理由が考えられます。

①VRMロードに時間がかかっている場合がある
→通常5秒以下でロードされると思いますが、しばらく待ってみてください。

②VRMファイルの不具合があるかも
→マテリアル関係でモデルが表示されない場合がありました。VRM用のマテリアルかどうか確認してください。

③自分の知らないバグ等。
→お手上げです。構成環境など情報ください。



(なお、他人が製作したVRMモデルの利用にあたっては著作権を遵守してください。)

*以降はver2.0についてのお話。

ver1.0ではとりあえず昨年の続きという形でゲームを製作してきましたが、ver2.0ではゲームというよりもアプリ寄りの汎用性に富んだ機能を追加したいと考えていました。目指す形はMMDのような汎用性です。その第一歩として重要になるのが「自分の好きなキャラクターを使えるようにする」ことにあることは間違いないでしょう。


ただ今まではそれを実装する手段がまるでわかりませんでした( ^∀^)。というのも、ググりかたが悪かったのか「Unityで自作キャラを使用する」みたいに調べると十中八九FBXの入れ替えしか出てこないんですよね。いや違うんだ、俺がしたいのはそうじゃない!


じゃあアレか、Modか。…という感じでググっても40点くらいの回答しか検索結果に出てきません。そもそも、世の中で自前のキャラを直接使用するゲームなんてあまり見ないよな?やっぱりないのか?等々。そんな感じで6月以降Unityでオリジナルキャラを使う方法を色々と調べていましたが、8月になってようやく実装方法が掴めてきました。それが「VRMインポーター」でした。


Unityでよく使われるキャラクターモデルはFBXファイルと呼ばれているものです。これは割と昔から存在するもので、Unityで使う場合は結構調整が必要になるものでした。例えばUnityにインポートしたらMecanimをhumanoidにしてTポーズにしたり、ボーンを調整したりと、やることは結構あったりします(VRMがないわけじゃないけど)。


初期はFBXをランタイムでインポートしてゲームに導入する方法を模索していました。後々知ったのですが、どうやらTtrilibというアセットを使用するとできるようです(他にも)。ただ有料だったのと結構機能的に制約が出てきそうだったのでこちらは見送りました。


そして次に行き着いたのがUnityモデルをVRMにしてしまえばいんじゃね?という方法でした。VRMファイルとはご存知VRCなどにも使われるモデルのことで、2018年にドワンゴが発表した規格のモデルです。モデルそのものが汎用性を目的として作られているようで、近年pmxやpmdから乗り換える人も多いみたいですね。


話を戻して、UnityでVRMを使う方法は非常に簡単です。VRM用のアセットをダウンロードすればすぐにUnityに組み込めてしまいます。おまけにVRMファイルを作ってしまえば、後はモデル作成後にUnity側で修正する箇所はほぼほぼありませんでした。すごい♪( ´▽`)


おまけにVRM用のスクリプトを書けばランタイムでインポートすることも可能でした。VRMのインポートには「VRMImporter.LoadFromPath」を使うことでファイルパスからモデルをインポートすることができ、ローカル環境からファイルを選択する機能は「OpenFileDialog」を使用することで実装できました。こっちの方はネット上で沢山の記事もあるのでわかりやすかったですね。


VRMファイルをインポートしたら、予めscene上に配置しておいたコントローラーにモデルを貼り付けて完成…というのが今回の流れになります。これでひとまずは第一の目標はクリアできそうです。



******************************


さて、今回はとりあえずこの辺でおわりにいたします。完成までは時間がかかると思いますが気長に待っていただけると幸いです。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

記事のタグから探す

月別アーカイブ

記事を検索