Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\UnrealEngine.cpp] [Line: 2852] Failed to load special material 'InvalidLightmapSettingsMaterialName' from path ''. (' ' で囲われた部分はエラーによって違う可能性があります)
そして BP_Cube の「コンポーネント」パネルにある[+追加]から、先程作成した Actor Component を追加します。
(画像では AC_Sample となっています)
BP_Cube に BPI を実装した Actor Component が追加されたので、同じ結果になると思いきや...
ヒットしているのに Hit という文字が出ていません。
これは、LineTrace を行った時のターゲットが違うためです。
先程はヒットした Actor 自身(BP_Cube)がターゲットになっていましたが、今度は Actor に追加した Actor Component がターゲットになるため下記のように変更します。
"Hit Actor" から引っ張り、「Get Component by Class」か「Get Components By Class」を出し、それをターゲットに繋ぎます。
"Component Class" には先程作った Actor Component を指定します。
Components By Class は複数形なので配列になっていますが、BPI のターゲットにそのまま繋ぐことができます。
これで Actor BP で追加した Actor Component の BPI に処理を送信できるようになります。
今回の例では LineTrace にヒットした Actor に対してですが、もし操作キャラクターに追加した Actor Component に通知を送りたい場合は
「Get Player Character」>「Get Component by Class」>BPIのターゲットへ繋げばいいということになります。
画像は使いまわしですが正しくヒットと表示されると思います。
以前 Actor Component 内の BPI 実装に引っ掛かったことがあったのを思い出し、今年初の記事にしてみました。