效果

BurnToFadeOut.shader代码

Shader "BurnToFadeOut" {

Properties {

_StartColor ("Start Color", Color) = (1,1,1,1)

_EndColor ("End Color", Color) = (1,1,1,1)

_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}

_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5

_Emit ("Emit level", Range(1,100)) = 0

_Range ("Range", Range(0,1)) = 0

}

SubShader {

Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"}

LOD 100

Lighting Off

Pass {

CGPROGRAM

#pragma vertex vert

#pragma fragment frag

#include "UnityCG.cginc"

struct appdata_t {

float4 vertex : POSITION;

float2 texcoord : TEXCOORD0;

};

struct v2f {

float4 vertex : SV_POSITION;

half2 texcoord : TEXCOORD0;

};

sampler2D _MainTex;

float4 _MainTex_ST;

fixed4 _StartColor;

fixed4 _EndColor;

fixed _Cutoff;

half _Emit;

half _Range;

v2f vert (appdata_t v)

{

v2f o;

o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);

o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);

return o;

}

fixed4 frag (v2f i) : COLOR

{

fixed4 col = tex2D(_MainTex, i.texcoord);

fixed a = dot(col.xyz, fixed3(0.3, 0.59, 0.11));

col.a = a;

clip(a - _Cutoff);

if(a < _Cutoff + _Range)

col.xyz = lerp(_StartColor.xyz, _EndColor.xyz, (saturate(a - _Cutoff) / _Range)) * _Emit;

return col;

}

ENDCG

}

}

SubShader {

Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"}

LOD 100

Pass {

Lighting Off

Alphatest Greater [_Cutoff]

SetTexture [_MainTex] { combine texture }

}

}

}

光晕效果需要把摄像机HDR打开并挂上这个脚本(Pro版导入Standard Asset里的)

//Bloom.js

#pragma strict

@script ExecuteInEditMode

@script RequireComponent (Camera)

@script AddComponentMenu ("Image Effects/Bloom and Glow/Bloom (Optimized)")

class FastBloom extends PostEffectsBase {

public enum Resolution {

Low = 0,

High = 1,

}

public enum BlurType {

Standard = 0,

Sgx = 1,

}

@Range(0.0f, 1.5f)

public var threshhold : float = 0.25f;

@Range(0.0f, 2.5f)

public var intensity : float = 0.75f;

@Range(0.25f, 5.5f)

public var blurSize : float = 1.0f;

var resolution : Resolution = Resolution.Low;

@Range(1, 4)

public var blurIterations : int = 1;

public var blurType = BlurType.Standard;

public var fastBloomShader : Shader;

private var fastBloomMaterial : Material = null;

function CheckResources () : boolean {

CheckSupport (false);

fastBloomMaterial = CheckShaderAndCreateMaterial (fastBloomShader, fastBloomMaterial);

if(!isSupported)

ReportAutoDisable ();

return isSupported;

}

function OnDisable() {

if(fastBloomMaterial)

DestroyImmediate (fastBloomMaterial);

}

function OnRenderImage (source : RenderTexture, destination : RenderTexture) {

if(CheckResources() == false) {

Graphics.Blit (source, destination);

return;

}

var divider : int = resolution == Resolution.Low ? 4 : 2;

var widthMod : float = resolution == Resolution.Low ? 0.5f : 1.0f;

fastBloomMaterial.SetVector ("_Parameter", Vector4 (blurSize * widthMod, 0.0f, threshhold, intensity));

source.filterMode = FilterMode.Bilinear;

var rtW = source.width/divider;

var rtH = source.height/divider;

// downsample

var rt : RenderTexture = RenderTexture.GetTemporary (rtW, rtH, 0, source.format);

rt.filterMode = FilterMode.Bilinear;

Graphics.Blit (source, rt, fastBloomMaterial, 1);

var passOffs = blurType == BlurType.Standard ? 0 : 2;

for(var i : int = 0; i < blurIterations; i++) {

fastBloomMaterial.SetVector ("_Parameter", Vector4 (blurSize * widthMod + (i*1.0f), 0.0f, threshhold, intensity));

// vertical blur

var rt2 : RenderTexture = RenderTexture.GetTemporary (rtW, rtH, 0, source.format);

rt2.filterMode = FilterMode.Bilinear;

Graphics.Blit (rt, rt2, fastBloomMaterial, 2 + passOffs);

RenderTexture.ReleaseTemporary (rt);

rt = rt2;

// horizontal blur

rt2 = RenderTexture.GetTemporary (rtW, rtH, 0, source.format);

rt2.filterMode = FilterMode.Bilinear;

Graphics.Blit (rt, rt2, fastBloomMaterial, 3 + passOffs);

RenderTexture.ReleaseTemporary (rt);

rt = rt2;

}

fastBloomMaterial.SetTexture ("_Bloom", rt);

Graphics.Blit (source, destination, fastBloomMaterial, 0);

RenderTexture.ReleaseTemporary (rt);

}

}

原文:http://www.cnblogs.com/mrblue/p/5190536.html

unity怪物攻击玩家减血_Unity3d 怪物死亡燃烧掉效果相关推荐

  1. unity怪物攻击玩家减血_Unity3D 战斗系统中的怪物简单AI(简单AOI)

    AI With Monster In Battle System Introduction 一款RPG的战斗模块中,怪物AI是又一基础单元.在经典的即时战斗中,比较简单的流程是角色进入怪物的仇恨范围- ...

  2. unity怪物攻击玩家减血_unity3d学习笔记(七)利用单例脚本实现英雄与怪物的攻击与受击...

    本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢. http://blog.csdn.net/lzhq1982/article/details/12653945 我们的世界有了 ...

  3. unity怪物攻击玩家减血_利用Unity协程实现一个简单的怪物寻路与跟随AI

    利用Unity协程实现一个简单的怪物寻路与跟随AI,通过分析怪物行为与逻辑,实现简单的平面怪物寻路与跟随效果. 分析 对于游戏中怪物的行为,简单归纳为如下几部分: 怪物在预设范围内随机移动. 玩家走入 ...

  4. unity怪物攻击玩家减血_Unity RPG游戏攻击的判定

    在一个游戏里面,最重要的要数那些算法了.比如追击AI算法,寻路算法.一个优质的算法能让你的游戏体验更好.那么在RPG游戏里面,我们玩家角色的普攻一般情况下,如果选择的人物是那种剑士职业的(这里打个比方 ...

  5. unity怪物攻击玩家减血_热血传奇:游戏里要千万小心的小怪,玩家稍有不慎就要吃大亏...

    热血传奇这款网游当中,除了形形色色的武器和装备之外,或许数量较多的就是地图当中的各式各样怪物了,在这其中有怪物也是大的BOSS,有的很容易就可以解决的.像新手任务的钉耙猫.鹿.半兽:还有像例如赤月恶魔 ...

  6. unity怪物攻击玩家减血_怪物猎人发布15周年 — 回顾历代封面怪之三大传奇怪物...

    本文来自Jump用户投稿,作者:水熊 2019年3月正逢怪物猎人发布15周年之际,CAPCOM官方网站公布了本次15周年庆典的主题图片. (转自CAPCOM官网,本次15周年主题图片为历代怪物猎人作品 ...

  7. unity怪物攻击玩家减血_像素地牢开发(unity) 第一篇(并不是第一天)

    像素地牢开发(unity) 第一篇(并不是第一天) 大二的时候就特别想制作独立游戏,每次逛b站刷到独立游戏制作的视频就十分羡慕,然鹅我却一直鸽着(别问,问就是刷视频,打王者),但我还是利用了一些空闲时 ...

  8. Unity吃豆人敌人BFS广度(宽度)优先算法实现怪物追踪玩家寻路

    本人正在努力建设自己的公众号,大家可以关注公众号,此文章最近也会上线我的公众号,公众号将免费提供大量教学Unity相关内容,除了从Unity入门到数据结构设计模式外,我还会免费分享我再游戏开发中使用的 ...

  9. 实现敌人(怪物)的简单AI(自动巡逻、看到玩家攻击玩家、玩家离开恢复自动巡逻)

     using UnityEngine; using UnityEngine.AI; /// <summary> /// 敌人自动巡逻 /// </summary> publ ...

最新文章

  1. java中静态是什么,java中静态和非静态有什么区别
  2. 标准输入/出与重定向
  3. 数据查询和业务流分开_数据仓库介绍与实时数仓案例
  4. 航空购票系统源码java_航空售票系统 - WEB源码|JSP源码/Java|源代码 - 源码中国
  5. Zabbix 3.0 配置企业微信报警(配置zabbix-web)
  6. 分数小数互换图_重复控制器学习心得(二)——超前环节的分数化和校正因子的引入...
  7. windows下注册和取消pg服务的命令
  8. 加服务器虚拟机软件,服务器虚拟机软件
  9. IT黑马成长之CSDN第一篇博客
  10. 猜一宋词名句 Java_宋词名句
  11. excel输入 正在计算机,在Excel中输入内容后如何自动填写日期和时间
  12. 机器阅读理解论文必读论文(二): Teaching Machines to Read and Comprehend
  13. oracle的ofs,OFS_Oracle11g_Windows2008R2
  14. 菜鸟教程JVM优化,看一篇就够了!
  15. 世界杯“诈骗杯”?小心这些就对了
  16. Rust: 基于 napi-rs 开发 Node.js 原生模块
  17. mac下查看隐藏文件夹
  18. Win8安装程序出现2502、2503错误解决方法
  19. 蓝牙智能窗帘(天猫精灵生态)方案
  20. 色散关系与等离子体色散函数的解析性质

热门文章

  1. 【机器学习】模型融合方法概述
  2. 中国式富爸爸穷爸爸—富爸爸如何教育大学毕业生
  3. Kettle 使用教程(1)—入门
  4. python对文件操作-python中文件操作的其他方法
  5. 几行代码制作一个简易计算机
  6. yield和yield from使用
  7. python爬虫智能解析库详解
  8. Node.js 异步编程(附几个小练习题学会分析代码执行顺序)
  9. IDEA 连接 数据库
  10. 【原创】在RT1050 LittleVgl GUI中嵌入中文输入法框架