shader 2d 影子
shader 简单应用 2d 影子 uv 翻转 v 后,采样目标纹理,舍弃透明部分,非透明部分按设定颜色输出。 Shader "Custom/ImageEffect/Shadow2d" { Properties { _MainTex ("Texture", 2D) = "white" {} _ShadowColor("ShadowCol...
shader 简单应用 2d 影子 uv 翻转 v 后,采样目标纹理,舍弃透明部分,非透明部分按设定颜色输出。 Shader "Custom/ImageEffect/Shadow2d" { Properties { _MainTex ("Texture", 2D) = "white" {} _ShadowColor("ShadowCol...
命令模式 UML 图 作用 较容易的实现命令队列 需要的时候可以方便记入日志 接收请求的地方决定是否要接收日志 实现请求的撤销和重做 方便增加新的具体命令类 缺点 大量实例化命令 实现 /// <summary> /// 声明执行操作的接口 /// </summary> abstract public class Co...
卡通风格渲染 渲染轮廓线 方法 基于观察角度和表面法线的轮廓线渲染 ,视角方向和表面法线点乘结果来得到轮廓线。这种方法简单迅速可以在一个 pass 中就得到渲染结果,但时局限性很大,很多模型得不到满意的描边效果 过程式几何轮廓线渲染,使用两个 pass,一个渲染正面,一个渲染背面,并让轮廓可见。优点快速有效,适用于大部分表面平滑模型,不适合类似于正方体这样平整模型 基于图...
什么是 DOTS 充分利用多核处理器,多线程处理让游戏运行速度更快,更高效,DOTS(面向数据的技术堆栈)是以下 3 个系统的集合 Job Systems 任务系统 用于高效运行多线程代码 Entity Component System(ECS)实体组件系统 用于默认编写高新能代码 Burst Compiler burst 编译器 用于生成高度优化的本地代码,Unity 使...
Unity 中实现屏幕后处理效果 在摄像机中添加一个用于屏幕后处理的脚本,在这个脚本中,我们会实现 OnRenderImage 函数来获取当前屏幕的渲染纹理。然后在调用 Graphics.Blit 函数使用 特定的 Unity Shader 来对当前图像进行处理,再把返回的渲染纹理显示到屏幕上。 边缘检测 卷积 这里本人并不清楚卷积的意义,参考了 CSDN @LianYueBiao ...
变量 Unity 内置的变换矩阵 函数 光照模型 漫反射 公式 \(\mathtt{c}_{diffuse}=(\mathtt{c}_{light}\cdot \mathtt{m}_{diffuse})max(0,\vec n \cdot \vec l)\) $\vec n$ 是表面法线,$\vec l$ 指向光源的单位矢量,$m_{diffuse}$ 材质漫反...
Unity 内置时间变量 名称 类型 描述 _Time float4 t 是自然该场景加载开始所经过的时间,(t/20,t,2t,3t) _SinTime float4 t 是时间的正弦值,(t/8,t/4,t/2...
光照衰减 Unity 使用一张纹理作为查找表来在片原着色器中计算逐像素光照的衰减。 优点 计算衰减不依赖数学公式的复杂性,只需要使用一个参数做纹理采样。 缺点 需要预处理得到采样纹理,而且纹理的大小也会影响到衰减的精度。 不直观,不方便,一旦把数据存储到查找表中,无法使用其他数学公式计算衰减。 用于光照衰减的纹理 Unity 在内部使用了一张名为_Light...
本文内容主要参考 《Unity shader 入门精要》一书,旨在总结所学知识与加深个人理解 立方体纹理(Cubemap) 立方体纹理一共包含了 6 张图像,这些图像对应了一个立方体的 6 个面,立方体纹理的名称也由此而来。立方体纹理是环境映射(Environment Mapping)的一种实现方法。 天空盒 shader 使用 Skybox/6 Sided,需要 6 张纹理 ...
渲染路径 前向渲染路径(Forward Rendering Path) 延迟渲染路径(Defferred Rendering Path) 顶点照明渲染路径(Vertex Lit Rendering Path) 通过设置 Pass 的 LightMode 标签实现 Pass{ Tags {"LightMode"="ForwardBase"} ...