![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shader效果
文章平均质量分 54
OwenTA
专注TA的工作与学习
展开
-
shader之——单光源漫反射
Shader "Unlit/long"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Pass {//Always: 总是渲染;没有光照模式。//ForwardBase: 适用于前渲染、环境、主要方向灯、光/sh光和烘...原创 2017-12-25 10:54:35 · 344 阅读 · 0 评论 -
Shader 之——rampTex使用(崩坏3)
核心代码fixed4 frag(v2f i) : COLOR { fixed4 col = tex2D(_MainTex,i.uv)*_Brightness; fixed3 BumpMap = UnpackNormal(tex2D(_Bump, i.uv)); ...原创 2018-07-30 17:10:40 · 7555 阅读 · 0 评论 -
Shader之——根据摄像机的数值来控制物体通道
描述:已知数值satrt end 摄像机到物体数值d 物体的透明度a1:摄像机离开物体 由近到远 物体由不透明到透明的变化过程 如下图该补补数学知识了a =1 - (d-start)/(end - start)可以这么理解,将距离d距离先向前移动start,那么d-start的数值就是从0——end -start 要想把0——end-start的数值变成0到1那...原创 2018-07-31 19:45:07 · 596 阅读 · 0 评论 -
SurfaceShader之——自定义光照
Shader "Custom/aaa" { Properties { _MainTex ("Texture", 2D) = "white" {} } Subshader { //alpha测试,配合surf中的o.Alpha = c.a; AlphaTest Greater 0.4 CGPROGRAM #pragma surface surf...原创 2018-08-10 16:24:10 · 1117 阅读 · 0 评论 -
Shader之——高效率高度雾 云海
在网上研究了好长一段时间的高度雾 ,大概的方法分两种,一种是屏幕特效,一种是区域的模拟,都是需要开启相机的深度图,对移动端来说效率还是有一定的影响的,最后都放弃了。用我的野路子方法实现了个物体上的高度雾,远近雾,云海 效果如图:代码如下:Shader "scenes/FogSceneObj"{ Properties { _MainTex ("Texture", 2D) ...原创 2018-09-18 17:01:38 · 7933 阅读 · 7 评论 -
Shader之——角色实时阴影
移动段的实时阴影,之前的实现方案是,让角色受光,让接受阴影的地表受光,达到一个实时阴影的效果。然后就发现美术的地表做得比较复杂 面数跟材质球数量都不少,一旦受光,dc跟面数都增加的比较明显,对效率影响比较高。 于是有了新的方案,地表上本来就会做一层行走网格,面数比较少,而且整个场景也就一到两个模型,干脆就用行走网格来接受阴影。让产生阴影的地方半透叠加到地表,没有阴影的地方全透...原创 2019-01-16 16:02:01 · 2318 阅读 · 1 评论 -
shader之——rain
1.地面shaderShader "baicai/me02" { Properties { _MainTex ("MainTex", 2D) = "white" {} _Bump ("Bump", 2D) = "bump" {} _Bump02("Bump02",2D) = "Bump"{}原创 2019-03-08 15:00:54 · 718 阅读 · 1 评论 -
Pbr公式结合shader一
原理方面的东西很难搞明白,越研究疑惑越多,所以先放弃原理,今天结合unity shader来分析下如何套用原理方面的东西很难搞明白,越研究疑惑越多,所以先放弃原理,今天结合unity shader来分析下如何套用,第一次研究,如果有错误的地方欢迎指出。反射率方程将这个公式拆分为两部分第一部分:这是半球积分,表示多光源下光照的叠加,主要是为了环境反...原创 2019-03-07 11:07:25 · 2486 阅读 · 0 评论 -
博客打赏
亲,如果您觉得本文不错,愿意给我一些动力的话,请用手机扫描二维码即可向我打赏微信扫码:原创 2019-03-08 11:30:48 · 906 阅读 · 0 评论 -
shader之——RendererTex的通道问题
1.问题描述当3D模型被渲染成2D图片的时候 ,原来3D模型的通道显示出现了错误2.解决方案。网上有人提出把混合改成:Blend One OneMinusSrcAlpha这样对特效是有用,能让通道变正确,但是原来的3D效果已经被改变了,角色都变亮了正确的改变方式是:这样既不会改变原来的混合方式,又能让渲染出来的图片通道是以最大值来显示亲,...原创 2018-06-25 11:23:27 · 371 阅读 · 0 评论 -
shader之——光照烘焙
Shader "Game_XXX/Scenes/HouseShow"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "Queue"="Geometry"} Pass { CGPROGRAM...原创 2017-12-22 16:08:24 · 729 阅读 · 0 评论 -
shader之——最常用的Blend
shader的Blend混合一直是个很头痛的东西,组合的种类比较多,所以效果比较难记得,所以今天来总结一下1.Blend SrcAlpha OneMinusSrcAlpha 源颜色 x 源通道 + 目标颜色 x(1 - 源通道) A * alpha + B*(1-alpha)这就是我们常用的 alpha blending ,效果比较接近源颜色,可以深一些2.Blend原创 2018-01-16 11:07:24 · 5636 阅读 · 4 评论 -
shader之——多光源漫反射以及阴影
Shader "Unlit/MulLight"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { //一盏主灯 Pass { //Always: 总是渲染;没有光照模式。 ...原创 2017-12-25 11:01:23 · 2383 阅读 · 0 评论 -
shader之——单光源,法线,高光,+天空盒环境反射(HDR)
Shader "baicai/me02" { Properties { _MainTex ("MainTex", 2D) = "white" {} _Bump ("Bump", 2D) = "bump" {} _Intension ("强度", Range(0, 10)) = 10 _Scale ("范围&q原创 2017-12-25 11:03:08 · 1775 阅读 · 0 评论 -
shader之——扭曲
1.分析:让一个图片扭曲起来需要对他的uv做改变,正在扭曲的是uv思路:1,让一张贴图A 做一个uv动画 或者多张贴图,做不同方向的uv动画2.主贴图采样的时候,uv加上A的某个通道值,因为A在移动的时候,他的值会由0到1不停的变化 然后就可以扭曲起来了0到1的数值太大了,所以可以乘上一个系数,让它的幅度变小。这种情况有个缺点,0到1会让它的uv扭曲的同时会往一边偏移,...原创 2017-12-25 11:14:10 · 2681 阅读 · 0 评论 -
shader之——移动端阴影实现
移动端阴影的实现有很多种方式,用shader实现个人觉得是比较省的方法。原理比较简单,将模型的沿着y方向压扁,然后按照一个方向把zx做延伸,相当于多渲染一次模型,也多了一个dc但是比起昂贵的实时阴影,还是相当省的。阴影相当于一个平面,即使是这样,也可以适应稍有起伏的地形代码如下:Shader "Game-X/PlanarShadow" { Prope...原创 2017-12-25 11:17:17 · 1971 阅读 · 2 评论 -
shader之——移动端次时代
做ta有两年多了,市面上有比较多的次时代手游出现,然而很多项目组还是望而却步。最纠结的还是效率问题,今天就按照自己的理解,聊聊如何可以做一个高效率的次时代手游。 次时代手游,最有代表性的一块,是场景,它在人的视野中占据大部分比例,而场景最重要的是地表,所以今天只谈谈地表的次时代制作。一.贴图部分 首先,一个地表需要包含diffcuse、 bump、spemask...原创 2017-12-25 11:25:07 · 3076 阅读 · 3 评论 -
shader之——shadowGun代码分析
shadowGun是官方一个很早的demo,但是里面的东西真的是值得一学 1.烟火,大多数人都是选择粒子来做这样的烟火,在shadeGun中只是用了一个片搞定了如此真实的烟火,效率上面真的是比粒子好的不是一般的多。// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*...原创 2017-12-25 11:27:30 · 1040 阅读 · 0 评论 -
shader之——单光源,法线,高光,+cubeMap
Shader "baicai/me02" { Properties { _MainTex ("MainTex", 2D) = "white" {} _Bump ("Bump", 2D) = "bump" {} _Intension ("强度", Range(0, 10)) = 10 _Scale ("范围&q原创 2017-12-25 10:58:38 · 752 阅读 · 0 评论 -
shader之——冰冻
网上看到了一些冰冻的模型 不太适合移动端,所以优化了一下,在次记录一下Shader "KriptoFX/RFX4/Decal/IceMobile" { Properties{ _Color("Main Color", Color) = (1,1,1,1) [HDR]_ReflectColor("Reflection Color", Color) = (1,1,1...原创 2018-01-04 15:15:44 · 8347 阅读 · 3 评论 -
shader之——rain
1.地面流水shaderShader "baicai/me02" { Properties { _MainTex ("MainTex", 2D) = "white" {} _Bump ("Bump", 2D) = "bump" {} _Bump02("Bump02",2D) = "Bump"{}原创 2017-12-28 10:17:54 · 739 阅读 · 5 评论 -
shader之——湖水(河流倒影)
先上图1.水shaderShader "Game_XXX/whater" { Properties { _WaterTex ("Normal Map (RGB), Foam (A)", 2D) = "white" {} _WaterTex2 ("Normal Map (RGB), Foam (B)", 2D) = "white" {...原创 2017-12-28 10:27:51 · 3715 阅读 · 1 评论 -
shader之——序列shader
描述 不用脚本,只用shader来实现序列动画代码如下Shader "Effects/XuLie"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Color ("color",color) = (1,1,1,1) _AmountH ("...原创 2017-12-28 10:34:33 · 375 阅读 · 0 评论 -
shader之——溶解
描述 在网上看到很多溶解的例子 ,有个点不太好理解,就是溶解的边缘加上颜色过度,可以控制过度的宽度以及颜色值,今天来研究一下这个算法代码如下:Shader "Unlit/NewUnlitShader"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Clip原创 2017-12-28 10:39:05 · 2394 阅读 · 0 评论 -
shader之——物体出生效果
先看下效果Shader "Esfog/Dissolve" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _MainColor("MainColor",color) = (1,1,1,1) _NoiseTex ("NoiseTex ...原创 2017-12-25 11:08:44 · 554 阅读 · 0 评论 -
shader之——球形烟雾 &&CG函数saturate与abs的用法
今天接到个需求,做一个球形的烟雾,让3D场景自己在场景里去摆放,贴图不是4方连续的,所以看上去有接缝哈,具体的让特效自己去调效果了:遇到了一个从来都没注意过的问题,做了一个球形的烟雾,用了边缘透明的方式,同时用了Cull Off,但是无论如何都无法显示背面,找到了原因,在此记录一下。shader代码如下:// Upgrade NOTE: replaced 'mul(UNIT...原创 2018-01-13 17:28:52 · 4679 阅读 · 3 评论 -
shader之——移动端模拟深度水
描述:在网上看到很多效果很好的水,比如根据水的深度,颜色有深浅变化,能让水变得更真实,但是又会涉及到比较复杂的计算,在移动端上面还是有些吃力的。最近研究了一下,想在移动端上面模拟这样的效果 :1 水的深浅透明度变化2 水的深浅颜色变化3 水上的阴影模拟(大面积的水通过烘焙比较浪费烘焙图)根据上面的3点,可以通过一张黑白图的rg通道来实现深浅以及阴影的模拟 效果如下如...原创 2018-01-15 10:29:45 · 5500 阅读 · 7 评论 -
shader之——优化一(变量类型)
首先了解一下shader中需要用到的变量类型1.float:32位单精度的数据类型,是3个类型中最慢的,同时对应的坐标类型为float2,float3,float4.2.half :16位浮点类型,速度比float快得多,范围是[-6万, +6万],能精确到十进制的小数点后3.3位,相似得坐标类型为half2,half3, half4.3.fixed:通原创 2018-01-24 19:53:49 · 610 阅读 · 0 评论 -
Shader之——花草动画shader
今天 ,接到了个需求,花草的动画。谈到花草动画,立马就想到顶点动画,让顶点动起来就可以实现了。但是有个问题,所有的草都往一个方向运动,这个就麻烦了。因为在shader里没有随机这种概念,提到最多的是用一张噪声图来模拟。在网上搜索了一下,发现有更好的办法,就是用每个顶点到一个点的距离来控制动画的开始,毕竟每个顶点到同一个点的距离很少是一样的。float dis = distance ...原创 2018-02-01 19:31:18 · 1916 阅读 · 2 评论 -
unity编辑器拓展十二——用脚本控制特效的渐隐渐出(使用ReorderableList绘制List)
正常特效的渐隐渐出 是靠美术来k关键帧,比较不方便,就想着用脚本来控制比较方便,只要填写什么时候开始,渐出需要多长时间,中间持续多长时间,渐隐需要多长时间,填完就可以了,也方便修改。脚本1:需要绘制的类 以及UpData里的计算using System.Collections;using System.Collections.Generic;using UnityEngine;...原创 2019-07-10 17:28:06 · 1149 阅读 · 0 评论