一个相机抖动的功能

本文介绍了一个Unity中实现相机抖动效果的脚本。通过调整幅度和延迟时间参数,可以使场景中的相机产生自然的抖动效果,适用于游戏中的攻击或其他触发事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写一个相机抖动的功能,可以用来攻击后相机抖动的效果

直接上脚本吧,写的很清楚了

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


public class CameraController : MonoBehaviour
{
    //该脚本需要被挂到相机上


    private Vector3 DefaultPos;//用来记录相机开始的位置


    [Range(0f,2f)]
    public float Magnitude = 0.4f;//相机抖动的范围


    public float ShakeTime = 0f;//抖动延迟时间


    //被攻击  或者需要相机抖动时调用该方法
public void Shake()
{
StartCoroutine (_Shake ());
}


IEnumerator _Shake()
{
for (int i = 0; i <= 360; i += 60) 
{
            //改变相机的y轴的值  以一个正玄值的变化  变化之后相机位置恢复到原来的位置
transform.position =
                new Vector3(this.DefaultPos.x, this.DefaultPos.y + Magnitude * Mathf.Sin(i * Mathf.Deg2Rad), this.DefaultPos.z);
            //Debug.Log(transform.position.y);//测试变化之后相机位置的位置
            yield return new WaitForSeconds(ShakeTime);
}
}


void Start () 
{
        this.DefaultPos = transform.position;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值