アークのプログラミングメモ

主にUnityの記事を書いていきます。

VRoid Studioで作ったモデルをHDRPに持っていく

VRoidStudioで作ったモデルをUnityのHDRPに持っていこうとしたらいくつかつまづいたため、記事にしてみました。

 

まず、VRoid Studioを使ってモデルを作ります。

作るのが面倒という方は、VRoid Hubを使って誰かが作ったモデルをDLして使うのもありです。

studio.vroid.com

hub.vroid.com

次に、UnityでTemplateでHDRPを指定して、新しくプロジェクトを作ります。

f:id:Yamagisi:20190303213910p:plain

そしたらこのままではVRMは入れることはできないので、VRMファイルを良い感じにしてUnityで使えるようにしてくれるUniVRMというものを使います。

github.com

f:id:Yamagisi:20190303214310p:plain

一番新しそうな奴を選んでDLし、先ほど作ったプロジェクトにインポートしましょう。

 

インポートが終わったら、次はVRoidStudioで作ったモデルをプロジェクトにインポートします。ドラック&ドロップで簡単にインポートすることができます。

次にそのモデルをHierarchyにドラック&ドロップして、そのままSceneビューでFを押すと、そのモデルの場所までカメラが勝手に移動してくれます。

 

そうするとピンク色のモデルとご対面することになります。

 

f:id:Yamagisi:20190303214744p:plain

これを直すためには、シェーダーを変える必要があります。

Projectウインドウから"(作ったモデルの名前).Materials"みたいなフォルダがあるはずなので、それを開きます。

f:id:Yamagisi:20190303215556p:plain

文字が隠れて見えなくても、下のほうを見ると名前がわかるので、すぐわかると思います。

f:id:Yamagisi:20190303215741p:plain

↑そうすると、こんな感じになってます

f:id:Yamagisi:20190303215946p:plain

右上のShaderと書いてある所の右のボタンをクリックすると、シェーダー一覧が出るので、HDRPと書かれてあるものを探し、カーソルを合わせます。

そうすると9つほど名前が出てくると思うので、その中からLitを選びます。

f:id:Yamagisi:20190303220343p:plain

そうするとこうなると思います。次にテクスチャをBaseMapに入れていきます。

BaseMapという文字の左側にある丸い奴を押すと、テクスチャ一覧が出てくるので、該当するテクスチャを選んでいきます。

恐らく大体なんとなくわかるかもしれませんが、確実な方法を書きます。

どのウインドウでもいいのですが、鍵のアイコンと▼と三が並んでいる所があります。

その三をクリックし、AddTabにカーソルを合わせ、Projectを選択します。

f:id:Yamagisi:20190303221129p:plain

そうするとこういう風になるので、次にどちらかのタブをドラックし、右半分にドロップします。

f:id:Yamagisi:20190303221401p:plain

そうするとこうなるので、今度はどちらかのタブで先ほどMaterialsを探したときと同じ要領で、(作ったモデルの名前).Texturesを探し、開きます。

そして、その右上の鍵アイコンをクリックし、ロックします。

もう片方のタブで、(作ったモデルの名前).Materialsを開き、こちらもロックします。

 

f:id:Yamagisi:20190303221836p:plain

そうすると、こんな感じになっているはずです。

あとはもう簡単です。

f:id:Yamagisi:20190303222042p:plain

Materialsのほうのファイルをクリックし、Texttureと書いてあるところの下の画像をクリックすると、

f:id:Yamagisi:20190303222316p:plain

こんな風に該当するファイルの名前が黄色くポップアップされるので、それを覚えておき、シェーダーをHDRP/Litに変更し、BaseMapの左に該当していたファイルをドラック&ドロップするだけです。

f:id:Yamagisi:20190303222851p:plain

これで終わり...ではなく、恐らく目のあたりがこうなっているんじゃないかなと思います。これはAlpha Clippingという項目にチェックを入れると直ると思います。

f:id:Yamagisi:20190303223242p:plain

f:id:Yamagisi:20190303224203p:plain

ただ、一部白い余白が無駄にあったりするところがあるので、そういう所はAlphaClipping以下の項目の、Thresholdの値を調節するといい感じになると思います。

EyeHilghlightあたりは1にするのがいいのかなと思います。

Alpha Clippingにチェックを入れなくても、SurfaceTypeをTransparentにすれば解決するんですが、書いてる途中でなんかうまくいかなくなってしまった(具体的には毛が消えた)ので、次はそっちのほうも書こうと思います。