自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

baicaishisan的博客

记录TA的工作过程

  • 博客(59)
  • 收藏
  • 关注

原创 unity编辑器拓展十二——用脚本控制特效的渐隐渐出(使用ReorderableList绘制List)

正常特效的渐隐渐出 是靠美术来k关键帧,比较不方便,就想着用脚本来控制比较方便,只要填写什么时候开始,渐出需要多长时间,中间持续多长时间,渐隐需要多长时间,填完就可以了,也方便修改。脚本1:需要绘制的类 以及UpData里的计算using System.Collections;using System.Collections.Generic;using UnityEngine;...

2019-07-10 17:28:06 1118

原创 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 684 1

原创 shader之——自定义shader光照烘焙

Shader "Game_XXX/Scenes/HouseShow"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "Queue"="Geometry"} Pass { CGPROGRAM...

2019-03-08 14:55:30 1609

原创 博客打赏

亲,如果您觉得本文不错,愿意给我一些动力的话,请用手机扫描二维码即可向我打赏微信扫码:

2019-03-08 11:30:48 886

原创 Pbr公式结合shader一

原理方面的东西很难搞明白,越研究疑惑越多,所以先放弃原理,今天结合unity shader来分析下如何套用原理方面的东西很难搞明白,越研究疑惑越多,所以先放弃原理,今天结合unity shader来分析下如何套用,第一次研究,如果有错误的地方欢迎指出。反射率方程将这个公式拆分为两部分第一部分:这是半球积分,表示多光源下光照的叠加,主要是为了环境反...

2019-03-07 11:07:25 2448

原创 Shader之——角色实时阴影

移动段的实时阴影,之前的实现方案是,让角色受光,让接受阴影的地表受光,达到一个实时阴影的效果。然后就发现美术的地表做得比较复杂 面数跟材质球数量都不少,一旦受光,dc跟面数都增加的比较明显,对效率影响比较高。 于是有了新的方案,地表上本来就会做一层行走网格,面数比较少,而且整个场景也就一到两个模型,干脆就用行走网格来接受阴影。让产生阴影的地方半透叠加到地表,没有阴影的地方全透...

2019-01-16 16:02:01 2299 1

原创 图形学一——渲染流程

Opengl 渲染流程:一  、cpu:       模型文件 加载到内存  通过MeshRender 渲染出来       1. 模型文件:包含模型 顶点 uv 法线  切线  等渲染所需要的信息       2. MeshRender:将信息传递给Gpu .   skin mesh render / mesh render mesh filter       3.skin me...

2018-09-29 20:41:55 3765

原创 Shader之——高效率高度雾 云海

在网上研究了好长一段时间的高度雾 ,大概的方法分两种,一种是屏幕特效,一种是区域的模拟,都是需要开启相机的深度图,对移动端来说效率还是有一定的影响的,最后都放弃了。用我的野路子方法实现了个物体上的高度雾,远近雾,云海 效果如图:代码如下:Shader "scenes/FogSceneObj"{ Properties { _MainTex ("Texture", 2D) ...

2018-09-18 17:01:38 7862 7

原创 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 1111

原创 Unity之——发布Android平台

在发布Android项目之前,开发人员需先下载并安装Java SDK和Android SDK. 在本书中所用懂得Java SDK为1.80版本,Andriod SDK要APL Level21也就是Android 5.0以上,build-tools版本在20.0以上。http://www.Oracle.com/technetwork/Java/javase/downloads/index.htm...

2018-08-10 10:21:48 1589

原创 unity之——显示场景帧数脚本

using UnityEngine;public class FPS : MonoBehaviour{ float fps; int frames; string hudstr; float lasttime; Rect hudrc; Rect hudbkrc; public FPS() { } void...

2018-08-10 09:54:16 601

原创 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 590

原创 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 7520

原创 Shader学习过程11——3D数学基础

一、坐标系(2D坐标系   3D坐标系)1、模型坐标系2、世界坐标系3、摄像机坐标系4、屏幕坐标系

2018-07-12 20:37:57 470

原创 shader之——RendererTex的通道问题

1.问题描述当3D模型被渲染成2D图片的时候 ,原来3D模型的通道显示出现了错误2.解决方案。网上有人提出把混合改成:Blend One OneMinusSrcAlpha这样对特效是有用,能让通道变正确,但是原来的3D效果已经被改变了,角色都变亮了正确的改变方式是:这样既不会改变原来的混合方式,又能让渲染出来的图片通道是以最大值来显示亲,...

2018-06-25 11:23:27 361

原创 Shader学习过程10——Cg函数

    定制函数 函数的传参 函数的前向声明1.函数必须要在用之前声明void Func( ){ }void frag (inout float4 col:COLOR){ Func( );} 2.如果想把函数放在后面 需要提前声明void Func ();void frag (inout float4 col:COLOR){    Func...

2018-06-11 10:45:07 421

原创 Shader学习过程9——Cg入门

渲染管线 可以定制顶点和片段程序,目的是对颜色进行计算顶点和片段程序的输入输出常用语义: POSITION COLOR TEXCOORD向量:    swizzle操作  xyzw  rgba   float4(xy,0,1)  可以随便颠倒顺序    宏定义:# define MACROFL  float4(0,1,0,1);    宏使用:float4 a = MACROFL;        ...

2018-06-07 10:52:50 905

原创 Shader学习过程8——5.x以前的SurfaceShader

Shader "Custom/SurfaceShader" { Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 200

2018-06-04 14:53:24 210

原创 Shader学习过程7——SurfaceShader

SurfaceOutput:Input:Lighting:光照shadow:阴影              只是对顶点和片段着色器的一种包装。Shader "Custom/SurfaceShader" { Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" {}...

2018-06-04 11:43:06 316

原创 Shader学习过程6——固定管线shader2

Shader "Custom/002"{ properties { //程序名 (“材质球选项显示名字”,类型)= 参数默认值 _Color("MainColor",Color) = (1,1,1,1) _Ambient("Ambient",Color) = (0.3,0.3,0.3,1) _Specular("Specular",color) = (1,1,1,1) _Shi...

2018-06-02 16:29:10 254

原创 Shader学习过程5——固定管线shader1

        Fixe function shader : 固定功能的shader,  针对硬件能够执行的基本的命令进行编写的shader。这种shader功能有限,但是速度是最快的,可以在所有的硬件平台上运行。        properties        material        lighting        settexture        passshaderlab结构sh...

2018-06-01 11:06:20 296

原创 Shader学习过程4——shader的组织形式

unity当中有3中不同的编写shader的方案        1、surface shaders  表面着色器 推荐使用。 可以完成百分之90的效果,是在vertex and fragment shaders上做了包装,方便大家使用。        2、vertex and fragment shaders  顶点 和 片段 着色器。一切皆有可能        3、fixed function ...

2018-05-31 20:27:53 311

原创 shader学习过程3——shader编程语言

        shader language最初是由汇编语言编写,难度高,入门难。现在由三种高级语言可以编写。        一 、HLSL        基于DirectX的High Level Shading Language,简称HLSL。DirectX简称DX,微软的产品。优点:与硬件无关的软件接口,只支持windows平台。        二、GLSL        基于OpenGL的...

2018-05-31 15:51:57 4919

原创 shade学习过程2——shader和渲染管线

        一 shader        shader,也叫着色器,是一种较为短小的程序片段,用于告诉图形硬件如何计算和输出图像,过去由汇编语言来编写,现在也可以使用高级语言来编写。一句话概括:Shader是可编程图形管线的算法片段。            分为两类:Vertex Shader 和Fragment Shader.       二 、渲染管线        渲染管线也称为渲染流...

2018-05-30 11:21:20 886

原创 shader学习过程1——图形硬件历史

        最枯燥的东西,看了忘,忘了还不想看......了解一下吧。一、GPU发展简史      GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”,在现代计算机系统中的作用变得越来越重要。      20世纪六七十年代,人们只是从软件实现的角度考虑图形用户界面的规范问题,并没有GPU的概念。        20实际70年代末,GPU概念被提出,使用单片集...

2018-05-28 17:35:59 600

原创 动作批量导出fbx插件

描述:3D角色做完把模型给动作,然后动作做完需要导出fbx到unity,当有大量的动作需要导出的时候,对动作来说是非常痛苦的,所以根据动作max文件的储存路劲与max的命名,做了一个批量导出工具。这里将导出类型分成NPC,body,face,head,可以根据自己的项目进行更改。工具截图如下:代码如下macroscript 批量导出category:"批量导出"toolTip:...

2018-05-09 15:27:49 4089 2

原创 unity编辑器拓展十二——储存工具栏的数据

大多数时候 我做的unity工具都是一次性的,也就是在场景中操作,关闭unity再打开,或者关闭工具再打开的时候,都没有保存工具上的操作数据;如图:这是在unity里面拖拽两张贴图上去,然后就可以对这两张贴图做各种处理 处理完将贴图保存进unity,但是如果我下次打开的时候,我这两张贴图已经丢失了,又是下面的这种状态,也就是说这些数据没有被保留在工具里。现在想做的就是希望下次打开的时...

2018-03-10 14:19:12 1511

原创 unity学习一——烘培

参数:Environment : 环境设置 Sky Material : 是整个场景的一个包装,它可以显示除了几何图形之外的世界.用于模拟天空或其他远处的背景。使用此属性可选择要用于场景的天空盒 材质。api:Skybox.Material勾选时,如果混合照明模式为距离阴影遮罩或阴影遮罩,Unity会显示光线探测器的遮挡数据 Sun Source : 当...

2018-03-06 17:29:17 2560

原创 unity编辑器拓展十一——将两张RGB图合并成一张

游戏角色shader,包含的东西比较多,还要做到动态合并,程序那边希望贴图经可能少,而我们美术用了两张图,一张图的RGB是高光、流光、自发光,另外一张图的RGB是不同区域的偏色,其实每个通道的一整张贴图只用了一部分,其他地方都是空的,于是就想到把两张图合并成一张图来使用。合并后的这张贴图的R通道:0到128 为高光 128到255为偏色区域,前提是偏色跟高光不要重合 所以这个偏色区...

2018-02-23 11:11:07 5955

原创 Shader之——花草动画shader

今天 ,接到了个需求,花草的动画。谈到花草动画,立马就想到顶点动画,让顶点动起来就可以实现了。但是有个问题,所有的草都往一个方向运动,这个就麻烦了。因为在shader里没有随机这种概念,提到最多的是用一张噪声图来模拟。在网上搜索了一下,发现有更好的办法,就是用每个顶点到一个点的距离来控制动画的开始,毕竟每个顶点到同一个点的距离很少是一样的。float dis = distance ...

2018-02-01 19:31:18 1875 2

原创 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 589

原创 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 5358 4

原创 shader之——移动端模拟深度水

描述:在网上看到很多效果很好的水,比如根据水的深度,颜色有深浅变化,能让水变得更真实,但是又会涉及到比较复杂的计算,在移动端上面还是有些吃力的。最近研究了一下,想在移动端上面模拟这样的效果 :1 水的深浅透明度变化2 水的深浅颜色变化3 水上的阴影模拟(大面积的水通过烘焙比较浪费烘焙图)根据上面的3点,可以通过一张黑白图的rg通道来实现深浅以及阴影的模拟 效果如下如...

2018-01-15 10:29:45 5461 7

原创 shader之——球形烟雾 &&CG函数saturate与abs的用法

今天接到个需求,做一个球形的烟雾,让3D场景自己在场景里去摆放,贴图不是4方连续的,所以看上去有接缝哈,具体的让特效自己去调效果了:遇到了一个从来都没注意过的问题,做了一个球形的烟雾,用了边缘透明的方式,同时用了Cull Off,但是无论如何都无法显示背面,找到了原因,在此记录一下。shader代码如下:// Upgrade NOTE: replaced 'mul(UNIT...

2018-01-13 17:28:52 4654 3

原创 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 8277 3

原创 shader之——溶解

描述  在网上看到很多溶解的例子 ,有个点不太好理解,就是溶解的边缘加上颜色过度,可以控制过度的宽度以及颜色值,今天来研究一下这个算法代码如下:Shader "Unlit/NewUnlitShader"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Clip

2017-12-28 10:39:05 2365

原创 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 365

原创 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 3676 1

原创 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 729 5

原创 shader之——shadowGun代码分析

shadowGun是官方一个很早的demo,但是里面的东西真的是值得一学  1.烟火,大多数人都是选择粒子来做这样的烟火,在shadeGun中只是用了一个片搞定了如此真实的烟火,效率上面真的是比粒子好的不是一般的多。// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*...

2017-12-25 11:27:30 1027

空空如也

空空如也

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

TA关注的人

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