円形ミニマップの範囲外にあるアクターアイコンを円の縁に留まらせる方法について

お世話になります。こちらの動画の右上に表示されているミニマップのような挙動を目指して実装しております。

アクターの位置を表示するアイコンなどの基本的な動作は出来ていますが、

円形のミニマップの外にいるアクターのアイコンを、ちょうど円の縁に留まらせる方法がわかりません。

以下、実装中のミニマップです。


アイコンの移動限界を設定するものと思いますが、Clampで単純に制限しても上手くいきません。
XとYをそれぞれ円形の大きさで制限しても、斜め方向は画像のようになります。
RE_AS2 プレビュー NetModeStandalone  (64-ビットWindows)

どなたかご教授いただけると助かります。よろしくお願いします。

ミニマップの中心座標から赤いアイコンへのベクトル(仮にvecCenterToIconとします)を作り
そのベクトルの長さが円の半径以上であればClampの必要があります。
Clamp処理は、vecCenterToIconの長さを円の半径に設定したベクトルを、ミニマップの中心座標に加算すれば行えます。

ご回答ありがとうございます。
vecCenterToIconを使えばよいというところまでわかりました。
アイコン座標の限界を放射状、円状にClampするにはどのノードを使えばよろしいでしょうか。
理解が及ばず申し訳ありません。

画像BPでは四角い範囲での制限

アイコン座標の限界を放射状、円状にClampするにはどのノード

これを直接するためのノードは無いと思います。
自分が↑に書いたような処理を色んなノードを使って作ることになります。

例えばこのような感じになります。


image

適当なのでスケール感の調整とか、XY軸の入れ替えとかはしていませんがClamp処理の例として参考になさってください。

ミニマップの中心座標に加算すれば行えます

ちなみに、Anchorなど調整してRenderTransform=0,0でサークル中心になるようにしてあるので、この処理はやっていません

1 Like

アップして頂いた画像を元に処理を修正すると、ちゃんと思い通りの挙動になりました。
丁寧なご回答とご解説、誠にありがとうございました!