トゥーン以外の
Non-Photorealistic Rendering (NPR)
始めませんか?
2020/8/21 - cluster.unity #3�Shanon (@___shanon)
誰?
Shanon (@___shanon)�株式会社クリーチャーズ / プログラマ
Maya (Python / C++) でツール書いたり�Unity (C#) でグラフィックス周りのことしたり�10月から無職になります
アジェンダ
Non-Photorealistic Rendering (NPR) とは
Photoreal�写真のようにリアル、写実的である
Non-Photoreal
Photoreal を目指さない残り全ての表現
Toon Shading とは
Standard�現実に寄せた陰影付け
Toon Shading
アニメーション作品のような陰影付け
パターンのマッピング
何かしらの座標を使ってパターンをマッピングできる
UV座標以外でもいいし、テクスチャでなくてもいい
パターンのマッピング
拡散反射の強さ(NdotL)と組み合わせることで�陰影になる部分のみにパターンをマッピングできる
パターンのマッピング
Hatching�陰影を平行な線で埋める�ことで表現する
Pattern Texture
タイリング可能に�加工しておく
パターンのマッピング
Halftoning�陰影の強度に応じて�描画する円の閾値を変更する
円のもとになるUV
Screen 座標を加工する
パターンのマッピング
Dithering�Halftone の一種
特殊なパターンによる二値化
Mask Texture
Screen 座標をもとに�ドット単位で敷き詰める
マッピングと座標系
UV 座標�モデルのスケールに�影響を受けてしまう
Screen 座標
均一にパターンを�マッピングできる
マッピングと座標系
UV 座標�モデルのスケールに�影響を受けてしまう
Screen 座標
均一にパターンを�マッピングできる
マッピングと座標系
Screen 座標�カメラが動くと当然�座標と模様が付いてくる
Sphere Mapping
カメラを中心に�球面状に座標を生成する
マッピングと座標系
Sphere Mapping
カメラを中心に�球面状に座標を生成する
球面座標
カメラの回転は無視する(カメラ前方をφ=0にしない)�normalize(v.worldpos - world_camerapos)
の球面座標を求め、 φ と θ を UV として使う
Wikipedia - 球面座標系
CC BY-SA 4.0 Attribution to 'Andeggs'
マッピングと座標系
Screen 座標�カメラ中心に回転した�場合と大きく変わらない
Sphere Mapping
回り込むカメラワークの�場合に違和感が大きい
まとめ
参考資料