スプラインメッシュの終点をゲーム中に決めたい

機能別サンプルにあるBP_Spline_Meshを利用して、
ゲーム内で自由に色んな長さのメッシュを配置したいと考えました。

そこで、ライントレースを利用して、1クリック目でメッシュをスポーンし、
2クリック目で向きと終点を指定するかたちでブループリントを組んでみました。
しかし、終点を決めるノード(SetEndLocation)が思ったような動きをしてくれず、
全く違う位置までメッシュが伸びてしまい、また向きも微妙にずれた位置になってしまいました。
SetEndLocationを使用しないと、伸びないもののメッシュはきちんと指定した方向に向いてくれます。

恐らくこのノードの使い方か、そもそも使用方法が間違っているのだとは思いますが、
何かわかる方おられましたら教えていただけるとありがたいです。

SplineMeshComponentの始点終点はローカル座標です。
ですので、SetEndPositionを使用する場合はそのSplineMeshComponentに対するローカル座標に変換する必要があります。

追記
以下ドキュメントです

素早いご回答ありがとうございます。
ローカル座標に変えないといけないんですね…勉強になりました。
この状況からローカル座標に変える作業というのは、コードを何か書き加えるなどしないといけないのでしょうか…?言語はよくわからすでBPだけで今まで組んでるので、正直出来る気がせず…
もしよろしければSetEndPositionを使用しないやり方で何か他の案があれば、ご教授願いたいです。

座標系の向きが変わるわけでは無いと思いますので、ベクトルの四則演算のみで解決できます。

ComponentのLocationからの座標が取得できればいいわけですから
(目標のWorld座標 - ComponentのWorld座標)で算出できます

方向と距離から求めるのであれば、
FindLookAtRotationで取得したRotationからForwardVectorを取得し、距離を乗算すれば指定の距離を伸ばせます。

ベクトルの計算はゲーム開発に欠かせないものですので、今回の質問を機に学習していただくと良いでしょう。


なお、SetEndPositionを使わずにSplineMeshを任意の形に変形することは困難を極めるでしょう。

混ぜないでください。
1つ目と2つ目はそれぞれ別の目的があります。

1つ目は基点と目標点がWorld座標で示された場合のもの、2つ目は方向と距離を与えられた場合のものです。

詳しくありがとうございます!
ただなんとなくは理解できたのですが、うまくいかずで…
下記のように組みましたが、間違っていますでしょうか。

まず、1点目の座標ー2点目の座標=間の距離 というのはわかるのですが、
それにForwardVectorを乗算する?ということでよいのでしょうか?
2点間の距離を算出し、その上で向きを追加するということだとは思うのですが…
何度もすみません。。

出来ました!!! 混同して考えてました…何度もすみませんでした。
ありがとうございました。

重ね重ねすみません。
任意の場所まで伸ばせるようにはなったのですが、メッシュの向きが初期のままなので、ライントレースでヒットした面に沿うようにスポーンし、EndPositionも同じく面に沿うようにしてメッシュを作成したいと考えました。
なので、法線Normalの向きからRotationをとるかたちにしてみたところ、面に沿うようにスポーンしてくれるようになりました。しかし、2点目の時の処理をどうすればよいかわからず、FindLookAtRotationはRotationが0の時にしか使用できないのことで、実際うまくいかず、煮詰まっております。

新たに質問した方がよい場合はそうしようと思います。が、流れもあるのでこちらで質問させていただきました。よろしければご教授お願い致します。

もとの内容から離れているので、新しくスレッドを立てるべきでしょう。
何よりすでに解決済みになっているスレッドに新しい回答者が訪れることは殆どありません。

わかりました。ご指摘ありがとうございます。そのようにします。
諸々ありがとうございました。