パーティクルで目的の場所まで線を伸ばしたい

VRゲームで指先からWidgetInteractionのレイがヒットした場所まで線を描画したいと思っています。デバッグ目的ではなく、パッケージ時にも描画される線です。

3Dスペースに線を描画する方法いろいろ方法を探してみてビームパーティクルがいいみたいだとわかったので、以下のようにマテリアルとパーティクル、そしてVRプレイヤーの手を以下の画像のように設定しました。手アクターにMotionControllerComponentをつけ、その孫にParticleSystemComponent(ビームパーティクルをセットした以外はデフォルト)を置いています。

(マテリアルにつながっていない余計なノードがありますが無視してください。)

結果は以下のようになりました。

青がパーティクル、赤がDrawDebugLineで描いたほうです。
線の終点となるべき場所はDrawDebugSphereがある場所ですが、御覧のとおりそこまで伸びていません。

これを修正したいです。

修正のために試したこと

  • パーティクルのTarget>TargetMethodをUserSetにしてみた

  • Activate/SetVisibilityの切り替え、または使わずにやった

  • WidgetInteractionのLastHitResultでなく自前LineTraceの使用

  • SetBeamTargetPointで渡す結果にWorld/Local両方の空間のポジションを渡してみた

  • パーティクルをMotionControllerComponentの孫ではなく別のPawnアクターの子にしワールドポジションを渡してみた

  • ImpactPointではなくLocationの使用

しかしうまくいきませんでした。どんな場合でもパーティクルの始点終点のローカル位置はほぼ変わっていないように見えます。画像であるように手を動かすと多少のずれはでますが、パーティクルの長さは変わりません。Pawnアクターの子にすると始点の位置も変わりません。
GetBeamTargetPointで渡した位置の確認をしてみましたが、結果はtrueで正しい位置が返ってきます。
このこととDrawDebugLineの結果をみるに渡しているポジションは正しいと思ったので、パーティクルの確認のために別に空アクターBlueprintを作成し、パーティクルコンポーネントをつけてTick事に少しずつ上昇する値を渡すと想定通りの結果=ビームが少しづつのびるようになりました。これでパーティクルが悪いわけではないみたいとわかったので、何が悪くて想定通りの動作をしないのかわからなくなりました。

よろしくお願いします。

自己解決できました。