unity3d 摄像机抖动效果 CameraShake
unity3d 摄像机抖动效果 ,利用脚本直接控制;当然也可以选择使用dotween插件,但到不至于为了使用仅一个功能,就导入了一个插件;
脚本示例:
using UnityEngine;
using System.Collections; public class CameraShake : MonoBehaviour
{
public Transform cameraTransform;
private Vector3 _currentPosition; //记录抖动前的位置
private float _shakeCD = 0.002f; //抖动的频率
private int _shakeCount = -; //设置抖动次数
private float _shakeTime;
void Start ()
{
if(cameraTransform == null) cameraTransform = transform; _currentPosition = cameraTransform.position; //记录抖动前的位置
_shakeCount = Random.Range (, ); //设置抖动次数
}
void Update ()
{
if(_shakeTime + _shakeCD < Time.time && _shakeCount > )
{
_shakeCount --;
float radio = Random.Range (-0.01f, 0.01f); if(_shakeCount == ) //抖动最后一次时设置为都动前记录的位置
radio = ; _shakeTime = Time.time;
cameraTransform.position = _currentPosition + Vector3.one * radio;
}
}
}
另一版本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// this Script need a Component Of camera
/// </summary>
public class myCameraShake : MonoBehaviour {
private float m_FduringTime = 2.0f;
[SerializeField]
private bool m_BisOnShake = true;
[SerializeField]
private int m_IyshakeLength =;
private Transform m_TCamera;
private Vector3 m_OldPos;
private float mtime = ;
void Awake()
{
if (this.transform.GetComponent<Camera>() == null && GameObject.FindObjectOfType<myCameraShake>() == null)
{
Camera.main.gameObject.AddComponent<myCameraShake>();
}
m_TCamera = Camera.main.transform;
m_OldPos = m_TCamera.position;
}
void Start ()
{ }
private void Update()
{
if (m_BisOnShake)
{
mtime+=0.1f;
if (mtime < m_FduringTime)
{
m_IyshakeLength = Random.Range(-, );
if(m_IyshakeLength!=)
m_TCamera.position = Vector3.Lerp(m_OldPos, new Vector3(m_OldPos.x, m_OldPos.y + m_IyshakeLength, m_OldPos.z), 0.05f);
}
else
{
m_BisOnShake = !m_BisOnShake;
}
}
}
}
unity3d 摄像机抖动效果 CameraShake的更多相关文章
- unity3d 摄像机抖动特效
摄像机抖动特效 在须要的地方调用CameraShake.Shake()方法就能够
- CSS Shake – 摇摆摇摆!动感的 CSS 抖动效果
CSS Shake 是一套 CSS3 动画特效,让页面的 DOM 元素实现各种效果的抖动(Shake),这些效果可以轻松的被应用到按钮.LOGO 以及图片等元素.所有这些效果都是只需要单一的标签,加上 ...
- iOS 为视图添加抖动效果
抖动效果在开发中比较少用到,不过有时使用了确有个很好的装逼效果,用的时候就例如一些用户错误操作之类的 效果如下,不过gif看到的效果没实际的好看 上代码 - (void)shakeAnimationF ...
- jQuery实现抖动效果
//抖动效果 //intShakes:抖动次数:intDistance:抖动左右距离:intDuration:持续时间 jQuery.fn.shake = function (intShakes, i ...
- 让DIV实现抖动效果!
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- IOS中对于一些控件的抖动效果
这两天在网上看到一个帖子讨论关于有些app 输入账密时候 错误的话会有抖动效果出现,然后自己琢磨了下如何实现,下面上代码!!! 首先 写一个UIView的分类 #import <UIKit/UI ...
- 通用的Android控件抖动效果实现
这个小程序的功能在实际的开发中会用到,比如:设置Button左右晃动,或者上下的晃动效果,下面就给出示例代码. 首先:要定义一个xml文件,命名为Shake [html] view plain cop ...
- iOS - View的抖动效果
/** * 抖动效果 * * @param view 要抖动的view */ - (void)shakeAnimationForView:(UIView *) view { CALayer *view ...
- Jquery实现的图标抖动效果
原文:http://www.webdm.cn/webcode/75de64a9-3fb4-473d-bc2c-97a0a063be79.html <!DOCTYPE html PUBLIC &q ...
随机推荐
- QQ空间说说如何批量删除
事件背景: 今天突发奇想,想把自己之前发的说说都删除了,结果就有了下面的代码 1.按F12 2.点击 Console,进入Console项 3.使用以下代码: var delay = 1000; fu ...
- Linux VMware tools安装步骤
Linux VMware tools安装步骤: 1.安装环境介绍 #虚拟机版本:VMware-workstation-full-10 #linux分发版本:CentOS-6.4-i386-LiveCD ...
- Adam优化算法
Question? Adam 算法是什么,它为优化深度学习模型带来了哪些优势? Adam 算法的原理机制是怎么样的,它与相关的 AdaGrad 和 RMSProp 方法有什么区别. Adam 算法应该 ...
- 内联外联CSS和JS
内联CSS 代码示例: <p style="color:red;font-size:18px">这里文字是红色.</p> 内联CSS也可称为行内CSS或者行 ...
- python 全栈开发,Day78(Django组件-forms组件)
一.Django组件-forms组件 forms组件 django中的Form组件有以下几个功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显 ...
- Thread + 匿名内部类
package chapter01; public class MyThread01 extends Thread{ @Override public void run() { //让当前线程执行的代 ...
- DDD领域模型数据访问权限之用户权限(十)
BAS_PRService岗位和角色服务: public class BAS_PRService { //岗位 private IRepository<BAS_Post> ireposit ...
- 【C++ Primer 第六章】 1. 定义模板
类模板 题目描述:实现StrBlob的模板版本. /* Blob.h */ #include<iostream> #include<vector> #include<in ...
- c++ primer 笔记 (三)
标准库类型string 和 vector ,分别定义了大小可变的字符串和集合. bitset,提供了一个抽象方法来操作位的集合.提供更方便的处理位的方式(相对于整型值上 ...
- 【LOJ】#2187. 「SHOI2014」三叉神经树
题解 可以发现每次修改的是这个点往上一条连续的链,如果我要把1改成0,需要满足这一段往上的一部分都有两个1 如果我要把0改成1,需要满足这一段往上的部分有两个0 对于每个点记录1的个数,发现我们只会把 ...