ウーパの手習い

私的開発メモ用途なのでご容赦ください。2020年現在はSwiftとUnityでARのお勉強中。

Unityアセットレビュー:House Furniture Pack

f:id:uuupacom:20180511223636p:plain

私はUnity上でリアルなインテリア空間を作ることに憧れていて、先輩方のブログ記事やYouTubeのTips動画などを参考にしてきましたが、上手くリアル表現できているUnityAssetを購入して、そのファイル構成や設定方法を覗いて学習してみようと思い立ち、AssetStoreで綺麗かつ評判も良いアセットを探してみました。

いくつか購入したのですが、今回調査していくのは House Furniture Pack という有料アセットです。

アセットをインポートして中身を拝見していきます。

マテリアル・テクスチャについて

マテリアルは、BedやFireplaceのように、1つのオブジェクトに対して1つのマテリアルを用いるタイプもあれば、Curtains_HouseやBedroom_Closetsのように(マテリアル名が複数形で判別できる)、複数のオブジェクトのマテリアルを1つのマテリアルで対応させているタイプもある。マテリアルを無駄なく用いるノウハウを理解されている作者さんだと分かります。

f:id:uuupacom:20180511203928g:plain

テクスチャは、Albedo, Metallic, Normal, Occlusionの4種類のものが多いが、Emissionを使っていたり、逆にAlbedoのみのマテリアルのものもあり、無駄がない。全てStandardシェーダーを使用している

あれ?と思ったのが、カーペットのタイリングパターン。

f:id:uuupacom:20180511212239p:plain

という、左上が模様の角になっているテクスチャを使って

f:id:uuupacom:20180511212319p:plain

というオブジェクトになっているのだけど、普通のタイリングでは、こういう風にはタイリングできないと思うので、UVマップが設定されているんだろうなと推測してますが、UV情報を持っている持っていないってUnity上のどこで判別するんだっけかな?

なお、テクスチャはTGA形式。オブジェクトのサイズ感に応じて1024pxと2048pxが用いられています。カーペットのみ512pxでした。

オブジェクト・メッシュについて

オブジェクト(Prefab)のインスペクタは全Prefab共通で以下の通り。
Generate Lightmap UVsはONなのか~。UVが重なってたり、タイリングしているオブジェクトでもない場合でもONにしているのが、私の認識と違ってるなぁ。
※UVの重なりがなく、タイリングもしていない場合はoffでいいのだと私は思っているので。

f:id:uuupacom:20180511205548p:plain

カーテンがペラペラのメッシュに思えるのですが、ちゃんと両面ポリゴン表示されています。普通のStandardシェーダーで両面ポリゴンに見せる設定項目ってUnity上にあるのかな?要調査です。

f:id:uuupacom:20180511213050p:plain

カーテンのメッシュ。やはりペラペラに見えるが両面表示されている。以前私はBlenderで両面ポリゴン書き出ししてもUnity上では片面に変換されていたので、どうやって実現しているのかわからなかった。厚みがないだけで裏表別のポリゴンなんだろうか? 

シーン上に配置したオブジェクトのMesh Renderer設定。Light Probesが非アクティブになっている。Projectパネル内のPrefabの時は Light Probesはアクティブで Blend Probes が選択されているのに、シーン上では非アクティブになっている理由が良く分からない。

f:id:uuupacom:20180511215552p:plain

下図のキッチン台6つにおいて、選択(オレンジ輪郭)している台はLight ProbesはOffなのに、真ん中の2台のみ Blend Probes 設定されていて謎は深まる。そういわれると真ん中2台は何となく天板が暗い。

f:id:uuupacom:20180511220130p:plain

f:id:uuupacom:20180511202518p:plain

コライダー(緑色の線)は、負荷の高いMesh Colliderではなく、ちゃんとBox Colliderで構成されていました


シーン・ライティングについて

この家具アセットシリーズは、同じパブリッシャーが販売している Suburb Neighborhood House Pack (家&周辺環境パック)に配置するための家具として作られており、コピペしやすいように配置とライティングが整った状態のシーンが本アセットには含まれています。

f:id:uuupacom:20180511221932p:plain

つまり床・壁・天井とかはこのアセットには付いていないです。AssetStoreのサムネだけ見ると全部入っていると勘違いするかもしれないのでご注意を

このシーンファイルを見ていくことにします。

まずはLighting設定

f:id:uuupacom:20180511222004p:plain

 Unityのデフォルトライティングと比べて、

・Lightmap Resolution が30と低め。デフォルトは40

・Lightmap Padding が10と多め。

でした。それぞれの値が変更できないように非アクティブになっているのはどうやるのか&どういう意図なのか私には分かりません。

この状態で私が新たにベイクしてみます。

下がアセット提供時のシーン(ベイク前)の状態

f:id:uuupacom:20180511222809p:plain

 こちらが私がベイクした後

f:id:uuupacom:20180511222933p:plain

なぜか一部のオブジェクトでオレンジっぽさがなくなってしまいました。
クローズアップで見たときの質感は綺麗に見えるので、Lightmap Resolution が30で想定されているようですね。私なんかATL広尾の再現作業時は80にして長時間ベイクしてましたが…。

その他:Readmeファイルより

AutoSnapというスクリプトが同梱されていて、Ctrl+Lでグリッドオプションを開き、家具の配置をグリッドにスナップさせることができるようになっています。

テクスチャはTextures.comのものを利用しているとのこと。当然再配布禁止です。

感想

やはり実際に家に配置したライティング状態を見てみないと分からない部分も多いです。Suburb Neighborhood House Pack の方も購入していますので、次回はそちらも調査していこうと思います。

Link: House Furniture Pack