Avg920
(Avg920)
1
クラスブループリント間での変数の受け渡しに関しての質問です。
アクタ自体のLocationやRotationなどとは別に、独自にセットした変数の受け渡し方がわからず、いろいろと調べてみたのですがいまいち要領を得ません。
LinetraceなどでHitしたLocationなどを別のブループリントへ渡したいのですが、そもそも可能なのでしょうか?
何かご存知の方がおられましたらお教え願えないでしょうか?
また、別の質問になってしまいますが、AI Control クラスのブループリントなどのレベル上に存在しないブループリントへの変数の受け渡し方も悩んでいます。
ついでにはなってしまいますがそちらについても何か知っておられるようでしたらご教授していただければ幸いです。
fluflu111
(fluflu111)
2
基本的にはブループリント同士で変数の受け渡しを行いたい場合、送る側が送られる側のことを知っているかどうか
というのが重要なはずです。
この場合の"知っている"の意味は相手のブループリントのReferenceがわかっているかという事です。
一番、単純な方法をお見せします。
この画像ではレベルブループリント上で変数の受け渡しを行っています。
グラフ上の青いノードはReferenceノードであり、レベル上でアクタを選択状態にしておいてから、
イベントグラフ上で右クリックして、"〇〇のリファレンスを作成"ボタンから配置することができます。
後は、Referenceノードからワイアを伸ばして、変数名を検索すればGetやSetノードも配置できます。
ai コントロールクラスのブループリントというのはどのようなものでしょうか?
ai コントローラーのことでしたら、下記の画像のように

"Get AI Controller"ノードからReferenceを得ることができます。
そのあとの手順については上記と同じです。
ですから、基本的にブループリントに情報を渡したければそのブループリントのReferenceを得られるようにノードを組んでください。
Referenceを得る別の方法についてはこちらをどうぞ。
Avg920
(Avg920)
3
fluflu111 さん
大変参考になる回答をしていただきありがとうございます。
仰っていた通りAIコントローラのことでした。何か勘違いしてたみたいです。
お教えいただいた通り、レベルブループリントで参照するところまではできたのですが、一枚目の画像のターゲットのピンが繋げるセットのノードが出てきません。
すごく初歩的な質問を返してしまって申し訳ないのですがそのノードの出し方を教えていただけないでしょうか。
fluflu111
(fluflu111)
4
一枚目の画像で説明しますと、まずReceiverと書かれたノードのピンからワイアを伸ばして何もないところで離してください。そうするとノードを検索するのに使っているメニュー(普段はグラフ上で右クリックで出せるやつ)が出てくると思います。そこの検索ボックスに変数名を入れて下さい。画像の方では"受信文"と検索しました。
その後は検索結果に"Set 受信文"や"Get 受信文"が出てくるのでクリックするだけです。
もし、出てこない場合は変数の作り忘れか変数名を間違えているかです。ターゲットの接続は忘れないようにして下さい。
Avg920
(Avg920)
5
ありがとうございます!
無事にうまくいきました!
もう一つの質問のAIControllerへの変数の受け渡しがうまくいかないのですが、Get AI Controllerのターゲットに何を繋げばいいのでしょうか?
fluflu111
(fluflu111)
6
"何を"というのに具体的な答えを返すのは難しいですが、ノードに繋ぐのはポーンのリファレンスです。
つまり、そもそもAI ControllerにPossessされているポーンがあって、そのAI ControllerをGetしたいというときに使うのがAI Controllerノードです。
ですから、あなたがAI Controllerを使用しているポーンのリファレンスを渡せばいいです。
そのポーンが何なのかは、私にはわかりません。
Avg920
(Avg920)
7
fluflu111 さん
ありがとうございます!うまく来ました!
GetAIControllerにはAIControllerのリファレンスを直接つなぐものだと勘違いしていました。よくよく考えると必要ないですよね…
すごく初歩的な質問にご丁寧にお答えしていただき大変ありがとうございました。
Ken.Kuwano
(Ken.Kuwano)
8
こちらの投稿については、既に問題が解決済のように見受けられますが、数日間の間に投稿が無かったことから追跡目的で解決済みとしました。
問題が解決しましたらAnswerhub クイックスタートヘルプ日本語訳に従い、質問票を更新していただけますと幸いです。
よろしくお願いします。