UnityShader
文章平均质量分 89
UnityShader
夜槿笙歌
这个作者很懒,什么都没留下…
展开
-
Shader Graph(一)基本使用
Unity Shader Graph学习笔记原创 2022-12-27 10:04:12 · 3610 阅读 · 1 评论 -
UnityShader(一)渲染流水线
Unity Shader学习笔记—渲染流水线原创 2022-05-14 23:16:23 · 610 阅读 · 0 评论 -
UnityShader(二)Unity Shader结构
Unity Shader学习笔记—Unity Shader 的结构原创 2022-05-17 20:59:52 · 625 阅读 · 0 评论 -
UnityShader(三)编写简单的顶点片元着色器
编写简单的顶点/片元着色器下面是一个最基础的UnityShader代码。在一个UnityShader中,Properties语义并不是必须的,我们可以不声明任何材质属性。SubShader中的渲染设置和标签设置也不是必须的,在没有声明的情况下SubShader会使用默认的渲染设置和标签设置。Shader "Unlit/class02" { SubShader { Pass { CGPROGRAM /原创 2022-05-30 20:16:28 · 1257 阅读 · 0 评论 -
UnityShader(四)基础光照
光线从光源中发射出来后,与物体表面相交,结果通常有两个:「散射」和「吸收」。。光线在物体表面散射后,一种会散射到物体外部,也就是「反射」;另一种会散射到物体内部,也就是「折射」。对于不透明的物体,折射入内部的光线还会继续与物体内部颗粒相交,一部分最后又会重新发射出表面。另一部分则被物体吸收。我们在光照模型中使用「高光反射」表示物体表面如何反射光线;使用「漫反射」表示有多少光线被折射、吸收、散射出表面。原创 2022-09-17 12:19:59 · 735 阅读 · 0 评论 -
UnityShader(五)纹理采样
纹理最初的目的就是使用一张图片控制模型的外观。使用技术,我们可以将一张图片黏在模型表面,逐纹素地控制模型的颜色。在美术人员建模时,通常会在建模软件中利用纹理展开技术把存储在每个顶点上。纹理映射坐标定义了该顶点在纹理中对应的2D坐标。通常,这些坐标使用一个二维向量(u,v)表示,其中u是横向坐标,v是纵向坐标。因此纹理映射坐标也被称为。原创 2022-09-19 14:55:30 · 1555 阅读 · 0 评论 -
UnityShader(六)透明效果
在Unity中实现透明效果的方式有两种,其一是透明度测试,其二是透明度混合。透明度测试:这种方式不需要关闭深度写入,且实现机制非常简单粗暴。只要一个片元的透明度不满足条件(比如小于某个值),则该片元会被直接舍弃,否则就按照不透明物体的处理方式来处理。它产生的效果要么是完全不透明,要么是完全透明,并不是真正的半透明效果。透明度混合:这种方式会使用当前片元的透明度作为混合因子,与颜色缓冲中的颜色进行混合。这就需要关闭深度写入。而关闭深度写入意味着我们需要非常小心物体的渲染顺序,否则可能出现渲染问题。原创 2022-09-21 11:28:18 · 3279 阅读 · 0 评论 -
UnityShader(七)卡通着色
首先新建一个Shader,同步创建对应的材质球。使用新的材质替换掉模型原有的材质。接下来开始着手编写基本的漫反射Shader声明纹理和漫反射颜色属性,并在CG中声明对应的变量引入「UnityCG」和「Lighting」两个Shader库定义输出结构体在顶点着色器中计算世界空间下的法线坐标、顶点坐标在片元着色器中计算漫反射代码很简单,都是之前学过的内容。我们直接来看效果。原创 2022-09-22 17:05:42 · 693 阅读 · 0 评论