UE5:FinterpToで値をスムーズに補間しよう!ゲーム開発

FinterpToノードは、現在の値を目標値に向かってスムーズに補間(徐々に変化)させるためのノード。
例)カメラのズーム、キャラクターの移動速度の調整、UIのアニメーションなどに使用。
FinterpToノードの役割と目的
・値が一気に変わらず、時間をかけてスムーズに変化する。
・物理的な減速を伴うような動きを表現する。
・カメラ、UI、キャラクターの動きを自然にするために使用。
FinterpToノードの入力ピンについて
入力ピン | 説明 |
Current | 現在の値(補間の開始値) |
Target | 目標値(補間の終点) |
Delta Time | フレームごとの経過時間(Get World Delta Secondsを使う) |
Interp Speed | 補間の速さ(値が大きくなるほど早く目標値に到達) |
Lerpとの違い
Lerp:指定した割合で補間
例)HPバーの修二な増減
FinterpTo:物理的な減速を伴うスムーズな補間
例)自然なズームや動き
※FinterpToの方がリアルな動きを表現しやすい
関連するノード
ノード | 説明 |
VinterpTo | Vector(X,Y,Z座標)用の補間 |
RinterpTo | Rotator(回転)用の補間 |
FinterpTo Constant | 一定の速度で補間(減速なし) |
Ease | カーブ補間を適用(より細かい動きの調整が可能) |
補足情報
・数値の変化を滑らかにすることで、違和感のないUI・カメラ・キャラ制御ができる
・FinterpToのInterp Speedを高くし過ぎると、補間が一瞬で終わってしまいLerpと変わらなくなるので注意。
・カメラやUIアニメーションではEaseと組み合わせるとさらにスムーズな効果を作れる。
まとめ
・FinterpToは現在の値を目標値に向かってスムーズに補間するノード。
・UIのゲージ、カメラズーム、移動速度の調整などに最適。
・Lerpは俊二な補間、FinterpToは減速を伴う自然な動き。
・補間速度(Interp Speed)を適切に設定しないと、動きが不自然になる。
ここからは実際にノードを組みたい人向け!
WidGet BPの作成

WidgetBPを作成してProgressBarを配置した後、変数を3つ作成
変数名 | 型 |
Current Health | Float |
Max Health | Float |
Health Now | Float |
今回はすべて、デフォルト値は「1000」に設定してください。
Custom Event(名称:Update Health)を作成し変数と接続
キャラクターのブループリント設定

Create Widgetのピンを変数にするのを忘れないでください。
この処理が組めるとゲームをプレイしたときに、ゲーム画面にProgressBarが表示されます。

名称 | 型 |
Current Health | Float |
Update Healthノードは、Widgetの変数ピンからしか配置することができないので注意してください。
Widget BPのバインディングを作成

バインディングはデザイナータブでUIに追加したProgressBarの右に「🔗」こんな感じのアイコンがあるからそこから追加してください
Interp Speedの値を大きくするとHPの減り方が緩やかになります。

後はゲーム内にダメージ付与ボリュームを配置して、プレイするとBox内に入ったときにダメージ処理を確かめることができます。
ダメージ数については、ダメージボリュームの詳細タブをいじればダメージ数を調整できます