Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --credit: KrystalTeam
  2. local twerksrc = [[
  3. function clerp(a,b,t)
  4. local qa = {QuaternionFromCFrame(a)}
  5.  
  6. local qb = {QuaternionFromCFrame(b)}
  7.  
  8. local ax, ay, az = a.x, a.y, a.z
  9.  
  10. local bx, by, bz = b.x, b.y, b.z
  11.  
  12. local _t = 1-t
  13.  
  14. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  15. end
  16.  
  17. function QuaternionFromCFrame(cf)
  18. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  19.  
  20. local trace = m00 + m11 + m22
  21. if trace > 0 then
  22. local s = math.sqrt(1 + trace)
  23.  
  24. local recip = 0.5/s
  25.  
  26. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  27. else
  28. local i = 0
  29.  
  30. if m11 > m00 then
  31.  
  32. i = 1
  33.  
  34. end
  35. if m22 > (i == 0 and m00 or m11) then
  36.  
  37. i = 2
  38.  
  39. end
  40. if i == 0 then
  41. local s = math.sqrt(m00-m11-m22+1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement