自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lupeng的博客

unity学习笔记

  • 博客(19)
  • 资源 (4)
  • 收藏
  • 关注

原创 UnityShader实例18:火焰材质

3D游戏中,火焰特效是一种3D游戏中的一种常见特效,通常是使用粒子播放器播放序列帧或者直接使用粒子模拟,在本文中将实现一个区别于这两种方法的火焰效果(如下图),这个火焰的效果来源于一个朋友推荐给我的文章,是一个老外的作品(演示效果和源代码),效果非常不错,还模拟了风的效果,美中不足的是这个shader只支持target 3.0以上,鉴于此我做一些修改,并做了一定的优化,右图就是本文实现的效果,使之能支持target 2.0。

2015-10-21 18:03:36 10738 6

原创 UnityShader实例17:屏幕特效之碎屏特效

碎屏特效概述       在前公司,由于工作项目的原因,需要在unity实现一个类似狂野飙车8 ,撞车翻车后的碎屏效果(如下图),从图可以看出,该特效除了碎屏的效果外还有个降低饱和度的操作,接下来在下文介绍这个效果实现的代码。

2015-10-08 11:45:58 21839 9

原创 UnityShader实例16:屏幕特效之径向模糊(Radial Blur)

径向模糊,是一种从中心向外呈幅射状的逐渐模糊的效果(如下图),在图形处理软件photoshop里面也有这个模糊滤镜。而在游戏中常常用来模拟一些动感的效果,如鬼泣4中的场景切换特效,和一些技能打击特效;赛车游戏也尝用来模拟动感模糊,如狂野飙车,极品飞车等。

2015-09-24 16:39:56 18350 5

原创 UnityShader实例15:屏幕特效之Bloom

Bloom,又称“全屏泛光”,是游戏中常用的一种镜头效果,是一种比较廉价的“伪HDR”效果(如下右图);使用了Bloom效果后,画面的对比会得到增强,亮的地方曝光也会得到加强,画面也会呈现一种朦胧,梦幻的效果,婚纱摄影中照片处理经常用到这种类似处理效果。Bloom效果一般用来近似模拟HDR效果,效果也比较相向,但实现原理却完全不同。本例将实现一个适合移动平台使用的bloom屏幕特效。

2015-09-21 13:39:29 33577 6

原创 UnityShader实例14:屏幕特效之高斯模糊(Gaussian Blur)

高斯模糊(Gaussian Blur),也叫高斯平滑,在photoshop中也有高斯模糊滤镜,通常用它来减少图像噪声以及降低细节层次。从数学的角度来看,图像的高斯模糊过程就是图像与正态分布做卷积,由于正态分布又叫做高斯分布,所以这项技术又叫做高斯模糊。

2015-08-31 10:18:44 17574 4

原创 unity 在game视图模型穿插问题

今天有个网友问到我这个问题,因此就在这里做个笔记,问题是这样的:我给出的解决方案是将摄影机的剪切距离设置短一些,摄影机的近切面和远切面的差距不要太大,尤其是近切面在非特殊情况下一般不要设置的太小,比如设置成零。为什么会近切面和远切面设置过大会产生模型穿插问题,这是因为,模型像素的先后顺序是通过深度测试实现的,而深度缓存的精度有限,通常深度缓存的精度是16位或

2015-08-28 17:59:46 4009

原创 UnityShader实例13:屏幕特效之均值模糊(Box Blur)

均值模糊(Box Blur)概述由于公司手游项目需求,需要一个适合手机平台的模糊效果,同时需要开放一个参数便于调节模糊值。我首先想到的就是ps里面的均值模糊。查资料可以知道均值模糊是一种快速的图像模糊技术,相比与传统的卷积模糊(如高斯模糊),均值模糊可以更加有效率的完成对图像模糊。在unity官方自带imageeffect包也有一个blur的屏幕特效

2015-08-24 16:42:03 8199

原创 UnityShader实例12:屏幕特效之马赛克(Mosaic)材质

马赛克(Mosaic)材质

2015-08-21 17:49:55 11586 5

原创 UnityShader实例11:积雪材质

积雪材质概述积雪材质是我自己给这个材质取的名字,既然是积雪,那顾名思义,雪是从天而降的,因此积雪都是在物体朝上的表面;不管你的模型怎么摆放 ,雪都保证是积在物体朝上(在unity里就是y轴正方向)的表面,如下图所示:实现原理要保证向上的面有积雪,其实就是模型表面的法线方向与世界坐标空间的Y轴正方向保持一致积

2015-08-07 17:14:22 9145

原创 UnityShader实例10:广告牌(Billboard)材质

广告牌(Billboard)材质Billboard概述Billboard技术在游戏引擎中占有很重要的地位,一般用在粒子效果或者光晕效果上,让粒子面片z轴朝向摄影机。Unity里面也不例外 ,在Unity的粒子系统中的render面板的render mode中就四中billboard模式可选,这些模式都是面对摄影机的,只是轴向的约束不同;另外Unity的Terrain系统里也有B

2015-08-05 17:00:12 12844 3

原创 UnityShader实例09:Stencil Buffer&Stencil Test

Stencil Buffer&Stencil Test在开始前先吐槽下unity的官方文档,说实话关于stencil ,官方文档真的是可以不要了,除了记流水账般解释了下各个参数的作用,作为例子的shader也是让人一头雾水,整个文档看下来,你发觉stencil是用来干嘛的,怎么操作,仍然不知道。好在unity的shaderlab 和D3D,OpenGL等shader语言是一致的,还

2015-07-17 15:44:16 31851 22

原创 UnityShader实例08:溶解消融(Dissolve)材质

溶解消融(Dissolve)材质在不少3D游戏中,角色死亡后会有一个溶解消融的特效,这个除了粒子特效以外还需要shader的配合。下面就是本例实现的一个效果,当然没有例子配合看起来是搓搓的,不过效果基本上已经出来了:shader实现原理消融效果需要用到的CG函数Clip(),这个函数的定义是如果输入向量的任何一个元素小于0,则抛弃当前像素;所以要实现上图逐渐消融

2015-07-14 09:35:02 14846

原创 UnityShader实例07:在shader调用unity内置lightmap和light Probes

在shader调用unity内置lightmap和Light Probe在编写unity shader的时候,有时候会有需求,希望写的shader能支持unity内置lightmap或者light probe (灯光探测器)。如果是用surface 编写的话,这些自然不用考虑,unity会自动编译支持,但如果是用vert&frag编写shader,这些需要自己添加相关代码调用了 。

2015-07-09 11:37:24 17385 3

原创 UnityShader实例06:UV动画

UV动画UV动画,顾名思义,就是针对UV做的动画。在游戏中,一些动态水面,飞流直下的瀑布,流动的岩浆,跳动的火焰等等,很多都是通过操作UV做的动画。在unity中我可以实用挂载脚本或者直接针对UV key动画帧做动画操作,而在本文中将通过shader编写实现三个比较常见的UV动画方式:1.UV位移动画2.UV序列帧动画3.UV旋转动画先从UV位移动画开始

2015-07-06 17:07:33 15377 4

原创 UnityShader实例05:Toon(卡通)材质

卡通材质卡通着色也叫Non-photorealisticrendering非真实渲染,通常一些3D游戏用来做一些卡通风格的游戏,一般来说特点主要有两点,一是描边,二是风格化着色,表现为明暗渐变过渡为非线性梯度着色。如下图所示:火影忍者和无主之地先做描边关于描边网上有不少资料,这里就其中比较常用的Rim lighting和法线外拓来实现;1.R

2015-07-02 10:53:06 17376 1

原创 UnityShader实例04:遮挡透明材质

遮挡透明材质边缘光材质原理和xray材质相类似,shader代码也就长得几乎一样了,一般游戏中做一些角色的背光效果,或者宝石材质(如下图所示),总之看怎么灵活运用了。

2015-06-19 16:27:27 19408 3

原创 UnityShader实例03:边缘光材质

边缘光材质边缘光材质原理和xray材质相类似,shader代码也就长得几乎一样了,一般游戏中做一些角色的背光效果,或者宝石材质(如下图所示),总之看怎么灵活运用了。shader代码实现VF版本代码01:Shader "PengLu/RimLightSimpleVF" { Properties { _MainTex ("Base (RGB)", 2D) = "w

2015-06-19 11:51:18 4926 1

原创 Unityshader实例02:Xray材质

实现效果需要实现的效果大概如下图所示原理及思路由图大概可知道X射线效果是中间很透明边缘比较亮的渐变效果,因此实现这种效果的话需要使用边缘光效果,可根据视角和物体表面的法线角度来实现,法线是垂直与物体表面的的,因此当法线与观察视线的角度越小,颜色就暗,而越靠近物体边缘法线与观察视线的角度就越大,颜色就越亮;shader代码实现VF版本代码01:Shad

2015-06-15 09:28:57 7767 4

原创 Unityshader实例01:冰块材质

简单版本效果如下原理使用法线贴图扭曲透明颜色贴图的uv值Shader 代码1Shader"PengLu/normal/iceTrans" {Properties { _Color ("Main Color", Color) = (1,1,1,1) _MainTex ("BaseTex ", 2D) = "white" {} _BumpMap ("Normalmap", 2D

2015-06-10 10:19:33 28548 9

火焰材质unityshader源码

火焰材质,,shader文件,适用于移动平台

2015-10-22

ImageEffect_BrokenScreen

一个碎屏效果的Unity屏幕后期特效,类似狂野飙车8的效果

2015-10-08

屏幕特效之径向模糊

使用于移动平台的unity径向模糊屏幕特效,效率不错

2015-09-24

Unity屏幕特效之Bloom

UnityShader实例15,配套资源,,适用于移动平台的屏幕bloom特效,效率不错

2015-09-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除