在“ShaderLab学习小结(四)简单产生阴影”基础上,在顶点片断着色器中编写程序使材质能接收阴影将小结(四)中添加的plane的材质换成和球体一样,即用相同的shader,效果如下:阴影消失,plane也变的有些暗。球的shader没变,也就是说球还是产生阴影了,但是底下的plane也换成球的材质,接收不到阴影。那就要修改shader让它能接收阴影。Shader代码:Shader"Custom
分类:
其他好文 时间:
2018-01-26 17:14:29
阅读次数:
204
在“ShaderLab学习小结(五)接收平行光阴影”中,通过修改代码,让原来的shader可以接收主平行光的阴影。但是没有点光源的阴影。在原有的pass通道下面再添加一个pass通道,用于接收点光源阴影。直接将原来的pass复制粘贴成新的pass通道,再进行一些修改即可。pass{tags{"lightmode"="forwardadd"}//1.blendoneone//2.CGPROGRAM#
分类:
其他好文 时间:
2018-01-26 17:11:40
阅读次数:
241
在之前“ShaderLab学习小结(三)漫反射+高光+点光源请添加链接描述”中的场景加入一个plane,如下图:被平行光和点光源照射的球体没有产生阴影代码方面很好解决,就是在原先的shader最末尾加个fallback即可Shader"shadername"{SubShader{}fallback"Diffuse"}效果如下图:在两个光源照射下,球体产生了阴影,并投射到下面的plane上。注:pl
分类:
其他好文 时间:
2018-01-26 14:48:50
阅读次数:
196
场景中有一个平行光,一个×××点光源,设高光颜色为绿,效果如下:Shader代码:Shader"Custom/DifSpecPoint"{Properties{_Spec("Spec",Color)=(1,1,1,1)//高光颜色_Shin("Shin",range(1,32))=2//高光强度系数}SubShader{pass{tags{"lightmode"="forwardbase"}CGPR
分类:
其他好文 时间:
2018-01-26 14:48:42
阅读次数:
241
目的:在场景中建立plane平板,通过shader使平板在y坐标上有突起,且随y值定义不同的颜色先看下效果:Shader代码如下:Shader"Custom/ChangeShapeY"{Properties{//定义变量,这些可在物体Inspector面板中进行调整_R("R",range(0,5))=2//半径_Center("Center",range(-5,5))=0//中心点_Scale(
分类:
其他好文 时间:
2018-01-26 12:41:37
阅读次数:
142
Shader"Custom/SimpleShader"//Shader最外层,""中定义Shader名{SubShader{//必要组成部分pass{//通道CGPROGRAM//CG程序开头#pragmavertexvert//定义顶点级程序#pragmafragmentfrag//定义片断级程序#include"unitycg.cginc"//引用unitycg文件,unity自定的结构体和函
分类:
其他好文 时间:
2018-01-26 11:08:12
阅读次数:
185
不知不觉自己已经转行Unity与C#一年半的时间了,多多少少也积累了一些,然而shader一直都是技术继续提升的拦路虎,不仅是因为他资料多且杂,而且也是自己一直在学习,然而成长的还是非常缓慢的模块。学习了多少回就减少了多少回,这次我终终终终于决定再再捡起来学一次,希望这次不要再放弃啦! 废话说了这么 ...
分类:
其他好文 时间:
2017-12-16 21:11:23
阅读次数:
112
ShaderLab 是Unity3d自己封装的一个调用CG/HLSL/GLSL的接口。 Shader相关文件(扩展名): shader - 着色器的主要文件 cg/cginc - 着色器的公用文件,可以在cg/shader/cginc文件中被"include"(包含),一般用来写全局方法和全局变量, ...
分类:
编程语言 时间:
2017-10-28 18:54:41
阅读次数:
209
由于工作需要, 开始研究ShaderLab. 大约攒了一些资料. [书籍部分] Unity Shader入门精要 (冯乐乐) untiy 3D ShaderLab开发实战详解 (郭浩瑜) Unity 5.x Shaders and Effects Cookbook(2nd Edition) Unit ...
分类:
其他好文 时间:
2017-08-18 12:41:51
阅读次数:
152
一个UnityShader的基础结构如下所示: Unity在背后根据使用的平台来吧这些结构编译成真正的代码和Shader文件,开发者只需要和UnityShader打交道即可。(Unity编写Shader的语言是ShaderLab) 属性:在Shader中访问它们需要使用每个属性的名字,这些属性的名字 ...
分类:
编程语言 时间:
2017-07-11 22:54:41
阅读次数:
293