LoginSignup
1
0

More than 3 years have passed since last update.

UE4によるunlit芸のすすめ

Last updated at Posted at 2019-12-02

前書き

  • unlit芸という言葉はこの記事を書いた時点では存在しないようです・・・本職はもっとやばいんだろうなあ
  • UE4はデフォルトでフォトリアリスティック用の設定が有効になっているので解除します。
    • 本題とずれるため備考に記載します。

目次

  • 実装概要
  • アンビエントと偽ディフューズの比率を決定
  • 偽ディフューズの実装
  • normalマップの実装
  • matcapマップの追加
  • cubeマップの追加

実装概要

まず今回実装するシェーダーの大まかな式を示します。

color = lerp((アンビエントx + 偽ディフューズ(1-x) + matcap),cube,y)

アンビエントと偽ディフューズの比率を決定

合計を1にしたらベース色とぶれなくなります。変数で影のかけ具合を変更出来ます。

偽ディフューズの実装

偽ディフューズ = pow(dot(法線,カメラ方向),ベース色のHSVのV*8+2)*ベース色
常にカメラから見て角度が90°のところが暗くなるタイプのなんちゃってシェーディングです

色が0.1,0,0の場合
image.png

色が1,1,1の場合
image.png

normalマップの実装

normalマップをいい感じにしてくれる関数があるのでそのまま利用します。(normalmapMltは凹凸の具合の調整用)
image.png

matcapマップの追加

普通にmatcapです。
image.png
このソースは以下のアセットに同梱されてます(爆)
https://www.unrealengine.com/marketplace/ja/slug/knobby-s-matcaps?lang=ja

cubeマップの追加

こんな感じですが補正で20%程縮めています
image.png

実装サンプル

https://twitter.com/vak_DJregion/status/1195453585904943104
steamでプレイできるのでよろしくね(ダイマ)

備考

  • 露光を無効にする おそらくこれで補正がかからなくなるはず(シーン全体なので残した方が良さそうだが) エディタ限定だったらごめん image.png
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0