using UnityEngine; public class FloatingObject : MonoBehaviour { public float speed = 2f; // Kecepatan ngambang public float height = 10f; // Seberapa jauh naik-turunnya (Pixel) // Biar gak barengan geraknya, kita kasih random start float randomOffset; Vector2 startPos; RectTransform rectTrans; void Start() { rectTrans = GetComponent(); startPos = rectTrans.anchoredPosition; // Acak waktu mulainya biar organik randomOffset = Random.Range(0f, 5f); } void Update() { // Rumus Sinus: Selalu menghasilkan angka antara -1 sampai 1 float newY = Mathf.Sin((Time.time + randomOffset) * speed) * height; // Update posisi UI rectTrans.anchoredPosition = new Vector2(startPos.x, startPos.y + newY); } }