ケロ3進捗:あっ、PBR+ライトマップすごいね
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

ケロ3進捗:あっ、PBR+ライトマップすごいね

2015-09-08 17:42
    ケロリン町3.0の進捗です。

    土台と道路は、原点付近のエリアだけでもまとまった形をしているから、このエリアを先に公開することになるでしょう。これだけでもかなり疲れた…


    ぐるっと一周してる道の内側には家や店を並べて、
    道の外は壁のようなビル群で囲う感じにするつもりです。たぶんケロリン町1.0に近いデザインになるかと思います。
    そのさらに外の部分は、また次の機会ということで。外周ビルを取っ払ってから建て増します。ケロリン町1.0→2.0と同じ拡張方式ですね。




    中央の用水路?の中には入れます。





    さるお方からの提案で、家などの照明にライトを付けることにしました。
    Unityのライトマップを試してみます。
    窓とか街灯に一つ一つポイントライトを並べます。家モデルのライトマップUVオンにしてー、staticにしてー、ライトをbakeにしてー



    綺麗に光るなあー!
    PBRの設定がやっと活かされた。きれいな陰影が生成されました。今で手で描いたテクスチャだけで陰影を表現してた苦労が何だったのかという。
    ちなみに窓にはエミッターテクスチャを作ってありまして、ライトがなくてもAutoLuminousみたいに擬似的に光らせれます(全部の窓が光っちゃうけど…)

    自分用メモ:
    ●ライトを設定・調整するには、まずシーンを夜にする必要があります。昼だと明るくてよくわからないから
    DirectionalLightを非表示にすると自動的に夜(夕方)になりますが、より正確に作るなら、スカイマップをアセットストアから入手するのがいいでしょう。
    今回使ったのはSKY5X。ライティングの設定()も説明してあったので、より正確に夜の設定ができました。

    StaticとBakedです。
    これで静的=固定された光源と物体の陰影が計算されて表示、ぱっと見だけリアルだけど、処理が軽くて使い勝手がいい背景として使えます。
    (EmissionもBakedにするといいのかな?)
    キャラモデルが中を動きまわった時に、動いてるものにも正確に光が映り込みたい場合は、Mixedにすると汎用性は上がりますが、常時計算するからライトの数だけ重くなる、と

    ●ライトは主にポイントライトですが、照明の中に埋め込んだら光がふさがれるだけなので、発光すべき場所から少し外にずれたとこで光らせないといけません(面に密接してると色が白飛びするので、ほんとに離す必要がある)面光源もないので、窓は擬似的な光りかたになります。
    つまり、影の位置が微妙にずれるわけです。
    違和感がある場合は、シャドウを大きくぼかすか、それでもアレならシャドウをオフに。
    ↓例えば二階のバルコニー、手すりが放射状に影を落として光の位置がおかしいのがばれそうだったので、影をかなりぼかしてます。

    Bounce IntensityとBaked Shadow Radiusが影をぼかす項目らしいです


    ●ライトマップは、要はシーン全体をレンダリングして陰影を作ってる訳でして、光源が増えるほど計算が遅くなります。Unityを再起動したりライトやオブジェクトをいじったり他のシーンで使っても、再計算されてしまいます。その間、画面が真っ黒になったりして不便です。
    町丸ごとの規模だとどうなるかはお察しなわけですが…
    使い勝手をよくするにはWindow>Lightingから設定をいじります。

    1AnbientGIをBakedに AOが綺麗に出るそうです
    2Precumputed Realtime GIをOFF エミッターがライトマップとして光ります
    3Baked Resolusionを半分以下に下げる ライトマップの解像度が減り、計算が早くなります
    4Directional ModeをNone-Directionalに ノーマルマップを画像に変換してくれるらしいです
    5Autoをoffに 一番下のチェックボックス。Bakedボタンを押すと再計算

    3と5だけでも、計算の頻度と待ち時間は減りました。


    くわしくはテラシュールブログを参考にしました。http://tsubakit1.hateblo.jp/entry/2015/09/07/012439

    ●生成されたライトマップのテクスチャは、シーンと同名のフォルダが生成されてその中に格納されます。これをjpgやpngに変換できればー、たとえばPMXでも使えるってことですかね?(ん、ライトマップ用のサブUVはどこに?)

    ●昼マップの場合は当然ライトがじゃまになるわけですが、ライトの名前を統一(例えば頭にnl_とつける)することで、名前検索で一度にまとめて選択、Inspectorから非表示にできます。

    ↑左上に小さく検索ワードが見えるでしょうか。ライトを全選択したのち、右上のInspectorの真下のチェックをoffにすると非表示になります。
    かゆいところに手が届くってこういうことですね♪

    ●そういえば、3D-coatで作ったMetalness+Roughnessテクスチャですが、Unityでそのまま使うと不自然にテカテカしすぎてしまいました。
    画像編集ソフトでMetalness+Roughnessテクスチャを開き、透明度を下げて保存すると、Metalnessを下げることができます。
    透明度50-70%程度で、3DcoatでのPBRプレビューと
    同じぐらいの質感になるでしょう。

    さて、Unity向けにはこれでいいけど、このビジュアルをMMDに持ち込むには?どうやるのか、はてさて

    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。