
Shader
文章平均质量分 66
我只是个小透明
什么时候才能成为游戏开发的大神呢(o゜▽゜)o☆
展开
-
【Unity5.x Shaders】使用Shader制作河流效果
感觉终于开始做一些有意思的Shader了。这次来学习如何通过更改UV值来滚动纹理以达到河流,瀑布等动画效果。这是相关Shader代码Shader "Custom/ScrollingShader" { Properties { _MainTint("Diffuse Tint",Color)=(1,1,1,1) _MainTex ("Base (RGB)", 2D原创 2016-10-20 21:00:39 · 5623 阅读 · 1 评论 -
【Unity5.x Shaders】Properties 属性
Properties 块中的代码就是Shader的属性属性的语法定义分为4个部分: 1: 在Shader代码中使用的变量名 2: Inspector面板中显示的GUI名称 3: 数据的类型 4 :默认值Unity支持的Properties类型如下: Range(min,max) :创建一个值从min到max的Slider,值的类型为floatColor :在 Inspe原创 2016-10-16 20:32:10 · 624 阅读 · 0 评论 -
【Unity5.x Shaders】最基本的Surface Shader-Diffuse shader以及Surface中的三种输出结构
某些物体可能具有均匀的颜色和光滑的表面,但光滑程度不足以照射反射光。 这些哑光材料最好用Diffuse Shader。 在现实世界中,不存在纯diffuse materials Diffuse shader经常出现在游戏中,下面就是一个简单的Diffuse shader代码Shader "Custom/DiffuseShader" { Properties {原创 2016-10-17 22:33:18 · 2936 阅读 · 0 评论 -
【Unity5.x Shaders】压缩数组Packed arrays
在Cg中有两种变量:单一值和压缩数组。 压缩数组的定义是类型 + 数字 例如float3,int4 压缩数组看起来跟普通的数组很像却又不一样,压缩数组的元素可以作为普通结构访问。压缩数组中成员的访问及赋值通常通过x,y,z,w访问float4 a; a.x=2.0; Cg也提供别名:r, g, b, a。这两种访问方式没有区别,但是不能混用,例如_Color.xgb是错误的Cg允许压原创 2016-10-18 12:01:11 · 675 阅读 · 0 评论 -
【Unity5.x Shaders】Shader基本结构
从今天开始写Unity5.0x Shaders ans Effects Cookbook 的读书笔记 很多大神都写过关于Shader 的博客,这次我按照我觉得适合新手学习的步骤来写,同时也参考了很多大神的博客,关于写的不好的以及不对的地方还请指正我所使用的Unity版本为5.4.0创建一个Shader首先我们在Shaders文件夹下创建一个Shader 发现有五个Shader可供创建,分别是:原创 2016-10-16 20:30:24 · 1053 阅读 · 0 评论 -
【Unity5.x Shaders】Shader中的Texture纹理
2D图片如何映射到3D模型?这个过程叫做纹理映射(texture mapping)。 模型事实上是用三角形构成的,每一个顶点可以存储信息并且可以被shaders接收。 其中顶点中存储的最重要的信息是UV数据(UV data)。 它由两个坐标构成:U和V,取值范围都是从0到1。它们代表了2D图片上像素将要映射到模型顶点的XY position。 UV数据只提供给顶点。当三角形内的点需要被纹理映原创 2016-10-18 16:19:05 · 3044 阅读 · 0 评论 -
【Unity】Surface Shader的Input输入结构
Input中的UV数据在一个贴图变量之前加上uv两个字母,就代表提取它的uv值,例如uv_MainTex Input 这个输入结构通常拥有着色器需要的所有UV纹理坐标,纹理坐标必须被命名为“uv”后接纹理名字。(或者uv2开始,使用第二纹理坐标集)。Input中的可选变量 可以在输入结构中根据自己的需要,可选附加这样的一些候选值: float3 viewDir - 视图方向 (view原创 2016-10-18 17:17:11 · 4184 阅读 · 0 评论 -
【Unity5.x Shader】SubShader Tags 标签
ShaderLab: SubShader TagsSubshaders使用标签来告诉引擎如何以及何时将其渲染。语法:Tags { "TagName1" = "Value1" "TagName2" = "Value2" } 指定TagName1具有Value1的值,TagName2具有Value2的值。标签的数目不受限制。标签基本上是键值对(key-value pairs)。 在SubShader内原创 2016-12-07 11:52:24 · 6379 阅读 · 0 评论 -
【Unity5.x Shdaers】ShaderLab: Blending 混合
ShaderLab: Blending混合用于制作透明物体。当渲染图形时,在所有shaders执行并且所有textures应用之后,像素被写入屏幕。 它们如何与已经存在的内容组合由Blend命令控制。语法 Blend Off :关闭混合 (这是默认值)Blend SrcFactor DstFactor:配置并启用混合。 生成的颜色乘以SrcFactor。 已经在屏幕上的颜色乘以DstFactor,原创 2016-12-07 15:57:18 · 1313 阅读 · 0 评论