VFXアーティストブログ

VFXアーティストが気になったことを好きに書いていくブログ

textureなしで液晶のピクセルをシェーダーで再現する

こんにちは
12月24日にシェーダーアドベントカレンダーに参加させていただきました

qiita.com

その時はテクスチャーを使い液晶のシェーダーを作成していましたが

せっかくなのでテクスチャーなしで行う方法を書いておきます

大体の原理は前の記事を見てください

kapunn-vfx.hatenablog.com

 

まず最終的なノード画面です

f:id:kapunn:20191230133052j:plain

 

細部を見ていきましょう

この液晶シェーダーで大切な部分はFloodFillのテクスチャーでした

f:id:kapunn:20191215002426j:plain

  • Rチャンネル 0.0 ~ 1.0
  • Gチャンネル 0.0 ~ 1.0
  • Bチャンネル 0.333 ~ 0.333
  • Aチャンネル 1.0 ~ 1.0

この場合Bチャンネルは横に三分割されているので1.0 / 3 で0.333333....となり

Aチャンネルは縦には分割されていないので1.0のままとなります

今回この横3分割のFloodFillをシェーダー内で作成します

 

やり方は以下の手順です

  • UVを横に3回タイリングする
  • BとAチャンネルに数値を入れる
  • 4チャンネルを合体する

FloodFillの作成

Tiling部分の拡大画像です

f:id:kapunn:20191230133728j:plain最初のMultiplyで横だけ3回タイリングさせています
次のMultiplyで全体のタイリング数を決めて
MakeFloat4にBとAチャンネルの値を入れてFloodFillのテクスチャーを作成しています

 

ピクセルマスクの作成

次にピクセル作成の部分です

前半はTilingの部分と似ています

f:id:kapunn:20191230135826j:plain

2番目の赤い枠ないの処理はUVのの原点を中央に移動させています

これではRGBの配置と枠線が一致しません

下の画像のようになってしまいます

f:id:kapunn:20191230141421j:plain

枠線だけUとV方向に0.5移動しています
なのであらかじめ0.5を足して修正しています

 

ラインの太さの調整

 3番目の赤い枠は横のラインの太さを調整しています

もしこれを行わないと下の画像のようになってしまいます 

横のラインが太く縦のラインが細くなっているのがわかるでしょうか?

f:id:kapunn:20191230141818j:plain

 これは前半で横にだけタイリングさせていることが原因です

なので縦にタイリング数と同じ数だけMultiplyします

 

RGBを塗分ける

赤枠内ではタイリングしたUVを3分割して

それぞれRGBチャンネルに入れて色を付けています

f:id:kapunn:20191230185054j:plain

赤枠内を拡大して見てみます

f:id:kapunn:20191230185536j:plain

各SmoothStepでどういったことをしているかというと

f:id:kapunn:20191230185600j:plain

U方向のグラデーションを3分割しています

そしてそれぞれRGBにつないでピクセルの色として合成します

最後に枠線とRGBのピクセルをかけて枠付きのピクセルマスクを作ります

f:id:kapunn:20191230185853j:plain

そしてこれらを合成して完成です!

f:id:kapunn:20191230190622j:plain

 

以上がTextureなしで液晶シェーダーを作成する!でした!

液晶のピクセルをシェーダーで再現する

こんにちは!Ka-punnです!
シェーダーアドベントカレンダーに初めて参加します!
この記事は12月24日クリスマスイブの記事として書かれています!

https://qiita.com/advent-calendar/2019/shader-advent-calender-2019

 前日は7CITさんによる

「マッハで学ぶ VRChat Shader LV5 習得 までのLV別 技術情報まとめ」でした

qiita.com

続きを読む

VFX技術者交流会で登壇してきました

大阪で行われたVFX技術者交流会で登壇してきました

https://atnd.org/events/107534

主にSubstanceDesignerとVFXとの関係についてお話しました

その中で作成したTriangleGeneratorのPixelProcessorについて中身を見てみたいというお声をいただいたので

画像をアップしますー

f:id:kapunn:20190825023129j:plain

PixelProcessor

 

SubstanceDesignerのHistogramSelectをUE4でやってみる

お久しぶりです
最近はいそがしくなかなか更新できませんでした
SubstanceDesignerをVFXでも使えないかと模索しております
そこでSDにある「HistogramSelect」が結構便利で
シェーダー作成にも使えないかなと考えました

そもそも「HistogramSelect」とはどういうものかといいますと

グラデーションのあるポイントを選択してコントラストなどを調整できます

f:id:kapunn:20180823233151g:plain

続きを読む

Osaka Creative Meeting

お久しぶりです
何と先日セミナーに登壇させていただきました

セミナーではUE4を使ったマテリアルエフェクトのお話をさせていただきました

みんなに楽しんでもらえるかとっても不安でしたが

意外とエフェクトっておもしろいという意見を頂いて

やってよかったなと思えた一日でした

 

当日のスライドをアップしておきます

www.slideshare.net

続きを読む