Advertisement
Dimenticare

First/third person equip transform (GMS1.4)

Jul 22nd, 2018
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Object variables:
  2.  * handedness
  3.  * anim_cast_t
  4.  * anim_cast_scale
  5.  * charge_level
  6.  * pitch
  7.  * direction
  8.  */
  9.  
  10. var offset_angle=ternary(handedness==Misc.right, 30, -30);
  11. var offset_z=44;
  12. var offset_distance=24;
  13.  
  14. var _xrot=0;
  15. var _yrot=10+anim_cast_scale*dsin(anim_cast_t)-anim_cast_scale*min(5, sqrt(charge_level));
  16. var _zrot=180+direction;
  17.  
  18. var _xoffset=x+offset_distance*dcos(direction-offset_angle);
  19. var _yoffset=y-offset_distance*dsin(direction-offset_angle);
  20. var _zoffset=z-offset_z+EYE_LEVEL;
  21.  
  22. var _zoffset2=0;
  23. var m0=matrix_build(0, 0, -_zoffset2, 0, pitch/2, 0, 1, 1, 1);
  24. var m1=matrix_build(0, 0, 0, _xrot, _yrot, _zrot, 1, 1, 1);
  25. var m2=matrix_build(_xoffset, _yoffset, _zoffset, 0, 0, 0, 1, 1, 1);
  26. matrix_set(matrix_world, matrix_multiply(matrix_multiply(m0, m1), m2));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement