一、扣血抖动

打斗的时候,当受到伤害时,为了使游戏更加真实,会使主角抖动;但这只是让玩家看起来的,其实只需要抖动窗口即可实现。
其原理是摄像机窗口,既屏幕视口。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ShakeCamera : MonoBehaviour
{public float ShakeLevel = 3f;//振动幅度public float setShakeTime = 0.5f;//振动时间public float shakeFps = 45f;//振动的fpspublic bool isShakeCamera = false;public float fps;public float shakeTime = 0.0f;public float frameTime = 0.0f;public float shakeDelta = 0.005f;public Camera mainCamera;void OnEnable(){isShakeCamera = true;mainCamera = this.GetComponent<Camera>();shakeTime = setShakeTime;fps = shakeFps;frameTime = 0.03f;shakeDelta = 0.005f;}// Update is called once per framevoid Update(){if (isShakeCamera){if (shakeTime > 0){shakeTime -= Time.deltaTime;if (shakeTime <= 0){enabled = false;}else{frameTime += Time.deltaTime;if (frameTime > 1.0 / fps){frameTime = 0;mainCamera.rect = new Rect(shakeDelta * (-1.0f + ShakeLevel * Random.value), shakeDelta * (-1.0f + ShakeLevel * Random.value), 1.0f, 1.0f);}}}}}void OnDisable(){mainCamera.rect = new Rect(0.0f, 0.0f, 1.0f, 1.0f);isShakeCamera = false;}
}

二、FPS的显示

玩射击游戏的时候,或者玩其他游戏,会有一个显示帧率的,可能是真的,也有可能的固定的。自己的一些小游戏可以实现。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;/** 帧率* */
public class FPS : MonoBehaviour {private float lastUpdateShowTime = 0;//上一次更新帧率的时间private float updateTime = 0.05f;//更新显示帧率的时间间隔private int frames = 0;//帧数private float frameDeltaTime = 0;//帧间间隔private float Fps;private Rect fps, deltaTime;private GUIStyle style = new GUIStyle();// Use this for initializationvoid Awake () {Application.targetFrameRate = 100;}void Start(){lastUpdateShowTime = Time.realtimeSinceStartup;fps = new Rect(0, 0, 100, 100);deltaTime=new Rect(0,30,100,100);style.fontSize = 30;style.normal.textColor = Color.red;}// Update is called once per framevoid Update () {frames++;if (Time.realtimeSinceStartup-lastUpdateShowTime>=updateTime){Fps = frames / (Time.realtimeSinceStartup - lastUpdateShowTime);frameDeltaTime = (Time.realtimeSinceStartup - lastUpdateShowTime) / frames;frames = 0;lastUpdateShowTime = Time.realtimeSinceStartup;}}void OnGUI(){GUI.Label(fps, "FPS:" + Fps, style);GUI.Label(deltaTime, "时间间隔:" + frameDeltaTime, style);}
}

扣血抖动和FPS显示相关推荐

  1. ui动效 unity_【FairyGUI Unity】使用动效功能实现血条UI扣血与加血的缓动效果

    原理 血条使用进度条组件,可以得到当前值与最大值. 通过动效-改变缩放可以让图片宽度从1到0按百分比变化. 动效可以指定播放动效的时间范围 组件设计 创建一个进度条组件,作为血条. bar是实际血量条 ...

  2. 6.Unity2D 横版 受击反馈+跟随血条+延时/延迟扣血+协程的应用

    总目录https://blog.csdn.net/qq_54263076/category_11900070.html?spm=1001.2014.3001.5482 1. 受击反馈 用 Unity ...

  3. 游戏里血条的跟随和,扣血

    首先我们需要在unity的ui中新建一张图像,将血条图片贴在上面,将图片类型更改成已填充,填充方法更改成水平,填充原点根据个人爱好,向左或者向右都可以如下图就ok了: 如此的话第一步血条的设置就完成了 ...

  4. unity3d做会减少的血条_2019-2020年Unity3D——人物主角的血条-经验的显示.doc

    Unity3D--人物主角的血条 经验的显示 今天说一下人物主角的血量和经验还有人物等级金币的显示.? ? ???//主角刚出现的时候现有血量? ? public static int blood = ...

  5. 26_ue4进阶末日生存游戏开发[僵尸添加动画和扣血效果]

    给僵尸npc添加动画和扣血效果 首先新建一个动画文件夹 新建一个动画蓝图 一般只要是不做汽车啊等模型,我们一般选Animinstance 因为僵尸是女英雄,所以我们选择女英雄的动画 重命名Zombie ...

  6. FPS显示和修改——unity3D

    一:FPS显示 FPS值得含义就是Update函数一秒内的执行次数,通过记录一段时间内Update的调用次数,再除以这段时间(秒为单位),就计算出FPS了. 该实例继续使用螺旋升天的Cube. 创建用 ...

  7. Unity FPS显示工具

    使用非常简单,创建个空物体,添加FPSDisplay脚本,修改脚本参数,运行即可 代码 using UnityEngine;/// <summary> /// FPS显示工具 /// &l ...

  8. Cocos2d-x扣血飘字特效用完你就消失--之游戏开发《赵云要格斗》(8)

     这里是Evankaka的博客,欢迎大家前来讨论与交流------ 转载请注明出处http://blog.csdn.net/evankaka/article/details/42740575 本文这里 ...

  9. Unity的NGUI插件的HUD Text插件血条数值的显示

    原文取自:qq_32009641的博客 以前没接触这个插件时,做的小demo中实现怪物血条使用GUI绘制的 (就是雨松大大的方法,很经典 在这里先谢过大大) 用这个插件实现怪物血条只需简单的几部 方法 ...

最新文章

  1. Android OpenGL ES(十一)绘制一个20面体 .
  2. Mybatis 使用的 9 种设计模式,真是太有用了
  3. 用 .Net WebBrowser 控件获取POST数据
  4. Java多线程编程递增_java多线程编程之简介
  5. cobbler介绍与部署
  6. s查找mysql服务_MySQL菜鸟实录(一):MySQL服务安装实战
  7. 解决NSTimer循环引用
  8. 微信公众平台源码分享,把你的生意做到微信里
  9. 小米手机访问电脑共享文件_详细方法步骤教你如何解决小米电视访问电脑共享资源!...
  10. 信息系统项目管理师知识记忆口诀
  11. 无线电波段和频谱的划分
  12. 云服务器显示异地登录,云服务器异地登录异常
  13. 基于Java毕业设计校园外卖零食商城系统源码+系统+mysql+lw文档+部署软件
  14. 生命的枯榮竟是如此慘厲
  15. 亿级用户百TB级数据的 AIOps 技术实践之路(增强版)
  16. 数学建模 导航(持续更新ing)
  17. Fuel PHP 的学期末总结
  18. android 关机快捷键是什么,Android 关机问题快速定位
  19. 【Web】一种好用的浏览器页面打印(打印销售小票)方法
  20. 【字符串】leet459.重复的子字符串(C/C++/Java/Python/Js)

热门文章

  1. 2020李宏毅学习笔记——14.Convolution Netural Network
  2. 2018年阅读书物列表
  3. POI 操作word
  4. Jetson Nano开发实录
  5. 模拟二进制交叉算子(SBX)与多项式变异(PM)
  6. linux安装界面键盘失灵,安装win7鼠标键盘失灵怎么办_win7安装界面鼠标键盘失灵解决方法【147下载站】...
  7. java美团购物车,仿美团详情页与购物车源码-订单页
  8. 小程序里长按微信公众号二维码跳转到公众号关注页
  9. android 电池容量检测,电池容量检测优化app
  10. 云和大数据,铺就宁夏特色“信息高速路”