* セルシェード [#q04f5914]

色々作業中。試したこと考えたことメモ。
----

#contents

* 参考 [#s774fd54]

- UE4でToonシェード 
wiki内: ポストプロセス-マテリアル-Toonシェード

- Unreal Engine Forum : ノンフォトリアルやセルルック等の独特なレンダリングを! 
https://forums.unrealengine.com/showthread.php?49796-%E3%83%8E%E3%83%B3%E3%83%95%E3%82%A9%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%84%E3%82%BB%E3%83%AB%E3%83%AB%E3%83%83%E3%82%AF%E7%AD%89%E3%81%AE%E7%8B%AC%E7%89%B9%E3%81%AA%E3%83%AC%E3%83%B3%E3%83%80%E3%83%AA%E3%83%B3%E3%82%B0%E3%82%92%EF%BC%81


- Unreal Engine Forum : Advanced Cel Shader Pack [Submitted] 
https://forums.unrealengine.com/showthread.php?44471-Advanced-Cel-Shader-Pack-Submitted


* UE4でセルシェードをするための問題点 [#xe89d905]
** ライティング [#y822d7a3]
*** シェーディングどうする問題 [#q83ae138]
- UE4ではライティングが内部的に行われ、ユーザーがフックする事ができない。
なので従来のようにライティング計算時にシェーディングを弄る事が出来ない。
のでポストプロセスでシェーディング結果から、ライティング値を逆算する手法で試している。
[[シモダさんのサンプルを参考>https://forums.unrealengine.com/showthread.php?49796-%E3%83%8E%E3%83%B3%E3%83%95%E3%82%A9%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%84%E3%82%BB%E3%83%AB%E3%83%AB%E3%83%83%E3%82%AF%E7%AD%89%E3%81%AE%E7%8B%AC%E7%89%B9%E3%81%AA%E3%83%AC%E3%83%B3%E3%83%80%E3%83%AA%E3%83%B3%E3%82%B0%E3%82%92%EF%BC%81]]
 &ref(ue4-cellshade01.png,,40%);

- 「SceneTexture」の「BaseColor」、「SceneColor」を使用すると陰影が出てしまう。
なので、基本色には「DiffuseColor」を使用して、上記ライティング逆算結果から影を付けている。

- もしライト1灯だけ、というなら全マテリアルを「Unlit」にしてポストプロセスで自前計算してもいいかもしない。

*** エミッシブ出ない問題 [#gf4b2c40]
- 上記シェーディングで、「DiffuseColor」を使用してしまうと、今度はエミッシブが適用できずBloomを炊けない。

- 他にアルファを使用しない縛りであれば、エミッシブを炊くのはTranslucentにしてしまえば適用できるというトリックでいけるかもしれない。

*** 女優ライト問題 [#vf8618e5]
- UE4では、ライトを特定のモデルにだけ適用する、といった事が出来ない。
セルシェードのみならずキャラクター物で良く使用される女優ライトが適用できない。
自前でどうにかするしかない。


* W.I.P. [#xa9882a1]

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS