Aキーを押すごとに、プレイヤーを現在の位置からy軸に-55移動するブループリントを作っています。
下記のように組むとカクッカクッと移動してしまいます。
もっとぬるっとなめらかに移動させたいのですが、いい方法はないでしょうか?
下記はキャプチャ動画です。
Aキーを押すごとに、プレイヤーを現在の位置からy軸に-55移動するブループリントを作っています。
下記のように組むとカクッカクッと移動してしまいます。
もっとぬるっとなめらかに移動させたいのですが、いい方法はないでしょうか?
下記はキャプチャ動画です。
Intrep to vectorとかを使うと良いですよ。
解説はこちらのブログを参考にしてみてください。
http://unrealengine.hatenablog.com/entry/2016/07/12/220000
返答ありがとうございます。
実はこのブログを参考にしていたのですが、なぜかY軸方向にすっ飛んで行ってしまうので、「現在の位置から-55だけ移動」というものには適さないのかなと勝手に思い込み、他の方法を探していました。
下記はその時のブループリントの設定です。
Leapでやっても同じような挙動をしてしまいます。
タイムラインにはなにも追加していません。
原因がわかればご教授願います。
taget,Currentに使う座標が現在位置から取得しているので、
Updateごとに現在位置がSetActorLocationで変更され、
その都度taget座標が更新されてしまうためです。
毎フレームごとに現在地から-55移動してるから永久に移動し続けるってことですかね?
ほかのアプローチを考えます。
ありがとうございました。
ですね、takanyanさんのおっしゃる通りで目標地点が常に変更されているのでずっと動きますね。
解決方法は簡単です。ボタンを押した時点でタイムラインに入る前に現在の座標から到達したい座標の値を保持する必要があります。
キーボードAを押したらgetplayercharacter>getactorlocation>+y-55をした値を保存してください。それをVintreptoのtargetにすることで解決します。
そうすることで、キーボードAを押すごとに毎回最終到達地点が変更されます。
最後に、この手の話はゲームロジックの話になるので一度基礎をしっかりと調べて学んだ方が良いかもしれません。