見出し画像

カッパちゃん3Dモデルのグッズ化計画(2)~Unity導入~

■おさらい

グッズ用原稿を作る手段として(1)で調べた
【メタセコでポージングしたモデルをxファイル出力(サイズ小さくする)→MMDでxファイルをアクセサリとして読み込む→静止画出力】
という方法が今現在出来る事でした!
まずはこれでテストグッズを作ることもできますが、出来れば試作品はある程度メドがたってからにしたい・・・

――よし。次の手段やってみよう!ヽ(^o^)丿

ということで。
【メタセコからmqoファイル出力→Unity呼び込み】
というのをやってみようと思います。

・・・で。
Unity導入含めノウハウを公開してくれてる方はいないかな~?とネット検索!!・・・したのですが、見当たりません(;´∀`)

・MMDモデルをUnityへ
・VroidモデルをUnityへ
・blenderモデルをUnityへ
・3Dモデル(MMDモデル、Vroidモデル等)をVRChatの為にUnityからアップロードする方法


この4種類は見かけるんですが、肝心のメタセコからのノウハウが書かれてない(;´∀`)
どうしましょうかね~・・・私は性格上、導入マニュアルを見ながらやりたい性格なのです・・・。
上の4つの中でMMDから、Vroidからの2つはすぐにでも出来るっちゃ出来るんですよね。どちらも自作モデルがあるので。
ので、もしかしてその辺からUnity導入をしてみて、メタセコデータを持って行くテストはその後・・・というのが良いのかも!というのが現在です。
とりあえずこの2つをちょっと見直してみます。

■MMDからUnityへ

UnityはFBX形式でボーンの入ったキャラクターモデルを読み込むことが出来ます。
MMDモデルは【PMX形式】です。
そこで方法としてはモデルをPMX形式からFBX形式に変換するか、UnityでPMX形式を呼び込めるようにするか――となりますね。
ネット検索で見つけた方法は2つ。

1、「MMD4Mecanim」をUnityプロジェクトにインポートしPMX形式を読みこめるようにする
2、PMX形式モデルを、blenderを経由しFBX形式に変換してからUnityに読みこむ

――blenderは持ってないので、ここは1番になりますね('ω')ノ

■VroidからUnityへ

UnityはFBX形式でボーンの入ったキャラクターモデルを読み込むことが出来ます。
Vroidは【VRM形式】です。
そこで方法としてはモデルをVRM形式からFBX形式に変換するか、UnityでVRM形式を呼び込めるようにするか――となります。
私が検索で見つけた方法は2つ。

1、「UniVRM」というパッケージをUnityプロジェクトにインポートしVRM形式を読みこめるようにする
2、VRM形式モデルを、blenderを経由しFBX形式に変換してからUnityに読みこむ

■本日の作業

なんかもう、blenderやってたらめっちゃ楽だったんじゃん?!て思いながら・・・でもバージョンとか色々調べてないのでまだ導入はしたくない!
なのでMMDからもVroidからも、変換でやるしかない。
なので上でリンクした2つの頁を参照してやるしかないのですが・・・

どっちも 「Unity導入済を前提として解説されてる」 んです!(;゚Д゚)

いやいやいや・・・Unity導入を含めて知りたいんだーーー(´;ω;`)
ぐだぐだしながらあちこちの頁を渡り歩き(1)で見つけていたこちらの記事で手が止まりました。
こちらは【FBX形式モデルをVRChatで使う為Unityからアップロードする方法】を解説した記事なのですが・・・

――その中に、Unity導入の仕方があった!!

うおお°˖☆◝(⁰▿⁰)◜☆˖°
こちらを参考にさせて頂こうと思います!ありがとうございます!
(★★★実はこちら、古いバージョンのUnityだったのでUIが違いその通りにはいきませんでした~!★★★)

■テストで使用するモデル

上のUnity導入を解説下さってる方の頁にて、ニコニ立体ちゃん(アリシア・ソリッド)が表記不要・商用OK、そしてモデルデータが
「MMD, FBX(+MAX), Unity Packageデータ」
「VRMモデルデータ」

・・・と複数用意されフリー配布されてる事を知りました。
MMDのPMX形式、VroidのVRM形式を試すことが出来るし、そもそも変換する必要が無いUnity用のFBX形式も入っている訳です。
凄いわ( ゚Д゚)!

ということは、このモデルをお借りしておくと以下のテストが出来る!

①Unity用FBX形式モデルをUnityに呼び出す
②MMDのPMX形式モデルをFBX形式に変換しUnityに呼び出す
③VroidのVRM形式モデルをFBX形式に変換しUnityに呼び出す

――おお~(; ・`д・´)
てことは、なんならPMX形式モデルをPMXエディタで10倍サイズのMQO形式にすればメタセコデータになる訳で・・・

④メタセコのMQO形式モデルをUnityに呼び出す

――のテストも出来るんじゃん?!
同じモデルを使うことで不具合とかもわかりやすい!
よし! Unityテストにはニコニコ立体ちゃんを使おう(∩´∀`)∩ワーイ
(★★★結論から言うと・・・ニコニコ立体ちゃんは使えませんでした!★★★)


■Unityの導入やってみる

では作業いってみよー(≧▽≦)
順番にいくよ~!

まず、Unityには有料版と、無料版の【Personal】があるのですが、今回は無料版を導入します( ゚Д゚)ノ
メモ(1)でも書いたけど、無料版を使う条件があるのでそこは注意!
(事前にUnityを使用しての収入は無いので今回はOKだね~)

【導入の手順】

Unityの導入解説はネット検索すると沢山見つける事は出来るのだけど、古いバージョンの記事だったりで、見ながらやったものの結構変わっててアタフタしました(;゚Д゚)
私が参考にしたのは下のリンクですが、一番下のが現時点では最も分かりやすいかもしれません!(見つけたのが導入後でしたw)

<手順>
1、公式サイトに行き、アカウント登録をする

上のリンクが公式です。そこに行って、右上の●アイコンを押し、選択肢の上を押すとUnity IDの登録頁に飛びます。

Unityにアカウントを作るんですが英語だよ!!!(;゚Д゚)
下のサイトで詳しく解説してくれてるよ・・・見つけたの終わった後だけどw

登録は指定欄にメールアドレス、パスワード等を入れるのですが、私は面倒だったのでGoogleアカウントからの連携でやりましたw

2、Windows用Unityインストーラー「UnityHubSetup.exe」をDL→インストールする
サイトの「はじめる」を押す

個人向けの「Personal」の「はじめる」を押す

Windows用ダウンロードを押すと、

インストーラーの「UnityHubSetup.exe」がDLされたら、クリックし、ライセンスに同意してインストールする。
 ※Unity HubはUnity本体ではなく、Unityのバージョンを管理したりDLするツール。Unity本体とHub両方使うとのこと!

サイトの案内では「Unity Hub導入」→「バージョン選択」→「プロジェクト開始」―――してね!ということらしいんだが、この時点では何がなにやら(;゚Д゚)
↓案内の頁

3、Unity Hubを起動し、Unity本体をインストールする
デスクトップにアイコンが出来てるのでそれを起動。インストールタブの「エディターインストール」を押す

(この画像はDL後に撮影してるので既に2021が表示されてますw)

Unity本体のバージョン一覧が出るので、その中から選んでインストールする。今回選んだのは―――

・2021.3.7f1

―――です。
※Unityはバージョンによって色々あるらしく全部DLして持ってても良いらしい。ただしPCは重くなるとのことw
※画面では見えないけど一番下に【2022.1.11f1】てのもあったんだけど、一番上にあったし2021のにした( ゚Д゚) 良くわからんw この時見てた解説と手順が違ってアタフタしすぎてて画像も撮影し忘れるしなにやらわからんw

4、モジュールを加える
すまん画像が無いwww
確かDLした2021の横に歯車があってそれ押したらモジュール追加があったと思う。んで、インストールに加える内容を選択するウィンドウが出たような・・・( ゚Д゚)???

んで、私が選んだのは以下です(ていうかよくわからんのでチェックのあったそのままと、日本語選んだw)

・Microsoft Visual Studio Community2019
・WebGL Build Support(ウェブブラウザゲームを作る場合)
・言語パック日本語
・ドキュメントDocumentation(マニュアルだが恐らく英語)

―――んでどうやら「Microsoft Visual Studio Community2019」が失敗して入ってなかったらしいがまぁそれはとりあえずとして。

(;゚Д゚) Unity本体とモジュールでダウンロードに30分かかったよ!!

んで、後から調べて知ったんだが・・・
Unityで何をしたいかによって、ここで選ぶ物が違うらしい!Σ( ゚Д゚)

例えばウェブブラウザゲームを作るなら「WebGL Build Support」(私が入れたのはコレだなw)、Android用ゲームを作るなら「Android Build Support」、VRChatのアバターをアップロードをするのだけが目的であれば「言語パック日本語」だけでいいかもとか・・・

まぁ、後からDL出来るのでいいんだけどね・・・Unityで何が出来るかイマイチわかってない私みたいなのはとりあえず本体と日本語だけ入れればいいんじゃないかなぁ( ゚Д゚)
んで、DLの後インストールされて、デスクトップにUnity本体とUnity Hubのアイコン2つが出る。
・・・最初この意味がわからんくてなwww
Hubがバージョン管理ソフトって知ってやっと納得しました( ゚Д゚)ノ

<余談1>
モジュール何入れたか確認したいとか、追加したい、本体をアンインストールしたいって時はUnity本体の横の花?歯車?みたいなのを押す

モジュール確認したい&追加したい場合は「モジュールを加える」を選ぶ。
本体のアンインストールをしたい場合は「アンインストール」。

モジュールを加える、を選んだ場合、インストール済みが確認出来る。
追加したいモジュールがあったら左の□にチェックを入れて「インストール」を押すと、DLしてインストールしてくれる(そしてまた時間がかかるw)

<余談2>
「Microsoft Visual Studio Community2019」がどうやらちゃんとインストール出来て無かったみたいなので入れ直してみた!
なんかこんなウィンドウが出て―――

こんなのが出たけど多分コレ、インストーラーだわ。Unity Hubみたいなヤツだね・・・
んで、なんか途中までやってるから今回は「変更」って選んだ。

なんか項目色々あって「なんじゃこりゃ(;゚Д゚)」て、確か最初の時もなってよくわからんままDLしたんだけど、終わってないまま落としたらしいねwww

今回は「Unityによるゲーム開発」にチェックを入れてDLしてみた。
一応解説があるか検索したらこちらのリンクを発見。

インストールしてるんだけど、これ・・・使うのかな???わからん(;゚Д゚)
導入案内には入れる項目に入ってたんだけどねぇ~・・・

――と、ここまででやっとUnity導入完了ヽ(^o^)丿
道のりが長い!!
解説が違ってアタフタして凄い時間かかりました(+_+)


■Unityの日本語化(途中まで)

Unityは英語なのですが、インストールする時に「日本語」を選んだからか、起動ウィンドウは日本語表記です( ゚Д゚)ノ

ホッと一安心したのもつかの間・・・実はこの先に進めて作業用ウィンドウが出ると英語なんですよ(;゚Д゚)
下のリンク先を伺うに、どうやら日本語化の手順を踏まないとダメらしいです。

しかしDLしないといけない日本語化パックが見つからない(;゚Д゚)
なので、作業ウィンドウは英語のまま進めております・・・( ノД`)シクシク…
 ※完全に日本語化はメモ(5)にて!


■Unityにニコニコ立体FBXモデルを読み込んでみる(失敗)

先述したニコニコ立体ちゃんにはUnity用のFBX形式モデルが入っていました。それをまず読み込んでみたいと思います!
参考にするのはこちら(↓)。プロジェクトのバックアップ方法ものっていました!覚えておかねば(;゚Д゚)

1、Unity Hubを起動し、プロジェクトタブの「新しいプロジェクト」を押す

まず、プロジェクトっていうのは、例えばゲームを作るならそのゲームを作る作業場です。1つのプロジェクト内でゲームを作り上げてくってことらしいです。
だからゲームならゲームタイトルとかになるそうです( ゚Д゚)ノ

あ、Unity本体をインストールしたのに、なぜ本体で無くUnity Hubを起動したかといいますと・・・
勿論Unity本体を起動してプロジェクトを作れるんですよ。で、その作ったプロジェクトはUnity Hubからも作業出来るのです。ていうかUnity本体のバージョン違いで色々作っても全部Unity Hubからなら一括して羅列させて管理出来るという事らしいです。
なのでUnity Hubを起動して作業してやるみたい('ω')ノ
・・・て、実はよくわかってないんですけどねまだwww

2、テンプレートを選び、プロジェクト名入力、保存先選択、「プロジェクトを作成」を押す

今回は3Dモデルを読み込むので「3D」にしました。
名前は「ニコ立体01」。テストでもいいんですがとりあえず( ゚Д゚)ノ

先のリンクによると、テンプレートの種類は以下(引用)とのこと。

・2D > 2Dゲーム用
・3D > 3Dゲーム用
・3D With Extras > 機能付き3D(レンダリング知識があるなら)
・High-Definition RP > ハイエンド向け3D(PS4やPC用)
・Lightweight RP > 軽量化向け3D(モバイルやウェブブラウザ用)
・VR Lightweight RP > VR用

https://dkrevel.com/makegame-beginner/unity-hub/

3、3Dプロジェクトのウィンドウを起動する
・・・のに、5~10分かかりますwww
なんかクルクルしてるな~・・・って画面見てたら

Unityロゴが出て、プロジェクトを開こうとしてくれてるんですが・・・これが長い長いwww
いや、うちのパソコンさんスペックの問題だろうと思いますw

10分して、プロジェクトのウィンドウが立ち上がりました(≧▽≦)
これがプロジェクトの作業ウィンドウです!

・・・ハイ!英語です!
日本語化したらここも日本語になるらしいんですが、とりあえず英語のまますすめます。

■ニコニコ立体FXBモデルを読み込む

参考にするのはこちらの解説です( ゚Д゚)ノ

本来、VRChatにニコニコ立体FBXモデルを持って行く手順なのですが、Unityに読みこむ方法は同じなのでここを見て作業をしたのです・・・が・・・失敗しました(´;ω;`)ウッ…
どうダメだったかの記録となります~

1、Assets(アセット)フォルダの中に、モデルを入れるフォルダを作る

Assets右の欄で「右クリック→Create→Folder」、フォルダ名は「3dmodel」にしました( ゚Д゚)ノ

フォルダ名間違えたら、右クリックで「リネーム」があるよ!(めっちゃ間違えまくったよw)

2、作った「3dmodel」フォルダを開き、中に「Textuers」フォルダを作り、その中にモデルのテクスチャーを全部入れる

テクスチャフォルダを作るんですねオッケ( ゚Д゚)ノ
ということで、ニコニコ立体FBXのフォルダを確認。FBXと一緒にテクスチャ画あるのですが・・・tga形式とPSD形式がある(;゚Д゚)
え?!フォトショデータ入れてくれてるんだ!親切ぅ~!

・・・と、思ったのですけどね。んまぁ、そういう事では無かった模様・・・(´・ω・`)
まぁとりあえず続けます。FBX以外のデータを全部ドラッグ&ドロップで「Textuers」フォルダにいれました。
・・・うん、まぁ同じテクスチャが2枚ずつ並ぶよね!そりゃそうだ。

3、FBX形式モデルを「3dmodel」内に読みこむ
1つ階層戻って、テクスチャフォルダと並ぶところに直接FBX形式モデルをドラッグ&ドロップしてくる

なんか四角いBOXがでたな~と思ったら

モデルのシルエットが表示されました。
―――おかしいのです(;´∀`) ここで、テクスチャが割り当てられたモデルの絵が表示されないとおかしいのです・・・参照しているサイトではそうなのです・・・

モデルをクリックすると、右側に色々情報が出まして、その中のマテリアルのタグを見るとテクスチャが全部不明になっておりますw

4、モデルをスクリーンに置く
FBXモデルをドラッグ&ドロップでスクリーンに持って行きます。
本来ならテクスチャが割り当てられたモデルが表示されるのですが、やっぱり真っ白ですねwww

解説下さっている方のUnityはバージョンが古い様なので、それが原因かな?と思い他の方の解説を参照。
テクスチャフォルダは作らずFBXモデルをフォルダにそのまま入れて、後からテクスチャを読み込む方法などもあり色々試しました。

どれを試してみても、プロジェクトを作り直して何度やり直してみても、全然ダメなんですね~(;´∀`)

色々いじってみましたが、tgaじゃなくてフォトショのpsdが割り当てられるし(;´∀`)
psd消してやってもやっぱり駄目だし・・・

テクスチャが反映されない、真っ白、で検索してその解決方法もやってみたりしたんですよ・・・

―――全部ダメでした(´・ω・`)ショボン

ダメな原因は、ニコニコ立体ちゃんモデルかもしれません。
2015年制作のモデルなんですよねぇ・・・( ゚Д゚)
Unityが新しくなって色々とシステムが変わっている様なのですね。
検索していると、blenderからFXBモデルをエクスポートしてそれをUnityに読みこんでも真っ白になる場合があるそうです。
あちこち検索してみましたが解決策は見つからず。ニコニコ立体ちゃんでのテストは失敗に終わりました(´;ω;`)ウッ…

■メタセコmqo形式モデルを読み込んでみる

メモ(1)で書いたとおり、ネット上にはメタセコmqo形式モデルがUnityにそのまま読みこめるとありました。メタセコでUnity用のヒューマノイド構造ボーンも入れられるし、その方法を試してみる事にしました!

ボーンを入れるのはとりあえず置いといて、テストでmqo形式モデルを入れてみよう!と、D&Dしてみました。

ハイ!モデルとして認識してくれませんwwwwwww
ダメじゃん!全然ダメじゃーーーーーん(;´∀`)


■今回の結論

メタセコデータはUnityにもっていけない(; ・`д・´)

ということは、「blender経由してFBXモデルにする」という方法しか無いということです_:(´ཀ`」 ∠):_

テストとしては他に
・UnityにVroidのVRM形式モデルを読みこむ「UniVRM」パッケージを入れて、Vroidを読み込んでみる
・UnityにMMDのPMX形式モデルを読み込む「MMD4Mecanim」パッケージを入れて、MMDモデルをよみこむ
―――というのを予定していましたが、それよりもまずはblender導入だなって事になりました(;´Д`)
blenderでモデリングするとかは置いといて、まずは「メタセコのモデルをblender経由でFBXモデルにする」ところからでしょうか・・・

次は、blender導入を調べたいと思います(;゚Д゚)
この(2)を作業して、このnote書くのに3日かかってるんですけどね!blenderは何日かかるかなぁ・・・遠い目(´・ω・`)