Unity Shader
文章平均质量分 79
NoJerry呀~
不学无术(´ . .̫ . `)
展开
-
Unity Shader学习(3)-光照模型
模拟真实的光照环境:光线从光源发射光线与场景中的物体相交被物体吸收散射到其他方向摄像机吸收光线产生图像相交散射Scatering吸收Absorption物体内部 折射refraction物体外部 反射reflection高光反射(specular):表示物体表面是如何反射光线的漫反射(diffuse):表示有多少光线被折射、吸收和散射出表面标准光照模型:直接光照(direct li...原创 2019-01-31 15:57:06 · 388 阅读 · 0 评论 -
Unity Shader学习(1)-Shader的结构
Unity Shader(着色器)与Material(材质)的关系:常见流程为:创建一个材质创建一个shader,并将其赋给上一步的材质将材质赋给要渲染的对象在材质面板调整shader的属性,达到满意的效果Unity中的材质需要结合一个GameObject的Mesh或者Partical System组件来工作Shader的基本结构:Shader Properti...原创 2019-01-27 15:00:38 · 316 阅读 · 0 评论 -
Unity Shader学习(2)-一些基本知识
渲染流水线:应用阶段几何阶段光栅化阶段应用阶段(CPU):输出渲染所需的几何信息,即渲染图元(Rendering Primitives)几何阶段(GPU):把顶点坐标变换到屏幕空间中,再交给光栅器处理光栅化阶段(GPU):决定每个渲染图元中的哪些像素应该被绘制在屏幕上应用阶段:CPU与GPU的通信把数据加载到显存中设置渲染状态调用DrawCall把数据加载到显存中:渲染...原创 2019-01-29 12:23:40 · 288 阅读 · 1 评论 -
Unity Shader实战(1)-水波的模拟
效果:如果是极具真实感的水波模拟需要包含以下等式中的部分或者一部分:水效=波的模拟+折射+散射+反射+菲涅尔效应+高光但是在真实感要求不高,可以用在Lowpoly或者其他动画风格的场景中的时候,水波的模拟就比较简单了最简单的可以采用水面扰动来做,基本原理为:采用一张水面波纹的贴图(UV移动动画)和一张噪声纹理(UV扰动扭曲),达到水波的初步模拟效果,关键代码如下(参考博客:点这里)...原创 2019-03-16 01:18:13 · 1513 阅读 · 0 评论 -
Unity Shader实战(2)-卡通着色+描边+法线贴图
最终效果:Inspector面板:卡通着色:基本思想:取法线方向与光线方向的点积,若点积大于零,证明是光线照射到的地方,则像素设置为高光;反之点积小于零则设置为阴影,这样高光和阴影之间边界明显,就是卡通着色的效果关键代码:half NdotL = dot(tangentNormal, i.lightDir);//点积,判定方向//亮部与暗部判定fixed4 color;if (...原创 2019-03-21 01:09:48 · 3251 阅读 · 0 评论