5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

シェーダーで一方ではなく左右両方に歪ませる方法

5
Last updated at Posted at 2026-04-01

UnrealEngine 5.54
unity 6000.3.9f1

はじめに

シェーダーで歪みをつける際、一方向ではなく左右両方に歪ませる方法です。
今回はUnrealEngineとUnityでのやり方を紹介します。

左右両方に歪ませるとは?

↓ 普通のディストーションをつけると、一方向にのみ歪みがかかってしまいます。
一方向.gif

↓ これを左右両方向に曲げる方法を今回は紹介します。
両方向.gif

どういう時に使うのか

↓こういった雷の歪み等に使う

設定方法

UnrealEngine

まずはUnrealEngineから。
基本的なディストーションは下記のようになると思う。
これだと一方向にしかディストーションがかからない。
2026-04-01_15h14_32.png

左右両方向にディストーションをかけたい時は下記のようにする。
やってることとしては、clamp を繋いでテクスチャの数値を0~1の範囲に収めた後、addで0.5を引くことでテクスチャの数値の範囲を-0.5~0.5にしている。
そうすることで左右両方向にディストーションがかかるようになる。
2026-04-01_15h15_39.png

拡大
2026-04-01_15h26_01.png

Unity

次にShaderGraphでの作り方を紹介。
基本的なディストーションは下記のようになると思う。
これだと一方向にしかディストーションがかからない。
2026-04-01_16h20_20.png

左右両方向にディストーションをかけたい時は下記のようにする。
やってることとしては、clamp を繋いでテクスチャの数値を0~1の範囲に収めた後、remapでテクスチャの数値の範囲を-0.5~0.5にしている。
そうすることで左右両方向にディストーションがかかるようになる。
やっている処理はUEと変わらない。
2026-04-01_16h20_58.png

拡大
2026-04-01_16h21_14.png

ついでに、雷シェーダーを解説

ついでにこの雷エフェクトに使用している雷シェーダーを紹介していきます。

blend differenceノードを使うのがミソです!!!

全体図
2026-04-01_17h15_20.png

differenceはこんな感じの結果が出る
E8OnBMCUYAA47hs.png

dist tex
2026-04-01_17h19_32.png

main tex
2026-04-01_17h20_08.png

gradient
2026-04-01_17h19_58.png

contrast
2026-04-01_17h20_26.png

おわりに

「絶対使わないだろ」と思う機能を実装するのが好きです。

↓ ちなみにCervaさんという方がよくシェーダーの発信しています。

5
3
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
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?