16/05/25 01:19:26.02 l5KA8YjD.net
>>825
ルートのオブジェクトからっていう考え方を転換できるまでは苦労するぞ。
例えばMapがルートでMap.BuildingA.Room1.Chair.heightみたいな参照は
基本的にはしないのでどうやって参照を得るかが問題。
>>825には該当しないかもしれないけど以下にこれまで俺が学んだ参照方法をオナニーしておく。
・LevelBlueprint限定で選択オブジェクトの参照を得られるのでそこから受け渡しも可能だが俺はあんまり好きじゃない。
(やり方。マップ内で選択してレベルブループリント内で右クリックするとメニューに出てる。もしくはドラッグドロップか)
・オブジェクト内(クラス内)に変数を作って目玉をクリックしてスポイトで参照したいオブジェクトを選ぶか。
(最初はよく使ってたけどコンパイル時に消滅することがよくあったのでGetAllActorsOfClassを使うようになった。)
・コンストラクタかBeginPlayでGetAllActorsOfClassで参照をゲットするか。
・スポーンでスポーン
・PlayerControllerなどの主要なクラスはgetPlayerControllerなどがあるのでそこからキャスティングするか。
・ActorComponentとしてクラスを作ってオブジェクト内でインスタンス化(実行時ではない)するか。
・ActorComponentだと不十分な時は普通のクラスもChildActor Componentとしてインスタンス化(実行時ではない)できる。
・4.9くらいからiniをイジるかすれば実行時の(Actorではないクラスの)インスタンス化もBPでできるみたいだけど俺はまだやったことない。