あっぷあっぷブログ

UnrealEngine(ゲーム用途)関連の備忘録です。

【UE5/Log】Enhanced Inputのエラー

エラーログ

LogOutputDevice: Error: === Handled ensure: ===
LogOutputDevice: Error: Ensure condition failed: CurrentValue.GetValueType() != EInputActionValueType::Boolean  [File:D:\build\++UE5\Sync\Engine\Plugins\EnhancedInput\Source\EnhancedInput\Private\InputModifiers.cpp] [Line: 42] 
LogOutputDevice: Error: Scale modifier doesn't support boolean values.

InputActionのValueTypeと関係ないModifiersが設定されていたたためこのエラーがでているようです。

InputActionの設定


InputActionのValueTypeがBool値

InputMappingContextの設定


Bool値とは関係ないModifiersが設定されていました。

【UE5/Log】'PlayerController'ターゲットとして有効なプレイヤーコントローラーを想定しています

エラー内容

PIE: Error: SetInputMode_UIOnlyは、'PlayerController'ターゲットとして有効なプレイヤーコントローラーを想定しています

原因

Widget内のPre ConstructイベントでSet Input Mode UI Onlyノードを使用し、PlayerControllerを参照しようとしていたことが原因。

【UE5/Material】Distortion の学習

学習するメリット

UV座標をずらすことへの理解が深まる。映像が乱れる際のグリッチノイズなどにも使えそう。

仕組み

ノイズテクスチャをUVスクロールさせた値を、対象のUVに加算することで、UV座標がずれて歪み効果が生まれるようです。

参考動画

www.youtube.com

動画の要点(Glaspアドオンで自動で要点書き出し)

  1. このチュートリアルの目的は、歪みシェーダーを作成し、表面の外観を歪ませ、変調し、遊ぶシェーダーのテクニックを紹介することである。
  2. 基本的なシェーダーは、テクスチャサンプルとテクスチャ座標が組み合わさっており、UV座標の操作方法を学ぶことが重要である。
  3. UV座標を操作するために、加算や乗算などの数学的な操作を行い、時間を導入してテクスチャ座標をスクロールさせる方法を示している。
  4. ノイズテクスチャを使用してUV座標をピクセルごとに異なる量でオフセットし、テクスチャの歪み効果を生み出す手法を解説している。
  5. 最終的には、歪みエフェクトの繰り返しパターンを避けるために、異なる速度と方向でスクロールする2つのテクスチャを組み合わせ、リアルな水の波紋効果を作り出している。

なぜ歪むのか

UV座標の加算を理解している必要があります。
白黒のノイズテクスチャをUVスクロールさせれば、0~1の値が行ったり来たりします。
ノイズテクスチャをUVスクロールさせた値を対象のUVに加算させた際、加算された値が1に近いほど元の位置からずれ(歪み)、0に近いほど元のUV座標の位置に近づきます。ずれたり元の位置に戻ったりを繰り返すことでぐにゃぐにゃ歪む動きが作れます。

Distortion使用例

www.youtube.com

【UE5/Material】Vertex Interpolator メモ

参考

www.unrealdirective.com

カスタマイズされた UV 機能と同様に、頂点補間ノードはピクセル シェーダーから頂点シェーダーに命令をオフロードします。ただし、対応するノードとは異なり、すぐに利用できるノードであるため、より柔軟です。

www.youtube.com

Vertex Interpolator

ピクセルごとの計算が頂点ごとの計算になる。
ピクセルシェーダーよりも頂点シェーダーの方が処理が軽いので、より高速化できる。(頂点数がピクセル数より少ないことが前提)

ハイポリモデルの場合、高速化されない場合がある。
メッシュを遠くから見た場合も、ピクセル数より頂点数が上回ることがある。

LodやNaniteに注意。
頂点数が変化する場合に何が起きるか確認しておく。
頂点ごとに実行するので、ピクセルシェーダーに比べて、精細さに欠ける。
グラデーションや模様などはクオリティが下がってしまう。
単色などは影響が少ない。

使用例

Per Instance Custom Dataノードと一緒に使用されている。