Unity笔记-震屏效果

unity实现游戏战斗震屏 大部分战斗类游戏都会有震屏需求。震屏的简单实现方法,包括随机震屏,横向震屏,纵向震屏,以及三种随意组合的震屏 总结 将脚本挂在相机上,就可以看到下边那张图,可以在list中调试数据,点击下边测试镜头震屏按钮测试效果。最终实现了随机,横向,纵向的组合震屏,随意搭配组合实现花式震屏。... 阅读详情


RPG或者动作游戏最重要的就是打击感,好的打击效果可以给游戏增色不少,而一种最方便最简单的提升打击感的效果就是震屏效果,短短几十行代码就可以让我们的游戏效果提升不少。

简单来说,震屏效果就是让我们的摄像机在运行时在正常的位置下随机朝各个方向偏移,直到震动结束。经过本人测试,发现如果可以将振幅逐渐减小,可以达到更好的视觉效果。话不多说,看一下代码:

// 相机震动效果
using UnityEngine;

public class CameraShakeEffect : MonoBehaviour
{
    /// <summary>
    /// 相机震动方向
    /// </summary>
    public Vector3 shakeDir = Vector3.one;
    /// <summary>
    /// 相机震动时间
    /// </summary>
    public float shakeTime = 1.0f;  

    private float currentTime = 0.0f;
    private float totalTime = 0.0f;

    public void Trigger()
    {
        totalTime = shakeTime;
        currentTime = shakeTime;
    }

    public void Stop()
    {
        currentTime = 0.0f;
        totalTime = 0.0f;
    }

    public void UpdateShake()
    {
        if (currentTime > 0.0f && totalTime > 0.0f)
        {
         
【个人Unity笔记】{基础} DOTween快捷实现震屏效果 DOTween是Unity上非常好用的一个动画插件,功能非常强大,RPO版本更加支持可视化操作,更高效。 在雨松大大的文章里面 —— 链接已经讲了很多,我这里说一下PRO版本可视化操作的方法,并快捷实现一个震屏效果。安装了DOTweenPRO版之后,添加组件可以选择DOTween=>DOTween Animation组件。 我们做震屏,所以把组件加在Camera上 点击写有None的按钮, 阅读详情

相关推荐

射击震屏效果——Unity随手记(2021.2.15)

文章目录今天实现的内容:震屏效果逻辑BUG以及缺陷:值得注意的: 今天实现的内容: 震屏效果逻辑 震屏效果,也就是射击时给予摄像机的旋转一个偏移量,再逐渐复原。我们写了一个弹簧工具来帮助实现上述效果。 using System.Collections; using System.Collections.Generic; using UnityEngine; // 摄像机弹簧工具 用于帮助实现摄像机震屏效果 public class CameraSpringUtility { // 震屏强度参数

qq_37856544的博客 787

Unity功能——设置Camera,实现玩家被攻击后晃动效果

摘要:通过调整相机移动,视觉感觉玩家面板剧烈晃动,实现被boss攻击时的震动效果游戏案例:捕鱼达人中被boss撞击后产生的震动晃动效果。 核心语句:随机数设置:andom.Range(0f, 振动系数) - 振动系数* 0.5f;

青岚岁叶的博客 1678

Unity3D震屏插件实现与优化详解

震屏效果是一种在游戏开发中广泛使用的视觉增强手段,通过模拟摄像机的抖动来增强玩家对游戏事件的感知,如爆炸、攻击、地震等场景。它不仅提升了画面的表现力,也增强了游戏的沉浸感和反馈感。在Unity3D中,震屏效果通常通过对主摄像机的位置或旋转进行动态偏移实现。开发者既可以通过编写自定义C#脚本来控制抖动逻辑,也可以借助Unity Asset Store中的成熟插件实现更复杂的效果

weixin_42602726的博客 1266

Unity实现角色受到攻击后屏幕抖动的效果

导入这个组件之后,创建一个Chinemachine-2D Camera,接下来我们修改ChinemachineVirtualCamera的Noise,将其设置为Basic Multi Channel Perlin,然后设置Noise Profile为6D Wobble,6D Wobble表示在摄像机位置和方向上的随机扰动。也就是说,通过调整6D wobble的参数,我们可以在实现抖动效果的同时,还可以使摄像机在位置和方向上产生更自然的随机运动。较大的幅度和频率值将会产生更明显的随机抖动。

充满智慧的博客 2505

Unity实现震动效果,抖动,震屏

上篇震屏博客说到的简单震屏效果,虽然可以实现,但是屏幕边界会给人一种扭曲感,振幅越大感觉越明显。所以本篇博客做出了大幅度更改,以正弦规律震动,效果更加自然,若实现震屏将此脚本挂载到相机上即可,可以设置震动幅度,震动角度,震动次数等,具体参数效果可以通过更改控制面板上的参数测试,也可用于其他物体的晃动,反复控制enabled=true,即可反复震动。 using System.Collectio...

wafcc的博客 1万+

unity制作游戏,点击鼠标左键,展示屏幕震动效果

通过以上步骤,就可以在Unity中实现点击鼠标左键展示屏幕震动效果了。记得在使用DOTween插件时,需要在脚本中添加。创建一个新的C#脚本,例如"ScreenShake.cs",并将其附加到想要添加屏幕震动效果游戏对象上。在Update函数中检测鼠标左键点击事件,并在点击时触发屏幕震动效果。可以在Unity Asset Store中搜索并下载DOTween插件。将脚本附加到想要添加屏幕震动效果游戏对象上,并调整。在脚本中定义一个变量来控制震动的幅度,例如。方法来实现屏幕震动效果。语句来引入命名空间。

qq_20179331的博客 2406

Unity实现震屏效果

震屏效果,网上有很多,不过还是自己写一遍吧......虽然也是从网上借鉴来的...... 代码如下: using UnityEngine; using System.Collections; public class ShakeCamera : MonoBehaviour {     //是否开始抖动     public bool isShake = false;     //抖动幅度 ...

xiaoyaotanling的博客 3154

Unity 震屏

unity震屏通过改变Camer.rect效果比较好。   using UnityEngine; using System.Collections; public class ShakeCamera : MonoBehaviour {          //是否开始抖动     public bool isShake = false;     //抖动幅度     public float ...

游戏博客 474

unity 震动(震屏)

物体震动绑定在对应物体上,震屏绑定在对应摄像机上即可。using UnityEngine; namespace July { public class ShakeCom : MonoBehaviour { private bool mIsRun; public float shakeTime = 0.3f; public bool isHorizontal = true; public bool isVertical = true; public float shakeAmo

wakakakakakakak的博客 1028

Unity震屏效果

话不多说直接上代码` public float WaveDurTime=0.5f;//震动持续时间 public float WaveMagnitude=1f;//震动幅度 public int WaveTimes=2;//持续时间内震动次数 public Vector3 originePos; //用户输入震屏时间,震屏幅度,震屏次数 private IEnumerator CameraShake(float duration,float magnitude,int timeSeconds) {

fchewqeqweqw的博客 688

Unity Cinemachine制作简单震屏

Unity Cinemachine制作简单震屏

明天 3433

Unity实现震屏效果(屏幕抖动)

文章转载自:https://blog.csdn.net/wafcc9/article/details/83057533 通过设置相机的Viewport Rect 来实现,将下面的脚本挂在相机上,设置enabled=true就可实现屏幕震动效果。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ShakeCamera : MonoBehaviour { pub

大猪的博客 5381

Unity3D —— 爆炸交互(震屏效果

前言: 在我们进行游戏战斗场景开发时,常常为了加强临场感,会在有爆炸或者撞击的时候加入震屏效果,原理其实很简单,就是对场景主相机进行坐标和角度的变化。 设计在开始进行代码实操之前,我们先考虑一下大致的思路,主要操作的参数有震动的幅度(Transform的各项参数,通常只改变localPosition和localRotation,必要的时候也可以操作localScale),还有震动的时间,

linshuhe1的专栏 5338

Unity 屏幕震动效果实现

要实现震屏效果其实并不难,所谓的震屏在PC端可以简单地理解为相机(MainCamera)的抖动。 代码实现如下: using UnityEngine; using System.Collections; public class ScreenShake : MonoBehaviour { private float shakeTime = 0.0f; private

laogao418的博客 7816

Camera震屏效果

unity3d 震屏效果,将此脚本绑定到主camera上,并调用shakeCamera();即可。代码如下        using UnityEngine; using System.Collections; public class SC_shakeCamera : MonoBehaviour {    private float shakeTime = 0.

Kai_Lin的专栏 1008

Unity3D ——游戏开炮,开枪屏幕震动效果实现

RPG或者动作游戏最重要的就是打击感,好的打击效果可以给游戏增色不少,而一种最方便最简单的提升打击感的效果就是震屏效果,短短几十行代码就可以让我们的游戏效果提升不少。 那么在我们进行游戏战斗场景开发时,常常为了加强临场感,会在有爆炸或者撞击的时候加入震屏效果,原理其实很简单,就是对场景主相机进行坐标和角度的变化。 话不多说,看一下代码: // 相机震动效果 using UnityEngine; ...

Wmayy_123的博客 2039

Unity3d 震屏效果

unity3d 震屏效果,将此脚本绑定到主camera上,并调用shakeCamera();即可。代码如下 usingUnityEngine; usingSystem.Collections; publicclassSC_shakeCamer...

chuze5190的博客 165

Uniyt 中Itween的应用——震屏

使用Itween做震屏效果,只需要一句话: iTween.ShakePosition (Camera.main.gameObject, new Vector3 (0.1f, 0.1f, 0.1f), 1.0f); 看下效果

wsko0715的专栏 855
上一篇: 走进VR游戏开发的世界
下一篇: 深入浅出聊优化:从Draw Calls到GC
puppet_master
puppet_master 领域专家: C/C++技术领域 领域专家: C/C++技术领域
博客等级 码龄12年 2693粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值