Guest User

imp

a guest
Mar 5th, 2019
2,123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. extends Sprite3D
  2.  
  3. export var anim_col = 0
  4.  
  5. var camera = null
  6. func set_camera(c):
  7. camera = c
  8.  
  9. func _process(delta):
  10. if camera == null:
  11. return
  12.  
  13. var p_fwd = -camera.global_transform.basis.z
  14. var fwd = global_transform.basis.z
  15. var left = global_transform.basis.x
  16.  
  17. var l_dot = left.dot(p_fwd)
  18. var f_dot = fwd.dot(p_fwd)
  19. var row = 0
  20. flip_h = false
  21. if f_dot < -0.85:
  22. row = 0 # front sprite
  23. elif f_dot > 0.85:
  24. row = 4 # back sprite
  25. else:
  26. flip_h = l_dot > 0
  27. if abs(f_dot) < 0.3:
  28. row = 2 # left sprite
  29. elif f_dot < 0:
  30. row = 1 # forward left sprite
  31. else:
  32. row = 3 # back left sprite
  33. frame = anim_col + row * 4
Add Comment
Please, Sign In to add comment