Advertisement
Unain

Untitled

Feb 15th, 2024
1,293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
GDScript 0.77 KB | Gaming | 0 0
  1. extends Node3D
  2.  
  3.  
  4. @export var target: Node3D
  5.  
  6. var _update: bool = false
  7. var prev_transform: Transform3D
  8. var current_transform: Transform3D
  9.  
  10.  
  11. func _ready() -> void:
  12.     top_level = true
  13.     global_transform = target.global_transform
  14.     prev_transform = target.global_transform
  15.     current_transform = target.global_transform
  16.  
  17.  
  18. func update_transform() -> void:
  19.     prev_transform = current_transform
  20.     current_transform = target.global_transform
  21.  
  22.  
  23. func _process(delta: float) -> void:
  24.     if _update:
  25.         update_transform()
  26.         _update = false
  27.  
  28.     var delta_fraction: float = clampf(Engine.get_physics_interpolation_fraction(), 0.0, 1.0)
  29.     global_transform = prev_transform.interpolate_with(current_transform, delta_fraction)
  30.  
  31.  
  32. func _physics_process(delta: float) -> void:
  33.     _update = true;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement