Created
February 14, 2022 15:03
Revisions
-
MarcelvanDuijnDev created this gist
Feb 14, 2022 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,38 @@ using UnityEngine; public class Pendulum : MonoBehaviour { [Header("Settings")] [SerializeField] private float _Speed = 1; [SerializeField] private float _Distance = 20; [Header("Offset")] [SerializeField] private Vector3 _RotationOffset = Vector3.zero; [SerializeField] private bool _SetCurrentRotationAsOffset = true; enum AxisOptions { X, Y, Z } [SerializeField] private AxisOptions _Axis = AxisOptions.X; private void Start() { if (_SetCurrentRotationAsOffset) _RotationOffset = transform.eulerAngles; } void Update() { float angle = _Distance * Mathf.Sin(Time.time * _Speed); switch (_Axis) { case AxisOptions.X: transform.localRotation = Quaternion.Euler(_RotationOffset.x + angle, _RotationOffset.y, _RotationOffset.z); break; case AxisOptions.Y: transform.localRotation = Quaternion.Euler(_RotationOffset.x, _RotationOffset.y + angle, _RotationOffset.z); break; case AxisOptions.Z: transform.localRotation = Quaternion.Euler(_RotationOffset.x, _RotationOffset.y, _RotationOffset.z + angle); break; } } }