生成され続ける地平を実現したい

youtubeの動画で「エンドレスランナーのプロトタイプ」という動画を見ました。
それを見てまっすぐ伸びる一本道は作れたのですが、完成させたいものは別にあります。
普通のエンドレスランナーと言うと一本道で行き先が一方向しかないかと思うのですが、それをプレイヤーが今いる場所を基点にして360度どの方向にも進めるようにしたいのです。
srpgは知っていますか?ユニットの移動範囲はたいてい四角形のマスが繋がってできたひし形をしていますが、そういう形を想像しています。

を使って実現できませんか?
永遠に生成される地平を作りたいです。
わかる方いましたら実現するための方法を教えてほしいです

「arrowcomponentを使って実現できませんか?永遠に生成される地平を作りたいです。わかる方いましたら現実するための方法を教えてほしいです」ですごめんなさい

エンドレスランナーのステージ生成の仕組みがわかっていれば、それを4方向ないし8方向に拡張すればOKです。

エンドレスランナーをベースに以下の方法を提案します

現在Playerが存在するマスと、その周囲に移動先として1~2マス分のバッファを確保します
マップの端に到達したことを検知して、バッファの向こう側に新規のマスを継ぎ足す形です
この部分はエンドレスランナーと同じです

要らなくなったマップについては、次のマスに入ったときか、マスの中心とPlayerとの距離が一定以上離れたときにDestroyすれば良いでしょう

さん、一定以上離れたときにDestroyする方法がわかりません。
わからないことがもう一つあります。新しいマスに入るとき生成壁に触れてさっきまでいた場所にマスが生成されて、同じ場所にマスが重なってしまうということが発生すると思います。(まだ試してはいません)
なので同じ場所にアクタが重ならないようにする方法が知りたいです。
何度も頼ってすみません。どうかご回答お願いします

(画像のブループリントはマスの端のコリジョン壁に触れたとき正面にマスを生成し、同時に先ほどまでいたマスを削除するという内容です。(これは前にしか進みません)

EndlessRunner作ったんですよね?
EndlessRunnerの道追加アルゴリズムは道に入るときに実行されていましたか?


まず現在のマスとバッファの関係は図を見てください(図左)
現在のマスの周囲1マス程度のバッファを用意します

マスの端に到達したときに、新たなマスを生成する仕組みは図の右に描いた形になります
現在のマスの端に到達したら、前方のマスの更に向こうにマスを追加します

図では前方のみですが、この仕組みはどの方向でも変わりません

ちなみにActorの進行方向は計算できますので、進行方向と追加すべき方向が一致しない場合は追加しない、という処置を取れば、マスが重なることはないでしょう

あるいは、参照を持つことで重複しないようにすることも考えられます
(この場合は削除時に気をつけないとメモリリークの原因になり得ます)


Actor間の距離はGetDistanceToノードで取得できます
Tickでチェックするか、マスの追加時などにブロードキャストするなどして処理を行うと良いでしょう