* セルシェード [#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] |