Eonirr

Untitled

Dec 26th, 2025
58
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.00 KB | None | 0 0
  1. using UnityEngine;
  2.  
  3. /// Eonir Studio UST
  4. /// For any informations, questions or ideas feel free to contact me on Discord https://discord.com/invite/wXR2mWY
  5. /// Thanks for purchasing this asset!
  6.  
  7. public class WeaponMovement : MonoBehaviour
  8. {
  9. [Header("Idle")]
  10. public float moveRotX;
  11. public float moveRotY;
  12. public float moveRotZ;
  13. public float moveScaleIdle;
  14. public Vector3 idleBreathSpeed = Vector3.one;
  15.  
  16. [Header("Walking")]
  17. public float walkingSpeed;
  18. [Space]
  19. public float walkingPosAmountX;
  20. public float walkingPosAmountY;
  21. public float walkingPosAmountZ;
  22. [Space]
  23. public float walkingRotAmountX;
  24. public float walkingRotAmountY;
  25. public float walkingRotAmountZ;
  26.  
  27. [Header("Running")]
  28. public float runningSpeed;
  29. [Space]
  30. public float runningPosAmountX;
  31. public float runningPosAmountY;
  32. public float runningPosAmountZ;
  33. [Space]
  34. public float runningRotAmountX;
  35. public float runningRotAmountY;
  36. public float runningRotAmountZ;
  37.  
  38. [Header("Walk Tiny Rotation ")]
  39. public float walkTinyRotX;
  40. public float walkTinyRotY;
  41. public float walkTinyRotZ;
  42. public float walkMoveScale;
  43. public Vector3 walkingMovingSpeed = Vector3.one;
  44.  
  45. [Header("Run Tiny Rotation ")]
  46. public float runTinyRotX;
  47. public float runTinyRotY;
  48. public float runTinyRotZ;
  49. public float runMoveScale;
  50. public Vector3 runningMovingSpeed = Vector3.one;
  51.  
  52. UstController ust;
  53.  
  54. Transform positionPoint;
  55. ItemPosition positionPointScript;
  56. //Transform globalRotationPoint;
  57. Transform tinyRotationPoint;
  58. TinyRotation tinyRotationPointScript;
  59.  
  60. Vector3 progression;
  61.  
  62. float defaultPosX;
  63. float defaultPosY;
  64. float defaultPosZ;
  65.  
  66. //float defaultRotX;
  67. //float defaultRotY;
  68. //float defaultRotZ;
  69.  
  70. float tinydefaultPosX;
  71. float tinydefaultPosY;
  72. float tinydefaultPosZ;
  73.  
  74. float tinydefaultRotX;
  75. float tinydefaultRotY;
  76. float tinydefaultRotZ;
  77.  
  78. float timer;
  79.  
  80. void Start()
  81. {
  82. ust = GetComponentInParent<UstController>();
  83.  
  84. //globalRotationPoint = GameObject.FindGameObjectWithTag("GlobalRotation").transform;
  85. //positionPoint = GameObject.FindGameObjectWithTag("ItemPosition").transform;
  86.  
  87. positionPointScript = GetComponentInParent<ItemPosition>();
  88. positionPoint = positionPointScript.transform;
  89.  
  90. //tinyRotationPoint = GameObject.FindGameObjectWithTag("TinyRotation").transform;
  91.  
  92. tinyRotationPointScript = GetComponentInParent<TinyRotation>();
  93. tinyRotationPoint = tinyRotationPointScript.transform;
  94.  
  95. defaultPosX = positionPointScript.defaultPosX;
  96. defaultPosY = positionPointScript.defaultPosY;
  97. defaultPosZ = positionPointScript.defaultPosZ;
  98.  
  99. //defaultRotX = globalRotationPoint.transform.localRotation.x;
  100. //defaultRotY = globalRotationPoint.transform.localRotation.y;
  101. //defaultRotZ = globalRotationPoint.transform.localRotation.z;
  102.  
  103. tinydefaultPosX = tinyRotationPointScript.tinydefaultPosX;
  104. tinydefaultPosY = tinyRotationPointScript.tinydefaultPosY;
  105. tinydefaultPosZ = tinyRotationPointScript.tinydefaultPosZ;
  106.  
  107. tinydefaultRotX = tinyRotationPointScript.tinydefaultRotX;
  108. tinydefaultRotY = tinyRotationPointScript.tinydefaultRotY;
  109. tinydefaultRotZ = tinyRotationPointScript.tinydefaultRotZ;
  110. }
  111.  
  112. void UpdateMovementBaseOnSpeed(float moveScale, float x, float y, float z)
  113. {
  114. Vector3 currentPosition = tinyRotationPoint.localPosition;
  115.  
  116. Vector3 magnetPosition = moveScale * new Vector3(
  117. x * Mathf.Sin(progression.x),
  118. y * Mathf.Cos(progression.y),
  119. z * (Mathf.Cos(progression.z) + Mathf.Sin(progression.z)));
  120. Vector3 newPosition = Vector3.Lerp(currentPosition, magnetPosition, Time.deltaTime * 2);
  121. tinyRotationPoint.localPosition = newPosition;
  122. }
  123.  
  124. private void MovePositionAndRotation(float moveSpeed, float posAmountx, float posAmounty, float posAmountz, float rotAmountx, float rotAmounty, float rotAmountz)
  125. {
  126. timer += Time.deltaTime * moveSpeed;
  127.  
  128. positionPoint.transform.localPosition = new Vector3(
  129. defaultPosX + Mathf.Sin(timer) * posAmountx,
  130. defaultPosY + Mathf.Sin(timer) * posAmounty,
  131. defaultPosZ + Mathf.Sin(timer) * posAmountz);
  132.  
  133. tinyRotationPoint.transform.localRotation = Quaternion.Euler(new Vector3(
  134. tinydefaultRotX + Mathf.Sin(timer) * rotAmountx,
  135. tinydefaultRotY + Mathf.Sin(timer) * rotAmounty,
  136. tinydefaultRotZ + Mathf.Sin(timer) * rotAmountz));
  137. }
  138.  
  139. void ResetPositionAndRotationOnIdle()
  140. {
  141. timer = 0;
  142. progression = new Vector3(0,0,0);
  143.  
  144. positionPoint.localPosition = new Vector3(
  145. Mathf.Lerp(positionPoint.localPosition.x, defaultPosX, Time.deltaTime * 10),
  146. Mathf.Lerp(positionPoint.localPosition.y, defaultPosY, Time.deltaTime * 10),
  147. Mathf.Lerp(positionPoint.localPosition.z, defaultPosZ, Time.deltaTime * 10));
  148.  
  149. //globalRotationPoint.localRotation = Quaternion.Euler(new Vector3(
  150. //Mathf.Lerp(globalRotationPoint.localRotation.x, defaultRotX, Time.deltaTime * 10),
  151. //Mathf.Lerp(globalRotationPoint.localRotation.y, defaultRotY, Time.deltaTime * 10),
  152. //Mathf.Lerp(globalRotationPoint.localRotation.z, defaultRotZ, Time.deltaTime * 10)));
  153.  
  154. tinyRotationPoint.localPosition = new Vector3(
  155. Mathf.Lerp(tinyRotationPoint.localPosition.x, tinydefaultPosX, Time.deltaTime * 10),
  156. Mathf.Lerp(tinyRotationPoint.localPosition.y, tinydefaultPosY, Time.deltaTime * 10),
  157. Mathf.Lerp(tinyRotationPoint.localPosition.z, tinydefaultPosZ, Time.deltaTime * 10));
  158.  
  159. tinyRotationPoint.localRotation = Quaternion.Euler(new Vector3(
  160. Mathf.Lerp(tinyRotationPoint.localRotation.x, tinydefaultRotX, Time.deltaTime * 10),
  161. Mathf.Lerp(tinyRotationPoint.localRotation.y, tinydefaultRotY, Time.deltaTime * 10),
  162. Mathf.Lerp(tinyRotationPoint.localRotation.z, tinydefaultRotZ, Time.deltaTime * 10)));
  163. }
  164.  
  165. void Update()
  166. {
  167. if (!ust.isMoving && !Inventory.isInInventory && ust.charController.isGrounded)
  168. {
  169. if (!ust.isAiming)
  170. {
  171. UpdateMovementBaseOnSpeed(moveScaleIdle, moveRotX, moveRotY, moveRotZ);
  172. progression += Time.deltaTime * idleBreathSpeed;
  173. //MovePositionAndRotation(idleSpeed, idlePosAmountX, idlePosAmountY, idlePosAmountZ, idleRotAmountX, idleRotAmountY, idleRotAmountZ);
  174. }
  175. }
  176.  
  177. if (ust.isAiming)
  178. {
  179. ResetPositionAndRotationOnIdle();
  180. }
  181.  
  182. if (ust.isMoving)
  183. {
  184. if (!ust.isAiming)
  185. {
  186. if (ust.charController.isGrounded && !Inventory.isInInventory)
  187. {
  188. if (ust.isRunning && ust.canRun)
  189. {
  190. UpdateMovementBaseOnSpeed(runMoveScale, runTinyRotX, runTinyRotY, runTinyRotZ);
  191. progression += Time.deltaTime * runningMovingSpeed;
  192.  
  193. MovePositionAndRotation(runningSpeed, runningPosAmountX, runningPosAmountY, runningPosAmountZ, runningRotAmountX, runningRotAmountY, runningRotAmountZ);
  194. }
  195. else
  196. {
  197. UpdateMovementBaseOnSpeed(walkMoveScale, walkTinyRotX, walkTinyRotY, walkTinyRotZ);
  198. progression += Time.deltaTime * walkingMovingSpeed;
  199.  
  200. MovePositionAndRotation(walkingSpeed, walkingPosAmountX, walkingPosAmountY, walkingPosAmountZ, walkingRotAmountX, walkingRotAmountY, walkingRotAmountZ);
  201. }
  202. }
  203. }
  204. else
  205. {
  206. ResetPositionAndRotationOnIdle();
  207. }
  208. }
  209. //else
  210. //{
  211. // ResetPositionAndRotationOnIdle();
  212. //}
  213. }
  214. }
  215.  
  216.  
  217.  
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment