38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using UnityEngine;
|
|
|
|
public class AbeAnimation : MonoBehaviour
|
|
{
|
|
[Header("Gerakan Badan (Napas)")]
|
|
public float tinggiNapas = 5f;
|
|
public float kecepatanNapas = 2f;
|
|
|
|
[Header("Gerakan Tangan (Melambai)")]
|
|
public float sudutMelambai = 10f;
|
|
public float kecepatanMelambai = 3f;
|
|
|
|
public RectTransform tanganKanan;
|
|
public RectTransform tanganKiri;
|
|
|
|
private Vector3 posisiAwalBadan;
|
|
|
|
void Start()
|
|
{
|
|
posisiAwalBadan = transform.localPosition;
|
|
}
|
|
|
|
void Update()
|
|
{
|
|
// 1. Efek Napas (Badan naik turun dikit)
|
|
float gerakY = Mathf.Sin(Time.time * kecepatanNapas) * tinggiNapas;
|
|
transform.localPosition = new Vector3(posisiAwalBadan.x, posisiAwalBadan.y + gerakY, posisiAwalBadan.z);
|
|
|
|
// 2. Efek Melambai (Tangan muter di sumbu Z)
|
|
float lambaiZ = Mathf.Sin(Time.time * kecepatanMelambai) * sudutMelambai;
|
|
|
|
if (tanganKanan != null)
|
|
tanganKanan.localRotation = Quaternion.Euler(0, 0, lambaiZ);
|
|
|
|
if (tanganKiri != null)
|
|
tanganKiri.localRotation = Quaternion.Euler(0, 0, -lambaiZ); // Arah berlawanan
|
|
}
|
|
} |