DeprojectScreenToWorldが上手く動かない

スクリーン座標からワールド座標の変換についてお聞きします。

指定のスクリーン座標に、カメラから一定距離離れた位置にアクタを表示したくて
DeprojectScreenToWorldを使って処理を作ったのですが、
座標の値が大きくない環境(X,Y,Zが0~10000程度)だと
問題なく同じスクリーン座標に表示されますが、100000以上の大きい値の場合、
カメラの角度を変えた時に、表示位置が指定したスクリーン座標から時々ずれてしまいます。
座標の値が大きくなるほどずれが大きくなるようです。

以下の手順で実装すれば同じ事象を確認出来ます。

1.UE4を起動し、BlueprintのBlankプロジェクトを作成。

2.ParentClassがActorのBlueprintを作成し、名前を「DisplayActor」にする。

3.DisplayActorのBlueprintを開いて、DefaultSceneRoot配下にCubeをComponentとして追加する。

4.Cubeのスケールをx,y,z全て0.4にする。(見やすさのため)

5.ClassDefaultsのTickGroupをPostUpdateWorkにする。

6.EventGraphを画像の通りに実装する。

7.新しいレベルを作成し、DisplayActorを何処でもいいので配置する。

8.PlayerStartのLocationのXを「1000000」にする。(大きい方がズレを確認しやすいため)

9.カメラの角度をマウスなどで動かした時に、アクタの表示位置が指定したスクリーン位置から時々ずれてしまうのが確認出来ます。


どのようにすれば座標の値が大きい場合もぶれなく表示出来ますでしょうか。 以上よろしくお願い致します。

「zip up project」というのがあるのを今知ったので、問題が発生する状態にしたプロジェクトを添付します。マウスでカメラを移動させるとCubeがブレてしまっている事が確認出来ます。

link text

実際にやりたい事はCubeの表示ではなく、画面内を移動するアクタが表示されている位置に、WidgetComponentの付いたUI用のアクタを追従させたいと思っています。(カメラとの距離は一定距離を保ちながら)

未だ解決方法が見つからず困っています。何か方法がありましたら教えていただければと思います。