PLATEAUのLOD2のテクスチャとFBXを軽量化してUnityに取り込む

最近巷で話題の PLATEAU ですが、twitter で参考にさせてもらった内容を基に軽量化して Unity で取り込んでみました。
Oculus Qeust 2 で見ていますが、なかなか軽快に見れています。

![Moving.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506075/e0360cb0-8a91-275e-8877-952234b786ed.gif)

# 前提
Name                 | version
---------------------|-----------------------
Windows10            |
Ralpha Image Resizer | 170111
Cinema4D             | R23.11 TRIAL
Unity                | 2021.1.0f1

# テクスチャの軽量化
こちらの情報を参考に実施しています。

https://twitter.com/lileaLab/status/1376897666676748288?s=20

## Ralpha で tif を jpg に変換する方法
1. 起動します。
2. 対象のフォルダをドラッグアンドドロップします。  
![2021-04-02_16h40_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506075/71d6163c-9005-3da9-7012-d18562213311.png)
3. 出力先（①）、フォーマット変換設定（②）を確認し、実行（③）を押します。  
![2021-04-02_16h47_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506075/de5448b8-6218-047e-186a-da112490a27c.png)

## Cinema4D で テクスチャを修正する方法
1. Cinema4D を起動します。
2. ドラッグアンドロップで fbx を読み込みます。ウィンドウが出ますが、設定変更なしでOKを押します。
3. Window -> Project Asset Inspector を選択し、起動します。
4. Status が x になっているものがを選択します（①、キャプチャは ✓ ですが読み替えてください）。複数選択可能で、オレンジ色になります（②）。この状態で、右下の Find に変換前、Replase With に変換後の値を入力し、正しいパスになるようにしてから Replace を押します。  
![2021-04-02_17h29_32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506075/9f8b1cc2-065c-618a-c8a2-7d35ccd6cf0c.png)
5. x が ✓ に変わることを確認します。
6. カメラの位置を変えてテクスチャが設定されていることを確認します。カメラはビューの右上のボタンを押しながら、マウス操作です。左から平行移動、拡大縮小、回転です。  
![2021-04-02_17h38_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506075/1078c32a-4eb8-b925-7da1-a7f68c80f04a.png)
7. fbx でエクスポートします。設定項目は必要に応じてON/OFFしてください。2枚目のキャプチャに一例を載せておきます。マシンスペックや読み込んだ fbx によりますが、10分以上かかることもあります。  
![2021-04-02_17h39_29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506075/5761c2c5-901c-6411-ee87-5b1d4767ccfc.png)
![2021-04-02_17h39_50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506075/17eb7e13-cc88-c646-3afd-e25248709e03.png)

# FBX の軽量化
こちらの情報を基に実施しています。

https://zenn.dev/fumo/articles/7cad6c25dd99b7

## Unity で取り込みます
1. Assets 配下に Editor フォルダを作ります。
2. Editor 配下に `MeshOptimizerWindow.cs` を作り、[PLATEAUのFBXを軽量化する](https://zenn.dev/fumo/articles/7cad6c25dd99b7) からコピペでコードを持ってきて保存します。
3. Ralpha と Cinema4D で準備したテクスチャとfbxをUnityにドラッグアンドドロップで持ってきます。マシンスペックによりますがこれも時間がかかります。
4. Project から Inspector にドラッグアンドドロップして、シーンに配置します。確認するときに原点(0, 0, 0)からだいぶ離れた位置(100, 0, 200) とかにある可能性があるので注意して下さい。また向きがあっていないときは、x軸で -90 設定してみてください。  
![2021-04-02_18h29_39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506075/c09272a9-9c92-7fc5-9623-53b7e0e6298b.png)
5. 実寸サイズにしたい場合は、fbx の Inspector から Scale Factor を 100 にして Apply します。  
![2021-04-02_18h30_56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506075/8aab552c-77b5-468e-5bb2-51da5dbcc17f.png)
6. Window -> PLATEAU Mesh Optimizer を起動します。
7. Hierarchy 上のオブジェクトをドラッグアンドドロップで PLATEAU Mesh Optimizer にセットして、変換を押します。  
![2021-04-02_18h37_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506075/8d8b8cb2-9358-9e2e-c074-eb1f4e5344ba.png)
8. 元々のオブジェクトは削除します。Project 上の fbx も削除しても大丈夫です。テクスチャは使用しているので削除できません。 

### 参考
* モデルによってなのか、うまく削減できないものもありました。調査不足で原因がわかっていないません。何かわかり次第追記します。