[UE5.3.2]PostProcess Material で夕焼けを動的に変更したい。Dynamic Materialのように変更したいけどうまくいかないのでMaterialParameterCollectionで解決

MaterialParameterCollectionのファイル作って

ポストプロセスマテリアルの中身で参照させて

Set Vector param 呼び出すだけ

変更したいけどうまくいかないの状態

https://forums.unrealengine.com/t/change-post-process-material/448103/9

で解決の状態

https://dev.epicgames.com/documentation/en-us/unreal-engine/using-material-parameter-collections-in-unreal-engine?application_version=5.1

スラスラわかるC++で、実行するとエラー4_5 g++ -o list4_5.exe list4_5.cpp でコンパイルすると undefined reference to `getBmi(double, double)’ collect2.exe: error: ld returned 1 exit status

スラスラC++で、実行するとエラー

C:\samples\chapter04\4_5>cd C:\samples\chapter04\4_5\ 
C:\samples\chapter04\4_5>g++ -o list4_5.exe list4_5.cpp 
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: 
C:\Users\furcr\AppData\Local\Temp\ccs3yFYU.o:list4_5.cpp:(.text+0x72): 
undefined reference to `getBmi(double, double)' collect2.exe: error:
 ld returned 1 exit status

解決方法

chapter4.h

// BMIを求める関数のプロトタイプ宣言
double getBmi(double height, double weight);

getBmi.cpp

double getBmi(double height, double weight) {
  double bmi;	// BMIの計算結果を入れる

  // cm単位をm単位にする
  height /= 100;

  // BMIを計算する
  bmi = weight / height / height;

  // 戻り値としてBMIを返す
  return bmi;
}

list4_5.cpp

#include <iostream>
using namespace std;
#include "chapter4.h"

int main() {
  double height;	// 身長
  double weight;	// 体重
  double bmi;		// BMI

  // キー入力をheightに格納する
  cout << "身長(cm)を入力してください:";
  cin >> height;

  // キー入力をweightに格納する
  cout << "体重(kg)を入力してください:";
  cin >> weight;

  // 身長と体重からBMIを計算する
  bmi = getBmi(height, weight);

  // BMIを画面に表示する
  cout << "あなたのBMIは、" << bmi << "です。" << endl;

  return 0;
}

cd_samples4_5_header.cmd


C:\samples\chapter04\4_5>cd C:\samples\chapter04\4_5\

C:\samples\chapter04\4_5>g++ list4_5.cpp getBmi.cpp -o list4_5.exe

C:\samples\chapter04\4_5>list4_5.exe
身長(cm)を入力してください:167
体重(kg)を入力してください:75
あなたのBMIは、26.8923です。

C:\samples\chapter04\4_5>cmd /k
C:\samples\chapter04\4_5>
  1. 関数の定義を確認:
    • chapter4.h ファイル内で getBmi(double height, double weight) 関数の実装が正しく行われていることを確認してください。
    • chapter4.h には関数のプロトタイプ宣言が含まれているはずですが、実際の関数の定義が別のファイル(おそらく chapter4.cpp など)にあるはずです。
  2. コンパイル時に関連するファイルを指定:
    • コンパイル時に list4_5.cpp と関連するファイルを一緒に指定する必要があります。例えば、次のようにコンパイルしてみてください。
    g++ list4_5.cpp getBmi.cpp -o list4_5.exe
    • chapter4.cpp のファイル名は実際のファイル名に合わせて修正してください。
  3. 再コンパイルと実行:
    • 上記の修正を行ったら、再度コンパイルして実行してみてください。

[UE5.4][controlrig] controlrigの回転制限したい場合など回転要素の分解ノードなんですが To RotatorもFrom Rotator 見つからない件 

To RotatorもFrom Rotator もTo Euler From Euler になりました。!

https://sites.google.com/site/seikodevmemo/top/UE4AC2019-2-1224-ConrtolRig-Main/EyeControlSequence

のサイトのおまけ

ですが、UE5.4ではこうなりました。(下のノードちょっと工事中です。)

で直して着地したのがこれ(失敗)

これでやっと落ち着いた。(回転制限のclampの固定値では制御しきれなかった)

さらにスカートの長さをもものrotationから調節して解決

どうにか完成してよかった。

[UE5][python]selected staticmesh delete collision python

地形アセットを購入したら大量のスタティックメッシュのおかしなコリジョンがついてきた場合にどうぞ!

選択したスタティックメッシュのコリジョンを削除

assets = unreal.EditorUtilityLibrary.get_selected_assets()
AssetDataList = unreal.EditorUtilityLibrary.get_selected_asset_data() 

for a in AssetDataList:
    if a.asset_class_path.asset_name == "StaticMesh":
        mesh = unreal.EditorAssetLibrary.find_asset_data(a.package_name).get_asset()
        unreal.EditorStaticMeshLibrary.remove_collisions(mesh)

[UE5.3.2][PostProcess]CustomDepth/Stencilの使い方。

3DのUIのwidget だけをポストプロセスエフェクトから除外したい。

カスタム深度ステンシルパスをEnabld

キャラクターまたはSkeltalMeshまたはStaticMeshまたはWidgetのCustomDepth PathをオンにするStencil Value」を割り当て

ポストプロセスマテリアルを作成, ポストプロセス用の設定を行ってください

「Switch」ノードを配置し、0~3 の “Input” を追加してください
ステンシル毎に違う色を設定します
“Custom Stencil”で取得できる値は元々整数なので、そのまま”Switch Value”に渡すだけでOKです

作成したポストプロセスマテリアルを、レベル上の PostProcessVolume に設定します

確認します。

参考URL

https://historia.co.jp/archives/35673

https://qiita.com/unknown_ds/items/2137bd2cb03df6e0bbd1