在Unity项目中,我们常发现场景中的UI界面会出现浮动效果。
Vector3 trans1; //记录原位置
Vector2 trans2; //简谐运动变化出来的位置
public float zhenFu = 1f; //振幅
public float HZ = 0.5f;// 振率
void Awake()
{
trans1 = transform.localPosition;
}
void Update()
{
ZFH();
}
void ZFH()
{
trans2 = trans1;
trans2.y = Mathf.Sin(Time.fixedTime * Mathf.PI * HZ) * zhenFu + trans1.y;
transform.localPosition = trans2;
}