自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 URP颜色空间转换函数位置

URP的颜色空间转换函数,都放在了\[email protected]\ShaderLibrary\Color.hlsl记录下,方便查找

2020-09-09 12:02:51 312

原创 UNITY URP环境色 和 built-in 环境色的函数区别

好久没写blog,最近刚升级到2019,把项目切换到URP,尝试看看能提升多少性能.在转换shader的过程中(全部手动转换T T),发现环境色 Ambient Color的函数变化了.URP官方的文档中给予了三个新变量real4unity_AmbientSky;real4unity_AmbientEquator;real4unity_AmbientGround;Built-in中函数是UNITY_LIGHTMODEL_AMBIENT但尴尬的是用上面3个任意一个去替换原始...

2020-07-29 12:29:25 1661 4

原创 在小米mix黑鲨系列手机上,Shader效果bug

在pc Unity端安卓环境 测试正常后发现在小米黑鲨系列手机 shader显示效果错误.经过一上午的排除对比,不停的出真机包.找到了问题的所在: 错误效果 fixed mixNdotL = max(dot(tangentNormal, -i.worldLightDir), 0); 正确效果 fixed mixNdotL = sa...

2020-06-19 00:12:13 486

原创 unity 透明shader注意事项

如果透明物体要开启双面,并且有一些额外的效果.这时采用一个pass做完,真机会有mesh破碎,黑块等等错误,问题其实就在于Front和Back两层的关系没有处理好.经过一些尝试我发现不管怎么处理,在单个pass下 双面透明都会有破碎的现象.解决方式: pass分拆.Front和Back分别写一个pass即可解决.附带一个额外的好处就是两层可以写不同的效果....

2020-03-05 20:48:54 215

原创 UI shader 增加mask遮罩的支持

年前最后一贴,祝自己在明年能获得更多的Exp.在为ui写shader时 一定要考虑到 ui mask 的问题, 加入对应的裁剪代码.[Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0ZTest [unity_GUIZTestMode]#include "UnityUI.cginc"...

2020-01-19 12:48:44 734

原创 Unity Shader Tags 位置不同的区别

Tags 有两种写法 一是写在Subshader 下 二是写在Pass下 以前一直没注意两者见的区别.今天偶然发现区别非常的大,而且非常的实用.一句话概括: Subshader下的Tags 在把一个材质球更换shader后,材质球的Render Queue 会自动改为Tags中写的Queue. Pass下的Tags 在材质球更换shader...

2019-11-06 16:49:00 183

原创 在TextMesh下 实现擦黑板效果

先上效果最开始的思路上是想通过一张贴图来做Mask遮罩,然后移动这张图来实现擦除效果.要做贴图就要有UV.在开始动手后,才发现Text Mesh的UV几乎是乱序的.也就是不能使用字体的默认UV去映射Mask.见下图.既然默认的不能用,咋整,就创建一个新的UV来映射Mask吧.U和V考虑的是不同的创建方法:U = lerp(0, 0.3 , i.posWorld.x+_...

2019-10-10 14:45:26 372 2

原创 UnpackScaleNormal函 使用遇到的问题

今天吃了没文化的亏,复盘下half3 UnpackScaleNormal(half4 packednormal, half bumpScale)这个函数用来使用法线贴图,同时用bumpScale变量控制法线的强度.那么问题来了,写进去后,bumpScale就是无效果,也无任何报错.滚来滚去查了1小时,想起去看这个函数的结构如下half3 UnpackScaleNormal(ha...

2019-09-24 16:26:35 1795

原创 Unity Shader ShadowCaster Pass

备忘在此unity2017.4版本的shadowcaster pass,加上此pass后,物体可以产生投影.为何把这个pass单独写出,因为fallback/Diffuse或其他的默认shader,虽然也能产生同样的效果,但还是想尽量可控 Pass { Name "ShadowCaster" Tags { "LightMode" = "ShadowCa...

2019-08-22 16:41:20 2366

原创 Unity Particle System Custom Date 测试

复盘下 Custom Date 的使用过程(初次学习若有错,欢迎大佬指正)Custom Date 是输出参数给shader的接口 ,相当于shader 中的Properties 需要配合Render下的Custom Vertex Streams一起使用,Custom Vertex Streams(自定义顶点流)是输出何种参数给shader的路径或者说一个管道,相当于shader中的a2v.举...

2019-05-07 19:42:01 2709

原创 UV分割,同时压黑相邻UV

压黑相邻UV是为了做中心点缩放时,避免周边的内容影响到中心

2019-03-07 18:42:43 274

原创 uv控制

v.uv += (v.uv.xy*_FlowMap_ST.xy+(_FlowMap_ST.zw+_FlowSpeed.xy));笔记,方便查找

2019-03-04 11:45:24 432

原创 cull off 导致的错误显示

cull off   灯光和法线dot 产生的阴影中就会有蜜汁赛博朋克感.(模型法线特殊处理过,有多层UV)cull back 解决

2019-01-08 17:42:02 547

原创 "LightMode"="ForwardBase"的坑

如果不在tags里写入"LightMode"="ForwardBase"    灯光的向量取值会出错.......md查了几个小时才查出来.

2018-08-29 18:58:58 4204 1

原创 导入模型顶点色信息的坑

找了半个多小时,发现 float4 vertexColor:COLOR;  这里的COLOR写成Color 虽然写错了但是并不会报错,导致一直找不到错误.

2018-08-21 21:23:45 3111

原创 shader 贴图隐藏缩放偏移

[NoScaleOffset]_MainTex("Main Texture UV3",2D)="white"{} 

2018-08-20 10:11:07 1009

原创 Shader学习笔记 - uv贴图扭曲平移自发光效果

今天终于可以学以致用一把~~~在之前TA大神写的shader上我稍稍改了改.本意是加一个简单的流光效果,脑海中想的是加一张贴图滚UV就得,然后越写越收不住,添加了速度,扭曲强度,流光总强度几个参数,还把流光的贴图UV做了一个混合,达到扭曲的效果.效果本身很简单,用shader forge 也能简单实现.代码就不贴了.谨此纪念第一次用代码实战....

2018-05-10 16:45:43 1554 2

原创 Shader学习笔记(17) 顶点偏移水面动画

Shader"wx/water"{ Properties{ _MainTex("Main Tex",2D)="white"{} _Color("Color Tint",Color)=(1,1,1,1) _Magnitude("Distortion Magnitude",Float)=1 _Frequency("Distortion Frequency.

2018-05-08 19:02:23 1173

转载 Shader 学习笔记(16) 帧动画Shader

学习帧动画的思路,附图这套算法不支持CLAMP模式的贴图.实际用起来肯定会出乱子,所以网上看了其他大神的帧动画Shader写法,找到一个蛮好的附在这里,原文为:点击打开链接.为了方便我把大神的代码贴在这里Shader "Custom/SpriteAnimation"{ Properties { _MainTex("main tex" ,2D) = ""{} ...

2018-04-27 17:14:33 299

原创 Shader 学习笔记(15) Glass毛玻璃效果

用到了一个新的PASS:GrabPass.效果图如下:因为是先截取屏幕后,进行一个混合运算,黄色方块虽然在plane的前方,但还是会有扭曲的效果.如果要实现清澈河流的效果.可能还是用Render Texture 更加的合适.也更节省性能.切线空间转换这里现在还不是很懂.当前只是把代码扒下来.有空回头再看几遍空间转换.Shader"wx/Glass"{ Properties{ _MainTex...

2018-04-26 18:00:22 1233

原创 Shader 学习笔记(14) Fresnel 效果

菲涅尔效果.书上的公式,效果图和原书相比,代码上我稍微调整了下:1 添加了菲涅尔颜色,让效果更显而易见. 2 添加了菲涅尔范围控制,原书中是固定值,我改为范围变量.代码如下:Shader"wx/Fresnel"{ Properties{ _Color("Color Tint",Color)=(1,1,1,1) _FresnelScale("Fresnel Scale",Range(0,1...

2018-04-20 18:21:10 2571

原创 Shader 学习笔记(13) CUBEmap折射效果

基于CUBEmap的折射效果,本质上物体还是不透明的实体.只是在映射CUBEmap时,加入一个折射比的计算.对cubemap映射到物体上的效果做一个折射扭曲算法.并不是通常意义上的光穿过透明物体后产生的折射效果.当折射比为1时,就是无折射效果,模拟一个透明的物体.但如果场景中有个其他物体,产生了遮挡深度关系.那么这个效果就非常的假了,引申下,如果实时抓取环境效果,比如利用反射探针,那么应该会有可以...

2018-04-20 14:46:28 673

原创 Shader 学习笔记(12) Cubemap反射

学到这里有时候还是会懵逼,从这里开始书中的内容不会全部详细说明了.有些函数需要自己查才能知道含义和用法.下面放上我写的cubemap反射效果,和书中相比,减少了对阴影衰减的控制.我还是喜欢纯粹一点的.先上效果图学习过程中,有一些疑问,查了资料后精简了一些代码.关于UnityObjectToWorldNormal,这个函数,在查了UnityCG.cginc后发现返回的值已经做了归一化处理.Shade...

2018-04-19 16:45:25 676

原创 Shader 学习笔记(11) RenderType为Transparent的混合透明

透明度混合可以实现真正的透明,本例中采用的混合方式为Blend SrcAlpha OneMinusSrcAlpha.Blend命令后接着写入不同的混合方式.混合方式有多种组合(后续单独写一篇).SrcAlpha OneMinusSrcAlpha的混合后效果的公式为Shader "wx/AlphaBlendMat"{ Properties{ _Color("Main Tint",Color)=...

2018-04-16 15:48:21 1893

原创 Shader 学习笔记(10) Transparent Cutout效果

开始学习透明和半透明相关Shader效果,对于美术来讲是非常重要的部分.Transparent  Cutout在视觉效果和实体物体一样.透明度只能选择0和1.最终的返回的frag值在A上 还是默认的1.0Shader "wx/Alpha Test"{ Properties{ _Color("Main Tint",Color)=(1,1,1,1) _MainTex("Main Tex",2...

2018-04-16 11:22:24 4000

原创 Shader 学习笔记(9) Ramp贴图

// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'Shader "wx/Ramp"{ Properties{ _Color("Color",Color)=(1,1,1,1) _RampTex("Ramp Tex",2D)="white"{} _Specular("Specular",Color)...

2018-04-12 17:55:40 4129 1

原创 Shader 学习笔记(8) 法线贴图

struct a2v    {     float4 vertex:POSITION;     float3 normal:NORMAL;     float4 tangent:TANGENT;     float4 texcoord:TEXCOORD0;    };    struct v2f    {     float4 pos:SV_POSITION; ...

2018-04-11 17:49:41 450

原创 Shader 学习笔记(8) Bilnn-Phong 光照

v2f vert(a2v v){ v2f o; o.pos=UnityObjectToClipPos(v.vertex); o.worldNormal=mul(v.normal,(float3x3)unity_WorldToObject); ...

2018-04-10 11:50:44 401

原创 Shader 学习笔记(7) 基本光照模型中高光反射

公式 CGPROGRAM #pragma vertex vert #pragma fragment frag #include "Lighting.cginc" fixed4 _Diffuse; fixed4 _Specular; ...

2018-04-10 11:26:54 255

原创 Shader 学习笔记(6) 半兰伯特光照模型

公式   fixed4 frag(v2f i):SV_Target{              fixed3 ambient=UNITY_LIGHTMODEL_AMBIENT.xyz;               fixed3 worldNormal=normalize(i.worldNormal);               fixed3 worldLight=normalize(_World...

2018-04-10 09:48:15 303

原创 unity 菲涅尔透明 遮挡自身背面效果 ASE连线图

2018-04-10 09:43:42 3282

原创 Shader 学习笔记(5) 逐顶点漫反射光照模型

漫反射光照模型公式Shader "wx/b5"{       Properties{          _Diffuse ("Diffuse",Color)=(1,1,1,1)       }       SubShader{           Pass{              Tags {"LightMode"="ForwardBase"} //定义lightmode为ForwardBa...

2018-04-09 18:33:06 350

原创 Shader 学习笔记(4)

CGPROGRAM#pragma vertex vert#pragma fragment fragstruct a2v {       float4 vertex :POSITION;       float3 color :COLOR;       float3 normal:NORMAL;};//使用一个结构体定义顶点着色器的输出 v2f=vertex shader to fragment,输...

2018-04-09 11:24:11 242

原创 Shader 学习笔记(3)

Shader "wx/3"{       Subshader{                 Pass{                      CGPROGRAM                         #pragma vertex vert               //声明 vert 函数 包含顶点着色器代码                         #prgame fr...

2018-04-08 18:06:55 163

原创 Shader 学习笔记(2)

Shader "wx/Simple Vertex Shader"{         SubShader{             Pass{            CGPROGRAM                   #pragma vertex vert                          #pragma fragment frag                      fl...

2018-04-04 00:40:13 152

原创 Shader 学习笔记(1)

Properties{              //参数定义语句_Color ("Color Tint",Color)=(1,1,1,1)    //定义一个名为Color Tint 的颜色参数,默认值为白色_MainTex("Main Tex",2D)="white"{}        //定义一个纹理,名字为Main Tex,默认纹理颜色为白色_Specular ("Specular",Co...

2018-04-01 12:53:20 798

转载 "Particles/Additive" shader 源码

Shader "Particles/Additive" {Properties {_TintColor ("Tint Color", Color) = (0.5,0.5,0.5,0.5)_MainTex ("Particle Texture", 2D) = "white" {}_InvFade ("Soft Particles Factor", Range(0.01,3.0)) ...

2018-03-12 14:42:31 5761

原创 多个按钮监听

using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;using UnityEngine.UI;public class sceneload : MonoBehaviour { private Text text

2017-10-24 17:06:56 705

原创 坦克游戏初学代码整理1

using System.Collections;using System.Collections.Generic;using UnityEngine;public class TanksMovement : MonoBehaviour { public float speed = 5; public float angularspeed = 10; private

2017-10-10 18:16:16 414

TOYS玩具模型资源

3dmax模型高模,卡通玩偶模型 ~

2018-06-12

空空如也

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

TA关注的人

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