Unity3D中抖屏(抖动相机)效果的简单实现

博客记录了一个简单的摄像机抖动方法,该方法实际上可用于抖动任何物体,内容转载自https://www.cnblogs.com/seancheung/p/3990567.html 。

这里是一个简单的摄像机抖动方法,记录下来便于查阅。

public class CameraShake : MonoBehaviour {

    // 抖动目标的transform(若未添加引用,怎默认为当前物体的transform)
    public Transform camTransform;

    //持续抖动的时长
    public float shake = 0f;

    // 抖动幅度(振幅)
  //振幅越大抖动越厉害
public float shakeAmount = 0.7f; public float decreaseFactor = 1.0f; Vector3 originalPos; void Awake() { if (camTransform == null) { camTransform = GetComponent(typeof(Transform)) as Transform; } } void OnEnable() { originalPos = camTransform.localPosition; } void Update() { if (shake > 0) { camTransform.localPosition = originalPos + Random.insideUnitSphere * shakeAmount; shake -= Time.deltaTime * decreaseFactor; } else { shake = 0f; camTransform.localPosition = originalPos; } } }

实际上可以抖动任何物体。

转载于:https://www.cnblogs.com/seancheung/p/3990567.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值