using UnityEngine; public class BouncingMovement : MonoBehaviour { // 控制物体的位移速度 public float speed = 2f; // 控制位移速度 // 控制物体的位移范围 public float range = 5f; // 物体在该轴上最大位移范围 // 控制物体的位移方向(X、Y、Z) public bool moveX = true; public bool moveY = false; public bool moveZ = false; // 内部变量,用于控制方向 private Vector3 startPos; void Start() { // 记录物体的起始位置 startPos = transform.position; } void Update() { // 计算物体沿指定轴的偏移量 float offset = Mathf.Sin(Time.time * speed) * range; // 更新物体的位置,根据轴向控制 if (moveX) { transform.position = new Vector3(startPos.x + offset, transform.position.y, transform.position.z); } else if (moveY) { transform.position = new Vector3(transform.position.x, startPos.y + offset, transform.position.z); } else if (moveZ) { transform.position = new Vector3(transform.position.x, transform.position.y, startPos.z + offset); } } }