原神のキャラの3dモデルをunityで使用する方法(備忘録)

## 原神のキャラをUnityで使う
原神のキャラをUnityで使おうとしたら，思ってたよりいろいろと面倒だったのでそのときのメモ．
モデルの色が白くなったり，目に生気がなかったり，pmxからfbxへの変換がうまくできなかったりした．
この辺でつまった人がいたら参考になるかも．
よく画面の一部だけの切り抜いたもので説明されてるけど，自分が初心者すぎてどこかわからなくなるので，基本的に全画面キャプチャして図示する．
自分自身初心者なので，Unity初心者でもわかるように記述しているつもりです．
Unity のバージョンは 2019.4.4f1, 2020.3.12f1で動作確認済み

# 目次
[1. 原神のキャラの3Dモデルをダウンロードする](#原神のキャラの3dモデルをダウンロードする)
[2.Unity内でpmxをfbxに変換する準備](#unity内でpmxをfbxに変換する準備)
[3.Unity内にダウンロードしたpmx形式のモデルを読み込む](#unity内にダウンロードしたpmx形式のモデルを読み込む)
[4. どうせだから躍らせてみる](#どうせだから躍らせてみる)
[参考サイト等一覧](#参考サイト等一覧)

# 原神のキャラの3Dモデルをダウンロードする
[配布ページ](http://ys.biligame.com/gczj/?spm_id_from=333.788.b_636f6d6d656e74.10)からダウンロードする
ページの下の方にあってわかりづらいが，模型下載というところがあるのでそこからダウンロードできる．
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/e9c27ec6-bafd-76cc-e8ba-35ca290b6cba.png)

([日本のサイト](https://genshin.mihoyo.com/ja/news/detail/5885)だとテクスチャの参照がうまくできないので[中国のサイト](http://ys.biligame.com/gczj/?spm_id_from=333.788.b_636f6d6d656e74.10)からダウンロードしたほうがよさそう．解凍は[Bandzip](https://softaro.net/bandizip/)をつかうと文字化けとかの問題がうまくいくらしい．詳しくはわからない．微妙に紛らわしいが，広告にでてくる7z等と間違えないように注意）[Yahoo!知恵袋参照](https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11232629806)
最初に言ってた色が白くなったり，生気がなくなったりするのは中国のサイトからダウンロードすることで解決できた．
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/deb3021b-ebf6-ac54-e490-256805215f63.png)
左が解決したやつ，右がそのままのやつ，真ん中がマテリアルとか指定したやつ．真ん中のは光とか影がなんかできてない感じ


# Unity内でpmxをfbxに変換する準備
まずはじめにつまづいたのがモデルの.pmxという形式．このあたりは[こちらのサイト](https://subculanime.com/%E3%80%90%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%82%AD%E3%83%A3%E3%83%A9%E3%82%AF%E3%82%BF%E3%83%BC%E3%80%91unity%E3%81%A7mmd%E3%80%90%E6%8E%A8%E3%81%97%E5%8F%AC%E5%96%9A%E3%80%91/1247/)を参考にした.
そのままだとunityでは使えないらしいので，unity内でpmxからfbxに変換してくれる[MMD4Mecanim](https://stereoarts.jp/)というスクリプトファイルを使う．サイトを少し下にスクロールするとMMD4Mecanim_Beta_20201105.zipというファイルをダウンロードする場所があるので，ダウンロードして解凍する．
解凍したらUnityを起動し，解凍したフォルダ内のMMD4Mecanim.unitypackageを実行する．
unity内で何やら実行されるのでImportを選択．
Asset下にMMD4Mecanimというフォルダが生成されてれば多分成功してる．
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/1cd7b525-55af-c29b-e2b5-edc5bc67b9d7.png)
Blendarで変換する方法とか，変換してくれるサイトにアップロードする方法とかあったけど，色がうまくできなかったのでやめた．この辺も中国のサイトからダウンロードすることで解決するのかも．

# Unity内にダウンロードしたpmx形式のモデルを読み込む
読み込むといってもAssets下にドラッグ&ドロップするだけ
さっきのMMD4Mecanimがうまく動いてれば，pmxをみつけると自動的に変換するやつができる．
![qiita.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/d2e70772-f6cd-b1d0-4c01-df1b98267543.jpeg)
利用規約とか諸々にチェックして同意する
![qiita2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/8dedf3b2-e2b0-bc52-89a3-97e25ef102d0.jpeg)
processを押すとfbx形式に変換してくれる．成功するとほかのテキストファイルとかとは違ってモデルの形っぽいアイコンのものができる(fbx形式になってる)
![qiita3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/e76f94fc-99f6-86b9-b681-a193b7d830d5.jpeg)
上にドラッグ&ドロップで配置してみる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/5d50c257-2443-4c5b-0b03-812cffe1f4d5.png)
あとは自由に使える

# どうせだから躍らせてみる
pmxというとなんか躍らせてるイメージがあるので躍らせてみる
vmdファイルを一緒に読み込むと躍らせられるらしい
vmdファイルは曲名スペースvmdで検索すると作ってくれてる人がいるかも
今回は[恋愛サーキュレーション](https://bowlroll.net/file/4458)でやってみる
さっきfbxに変換するときの処理で，一緒にvmdファイルを指定して実行する.
![4qiita.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/3a049143-5398-9d81-e5d2-1734918463f5.jpeg)
うまくいくと後ろに腕を組むようになるっぽい．ちなみに，恋愛サーキュレーションだと，プチ以外のはうまくいかなかった．理由は不明．
次に蛍(主人公，中国語で女主角？)にadd componentからanimatorを追加する
![5qiita.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/f04b506c-6938-b4ce-5d5d-09ee44314966.jpeg)
左下あたりの蛍とかのフォルダ(わかりやすいところ)で右クリックして，Animator Controllerを作成する．今回はDanceControllerという名前で作成．
![qiita6.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/feb4c661-eee8-140f-051b-bae8c8560f96.jpeg)
これをさっき作成した蛍のAnimatorのControllerに指定する．具体的には左上で蛍のモデルを選択して，DanceControllerをAnimatorのControllerへドラッグ&ドロップする
![7qiita.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/e2332c92-e2da-0127-2ae3-477b18741c7b.jpeg)
次にDanceControllerをダブルクリックして，Animationの設定をする．モデルの再生ボタンみたいなのを押すと隠れてたパーツみたいなのがでてくるので，その中の三角みたいなアイコンのやつをドラッグ&ドロップする．
![qiita8.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/947442/02e2b23d-a02a-fb94-3829-7f971c43a163.jpeg)
これでPlayボタンを押すと踊ってくれる
<iframe width="560" height="315" src="https://www.youtube.com/embed/ikgj4O-QeOA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

以降，追加，更新するかも
走るアニメーションとか作って，動きに合わせて再生できるようにしたい．
少しやってみたけどこれはかなりやばい作業になりそうなのでやるか微妙．

# 参考サイト等一覧
[Yahoo!知恵袋](https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11232629806)
[【デスクトップキャラクター】UnityでMMD【推し召喚】](https://subculanime.com/%E3%80%90%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%82%AD%E3%83%A3%E3%83%A9%E3%82%AF%E3%82%BF%E3%83%BC%E3%80%91unity%E3%81%A7mmd%E3%80%90%E6%8E%A8%E3%81%97%E5%8F%AC%E5%96%9A%E3%80%91/1247/)
[中国のモデル配布ページ](http://ys.biligame.com/gczj/?spm_id_from=333.788.b_636f6d6d656e74.10)
[MMD4Mecanim](https://stereoarts.jp/)