ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
この記事の要点
- VInterp To はベクトル値を現在地から目標地へ滑らかに補間するブループリント (BP) ノード
- 4 引数:
Current(現在値)/Target(目標値)/Delta Time(フレーム時間)/Interp Speed(速度) - 基本パターン: Event Tick で毎フレーム呼ぶ。
Delta TimeにはGet World Delta Secondsを接続 - Interp Speed: 小さいほどゆっくり、5〜10 が体感的に自然。0 だと動かない
- 応用: カメラ追従 / アイテム吸引 / スムーズな振り向き / スケール変化アニメーション
- 仲間ノード:
FInterp To(float)/RInterp To(Rotator)/VInterp To Constant(等速)
1VInterp To とは
VInterp To (Vector Interpolate To) は、Unreal Engine 5 のブループリントでベクトル値を滑らかに補間するためのノードです。「現在地」から「目標地」へ、瞬間移動ではなくイージング付きで少しずつ近づける計算を 1 行で書けます。
カメラがプレイヤーを追従する、アイテムが吸い寄せられる、UI が滑らかに動く — こうした「目標に近づくほどゆっくりになる」自然な動きが Interp To 系のノードで簡潔に実装できます。
24 つの引数
| 引数 | 型 | 意味 | 典型接続 |
|---|---|---|---|
Current | Vector | 現在のベクトル値 | 自分の現在位置 (GetActorLocation) |
Target | Vector | 到達させたい目標値 | 追従先の位置 |
Delta Time | float | フレーム間時間 (秒) | Get World Delta Seconds |
Interp Speed | float | 補間速度(大きいほど速い) | 5.0 〜 10.0 が自然 |
戻り値は1 フレーム分進めたベクトル。それを次フレームの Current として使い回すのが基本パターンです。
3基本ワークフロー
Event Tick から毎フレーム呼ぶ、というのが定型パターンです。
[Event Tick]
│
├──── GetActorLocation ──→ [Current]
│ ┌─→ VInterp To ─→ [SetActorLocation]
├──── Target Location ───→ [Target]──┘
│
├──── Get World Delta Seconds ─→ [Delta Time]
│
└──── 5.0 (float) ────────────→ [Interp Speed]
4Interp Speed の体感ガイド
| Speed | 体感 | 用途 |
|---|---|---|
| 1.0 | のっそり | ゆったり追従カメラ |
| 3.0 | 遅め | 遠景カメラ・ふんわり UI |
| 5.0 〜 8.0 | 自然 | キャラ追従・標準 |
| 10.0 〜 15.0 | キビキビ | FPS の照準補正・素早い反応 |
| 30.0+ | ほぼ瞬間 | ほとんど Set Location と同じ |
| 0 | 動かない | 無効 |
5応用1: カメラがプレイヤーをふんわり追従
SpringArm を使わず、独立した 追従カメラ Actor でラグを演出する場合。
[Event Tick]
Current = カメラ.GetActorLocation
Target = プレイヤー.GetActorLocation + Vector(0, 0, 200) ; 少し上から
Delta Time = Get World Delta Seconds
Interp Speed= 3.0 ; ゆっくり追従
→ VInterp To
→ SetActorLocation (カメラ)
6応用2: アイテムがプレイヤーに吸い寄せられる
[Event Tick] (アイテム BP)
距離 = Distance(プレイヤー, 自分)
If 距離 < 300:
Current = GetActorLocation
Target = プレイヤー.GetActorLocation
Delta Time = Get World Delta Seconds
Interp Speed= 8.0 ; 引き寄せる強さ
→ VInterp To
→ SetActorLocation
7応用3: スケールアニメーション (Hover 時に拡大)
Current / Target に Scale ベクトル (1,1,1 など) を渡せば、滑らかな拡縮もこのノード 1 つで作れます。
[Event Tick]
Hovered ? Target = Vector(1.2, 1.2, 1.2)
: Target = Vector(1.0, 1.0, 1.0)
Current = GetActorScale3D
Delta Time = Get World Delta Seconds
Interp Speed= 10.0
→ VInterp To
→ SetActorScale3D
8Interp To 系の仲間ノード
| ノード | 対象型 | 用途 |
|---|---|---|
VInterp To | Vector | 位置・スケール・色 (RGB) |
FInterp To | float | 透明度・体力ゲージ・1 軸の値 |
RInterp To | Rotator | カメラの向き・キャラの振り向き |
VInterp To Constant | Vector | 等速補間(イージングなし) |
FInterp To Constant | float | 等速 float 補間 |
RInterp To Constant | Rotator | 等速回転(一定の角速度) |
"Constant" 版はイージングがかからず Speed の値ぶんだけ等速で進むので、UI のローテーションなどに使います。
9VInterp To と Lerp の違い
初心者がよく混同するノードが Lerp (Vector Lerp)。
| 項目 | VInterp To | Lerp |
|---|---|---|
| 引数 | Current / Target / DeltaTime / Speed | A / B / Alpha (0-1) |
| 進み方 | イージング(目標に近づくと遅くなる) | Alpha に応じた線形 |
| 毎フレーム呼ぶ? | Yes (現在値を更新) | 任意のタイミング |
| 使いどころ | 追従・スムーズな動き | 2 点間の途中値計算 |
Lerp は Alpha を自分で進行させる必要があるのに対し、VInterp To は「現在値」を「目標」に少しずつ近づける動きを 1 ノードで完結できるのが強みです。
10FAQ
Q: なぜ Event Tick で呼ぶ必要?
A: 1 回だけ呼んでも 1 フレームぶんしか進まないから。毎フレーム呼んで現在値を上書きすることで連続的な動きになる。
Q: Delta Time に固定値を入れたら?
A: フレームレート依存になり PC スペックで動きが変わる。必ず Get World Delta Seconds を使う。
Q: Speed が大きすぎると?
A: ほぼ瞬間移動になり VInterp To の意味がなくなる。15 以上は SetLocation で十分。
Q: 目標に到達した判定がしたい
A: VInterp To は厳密には到達しない(漸近する)。(Target - Current).Size() < 1.0 等の閾値で判定。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- Event BeginPlay
- Event ActorBeginOverlap
- Event Tick
- on component begin overlap
- On Component Hit
- CameraBoom(Spring Arm)
- Get Player Character
- Nav Mesh Bounds Volume
- AI MoveTo
- Pawn
- Create Render Target 2D
- Take High Res Screenshotノード
- Sphere Reflection Capture
- Event Tickノード
- ウィジェットのキャンバスパネル
- DefaultSceneRoot
- FloatingPawnMovement
- Set World Rotation
- Event Any Damage
- Set World Rotation
- VInterp To
- Get Socket Transform
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- Scratch 作品の公開方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?