Unity实现物体上下漂浮旋转效果

效果展示

效果展示

代码(直接挂载在物体上就可以了)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FloatingObject : MonoBehaviour
{
    public float amplitude = 0.5f; // 上下移动的幅度
    public float frequency = 1f; // 上下移动的频率
    public float rotationSpeed = 10f; // 绕 Y 轴旋转的速度

    private Vector3 _initialPosition; // 物品的初始位置

    private void Start()
    {
        _initialPosition = transform.position; // 保存物品的初始位置
    }

    private void Update()
    {
        // 根据时间和幅度计算物品下一帧的位置
        float newY = _initialPosition.y + amplitude * Mathf.Sin(Time.time * frequency);
        transform.position = new Vector3(transform.position.x, newY, transform.position.z);

        // 让物品绕 Y 轴旋转
        transform.Rotate(new Vector3(0f, rotationSpeed * Time.deltaTime, 0f), Space.World);
    }
}

征集活动

「你提需求,我来做」征集活动开始啦!我们正在寻找那些有想法、有创意的小伙伴,为我们带来新的挑战和灵感。
无论是一个小小的功能调整,还是一个全新的创意想法,我们都欢迎你向我们留言并提出你的需求。我们会认真考虑每一个想法,并在可能的情况下尽快实现它们。
我们致力于为新手 Unity 开发者提供全方位的支持和帮助,让你能够更快地掌握 Unity 的技能和知识,更加高效地开发出优秀的游戏和应用。
立即向我们留言,让我们一起为你的 Unity 开发之路提供帮助和支持,为新手 Unity 开发者打造更好的学习和开发环境。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值