2つの別アクターに同時に処理を実行したい。

質問失礼します。
キャラクターがあるActorに触れたら別のActorも同時に処理が行われるようにするためにはどのようにブループリントを組めばいいのでしょうか?castをtickを用いて共有しあえばできそうですが、負荷が高まりそうなので別の方法を探しているといった現状です。

やりたいこと(イラスト参照) a b はadd actor offsset をtickで用いて移動させており、キャラクターがBに触れた場合Bが止まるといった形なのですが、同時にAも止めたいです。

分かる方がいらっしゃれば教えて下さると助かります。失礼します。

いくつかやり方はあると思いますが私から一案を。

Tickで動かしているという事は大体こんな感じでしょうか?
まずイベントディスパッチャーを作成した上で、そのイベントを停止時に呼び出すようにしてください。

特定のレベルのみで良ければ上記のようにレベルブループリントで
「AのOnStopイベントが呼ばれたらBを止めるように、BのOnStopが呼ばれたらAを止めるように」します。

複数のレベルで使用する場合は、新しくBP_ABController(仮名)というコントロール用のActorクラスを作り以下のように実装します。実装したBP_ABControllerをレベル上に配置すれば動作します。

数がもっと多ければもう少し違った実装をするべきですが、とりあえず2つで初心者ならこれくらいの実装で良いのかなと思います。

Hi, my Japanese is not good enough for explanations, but I’m sure you can use google translate too.
It seems to me that you could just use a sequence node and use one output for you current actor and one for the other actor (see pic).
You could also use and interface to send a command to as many actors as you like (I do this with a light switch, see next pics 1st from the switch, next from a light).



DROPSS_JPさん
ありがとうございます。写真で送ってくださった内容を試したところ自分のやりたいことができました!イベントディスパッチャーをいままで使用していなかったため、かなり実装できる幅が増えた気がして助かります!とても助かりましたありがとうございます。

1 Like

Momonks5.

I see that there is a way to do it this way. I had never heard of this method, so it was a great help. I was able to understand it myself because you sent it to me in an easy-to-understand manner with detailed pictures! Thank you very much for your help.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.