Poly Worldでいろんなモデルをローポリにしてみる

ちょっと遊んでみたかったので今回は<a href="https://www.assetstore.unity3d.com/jp/#!/content/27424" target="_blank">PolyWorld</a>を。幾つか種類あったけど、こちらの方を購入してみた。
ちなみにUnityのバージョンは5.3.5

##インポートしたところはこんな感じ
![スクリーンショット 2016-08-11 23.36.21.png](https://qiita-image-store.s3.amazonaws.com/0/46444/013b664f-b88f-cdac-f577-b1d7541d4c15.png)

###デモの画面
![スクリーンショット 2016-08-11 23.46.08.png](https://qiita-image-store.s3.amazonaws.com/0/46444/78f381b9-7582-511b-1171-702ba0aa0c10.png)


##では早速
早速まずはモデルをローポリにしてみます
まずは簡単なので・・・この箱を
![スクリーンショット 2016-08-11 23.52.13.png](https://qiita-image-store.s3.amazonaws.com/0/46444/241b82ea-c247-4264-c521-048ba92844fc.png)

window->Quantum Theory->PolyWOrld Mesh Converterを選択。
そしてオブエジェクトを選ぶと
![スクリーンショット 2016-08-11 23.49.50.png](https://qiita-image-store.s3.amazonaws.com/0/46444/54a3361e-bb6d-e4f5-0dc0-740a6648b2a9.png)

こんな感じになるのでExport Folderを選択して、
レッツゴー！
![スクリーンショット 2016-08-11 23.50.04.png](https://qiita-image-store.s3.amazonaws.com/0/46444/7102dd78-df09-8dcf-9947-1b3d8454c12a.png)

すると、選択したフォルダにできました。
頂点カラーで色つけているのでテクスチャはないです。
なのでシェーダーはこのアセットのになります。
![スクリーンショット 2016-08-11 23.54.32.png](https://qiita-image-store.s3.amazonaws.com/0/46444/0f2a3a2d-731f-a95c-8ba6-0e2788cfd49e.png)

出来上がりはこれw
![スクリーンショット 2016-08-11 23.54.36.png](https://qiita-image-store.s3.amazonaws.com/0/46444/a9c07651-e454-fcd3-8536-7bf8942f8329.png)

ちょっとこれじゃちょっとね・・・
ちなみに、もともとのモデルのシェーダーがmainTextureとかカラーを持っていないやつになっていると
エラーになるようです。その場合、StandardShaderなどにかえてあげればうまくいきました。

##もうちょっと複雑なので
マテリアルが複数設定されているものやメッシュが分かれているものなども問題なくできました。
![スクリーンショット 2016-08-12 00.41.42.png](https://qiita-image-store.s3.amazonaws.com/0/46444/c87f06ce-871e-094a-241a-d01fc958addf.png)

また、左のボウガンは下のメッシュと、ボウガンの部分のメッシュが分かれていて回転できるようになっているのですが、
そこもしっかり分かれたままローポリになってます。
![スクリーンショット 2016-08-12 00.41.47.png](https://qiita-image-store.s3.amazonaws.com/0/46444/b20be09f-335c-1544-a363-e8bae7df5b68.png)

##キャラクターを試す。
こちらキャラクターなど動くものにも対応しているようなので試してみる。
なお、ブレンドシェイプは対応していないとのこと

そんなわけでキャラクター。
結果！目も一緒のテクスチャだと目がなくなる！
![PolyWorld.gif](https://qiita-image-store.s3.amazonaws.com/0/46444/2054b3ac-ba7b-1e65-aade-5b9232779441.gif)

目がちゃんと別メッシュなどになっていればちゃんと目が残る。
これ使う場合はこの辺考慮しないとですね。目が小さいとなくなっちゃう。
![PolyWorld2.gif](https://qiita-image-store.s3.amazonaws.com/0/46444/bc522ac1-399c-2858-dbe6-830da7a36c2e.gif)

##次は地形
とりあえずこれをやってみよう。
![スクリーンショット 2016-08-12 01.06.19.png](https://qiita-image-store.s3.amazonaws.com/0/46444/a86ae32e-8c7b-37c1-695b-3a5d031b6f5b.png)

やりかたはこれのterrainを選択して、QT_Poly World Terrainをアタッチ。
Material To Applyのマテリアルを設定して、UpdateAllを選択。
![スクリーンショット 2016-08-12 01.08.20.png](https://qiita-image-store.s3.amazonaws.com/0/46444/09a2dd1a-8fe6-c4bc-3315-3e4cd2a93226.png)

なんかサイズでかいよ4000あるよ的なダイアログでた気がしたけど、いけるっしょ？などと軽い気持ちでYesとして後悔する
ちゃんと黄色でMeshed Generated 4096とか書いてあるよね・・・。
<img width="418" alt="スクリーンショット 2016-08-12 09.54.42.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/3a7a8ff7-cc44-a4b5-e952-6fa93d00866e.png">


あ、これ時間かかるやつだ・・・。もうちょっと荒いのにすればよかった・・・。
![PolyWorld3.gif](https://qiita-image-store.s3.amazonaws.com/0/46444/6ed0cf54-82d1-d613-7bf6-80b32b316cc4.gif)

今更止めるともアレだし一旦ほっておくことにする。

30分以上かかったのかなできたのがこちら。もっと荒くてよかったね。
<img width="578" alt="スクリーンショット 2016-08-12 09.51.04.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/a4bcbf39-d4c0-fef8-1dd2-5720af7a9ed3.png">

ヒエラルキー上はすごいことに、1タイルずつ1オブジェクトになってる。
<img width="100" alt="スクリーンショット 2016-08-12 09.50.09.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/6d13e140-68c8-0837-008b-bea92af4248f.png">

だけど1枚ずつLodが設定されているのでカメラが遠くなると描画されない
この辺の設定もできるし、Lod使わないこともできる。
<img width="503" alt="スクリーンショット 2016-08-12 09.51.37.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/7fc65383-853b-d1d7-6ad7-7753b6568a2c.png">

設定されているLod
<img width="379" alt="スクリーンショット 2016-08-12 09.51.42.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/d61ccc8a-116b-8b6e-de9b-b64e6eaff42d.png">


###では気を取り直して
Chunk Size Choiceを4まであげる。
<img width="355" alt="スクリーンショット 2016-08-12 10.18.49.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/a2b02739-4135-fee7-292a-af2aef2ce203.png">

今回はだいぶ早く出来ました。一つはこれくらいのサイズ。
<img width="493" alt="スクリーンショット 2016-08-12 10.22.01.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/fafddbf1-5d30-d6e5-73df-5536971c9b7f.png">


##次は水
手っ取り早くやるならここのprefabを使うと早い。
<img width="211" alt="スクリーンショット 2016-08-12 12.05.53.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/bb01a2c1-514b-a023-6521-a474287e8ff0.png">

シーンに配置して
WaterPlane10x10を二つ並べてみました。
<img width="660" alt="スクリーンショット 2016-08-12 12.10.06.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/8cad6415-212f-ba2d-9849-5251589d8618.png">

この二つのオブジェクトの上にからの親オブジェクトを作成。
そこにQT_Surface Noiseをアタッチ。
<img width="164" alt="スクリーンショット 2016-08-12 12.10.16.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/5f2d905d-51fb-b861-0bfb-b4b1331e9d42.png">

<img width="376" alt="スクリーンショット 2016-08-12 12.10.36.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/e46d0725-86d7-0a1d-f409-e87cdc8f1fd6.png">

あとはパラメーターをいじってあげるだけでwaveします。
![PolyWater.gif](https://qiita-image-store.s3.amazonaws.com/0/46444/0b63cba3-adab-e211-a92c-b010319ceecf.gif)


![PolyWater2.gif](https://qiita-image-store.s3.amazonaws.com/0/46444/a42bb8da-d74f-fda2-a7a8-3a40514464a0.gif)

また、この水のマテリアルのshaderをこれにしてあげるをキューブマップでの反射にも対応します。
<img width="500" alt="スクリーンショット 2016-08-12 12.35.26.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/42c4029d-125f-d933-cc70-66915c347edc.png">
こんな感じに設定して
<img width="385" alt="スクリーンショット 2016-08-12 12.37.29.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/c7f71584-a2f4-e9c7-2d8d-71b936bb9f21.png">

こんな見え方に
<img width="593" alt="スクリーンショット 2016-08-12 12.37.25.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/2a90222e-1dec-001f-2bd9-a1fa50ebdd5b.png">
こんなのとか
<img width="556" alt="スクリーンショット 2016-08-12 12.37.11.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/0adde8d7-e0f5-6e75-2f9f-8bc7718785f9.png">

よし、今回はここまで。
最後に・・・わかってはいたけど・・・顔・・・・
<img width="523" alt="スクリーンショット 2016-08-12 12.46.50.png" src="https://qiita-image-store.s3.amazonaws.com/0/46444/ba6efffc-a7fb-7fd7-d226-b8ba0ce7160e.png">