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

摘要:
这里有一个简单的相机抖动方法,记录下来便于参考。PublicclassCameraShake:单一行为

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

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; } } }

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

免责声明:文章转载自《Unity3D中抖屏(抖动相机)效果的简单实现》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇live555 编译.net 中的async,await理解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Unity 之 如何删除Unity项目里面没用的东西??

选中需要用到的Scene,右键选 Select Dependencies,这样会选出这个场景所有用到的文件,将这些文件导出为 .unitypackage。 用同样的办法就所有用到的几个场景的文件分别导出包。在项目中删除除场景文件之外的所有其它文件,再将原先导出的包导入即可。 这样,项目中的文件都是场景中用到的文件了。  在这些操作前,都先备份好数据,以防误...

Unity3D之Mesh(五)绘制圆

前言: Unity3D中Mesh的基本单位是三角形,而圆形就是由许许多多的三角形组成的。那么我们就知道了绘制圆形的Mesh需要两个变量:圆的半径  以及分割数; 一、实现过程 基本过程与之前的类似,最基本的依然是顶点以及三角形索引数组,即:我们需要根据圆的半径以及预备的分割数,通过算法得到:顶点的Vector3数组 以及对应的三角形索引数组; 1、基本的...

Unity3d dll 热更新 基础框架

APK包装到用户手机上后,代码如何更新,总不能全用LUA吧?特别是代码非常多的战斗手游 昨晚上有了dll 热更新的想法,今天做了一天的实验,也遇到些坑,这里总结下 工作环境: U3D5.3.2 + vs2010 +mono 下面要模拟的是一个登陆环境,点击按钮,就加载一个iGameObjec的Item,  Item 上得到更新的文本内容。具体如下图 1&g...

Unity3D ShaderLab 模拟精灵动画

Unity3D ShaderLab 模拟精灵动画 在上一篇,介绍了通过Shader 模拟纹理运动,那么更深一步讲,我们也可以把帧动画的精灵纹理运动通过shader实现。 虽然大家都是在游戏脚本中做更高一级的控制。但是有钱就是任性,码代码的也可以码任性啊,我们就来试试做精灵的运动动画,遍历播放每一帧。   首先呢,准备一个精灵的动画序列帧,没有的找度娘要。然后...

Unity表面着色器

表面着色器和之前无光照着色器不同,其中没有顶点着色器和片元着色器,而增加了光照函数; 接下写了一个求两个贴图的光照效果 两个贴图做插值运算: Shader "Custom/SurfaceShader" { Properties { _Color ("Color", Color) = (1,1,1,1)...

unity 之 自定义弹出框

一、弹出框的搭建: 布局如图:Message为整个父物体,并且添加UiMessage代码。panel为遮罩。 MessageBox为整个提示框,Panel为标题,ok为确定按钮,cancel为取消按钮,retry为重试按钮,Text为提示框的文字。 注意大小写,后面代码会根据名称进行获取对应组建。 效果如下: 二、MessageBox代码: 要说明的...