Shader
文章平均质量分 75
Go_Accepted
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
噪声雾效
总体而言,就是Unity自带的全局雾效只能满足最基础的效果,较为局限。因此所谓的噪声雾效,其实就是在我们之前已经实现的屏幕后处理效果中的全局雾效中结合噪声和内置时间参数,去实现出不规则、动态的全局雾效,让我们的雾效更具动态感,真实感!原创 2025-02-09 16:00:31 · 264 阅读 · 0 评论 -
水波效果
水波效果指在计算机图形学中模拟水面波纹的视觉效果,通常用于游戏、动画或者其他虚拟场景中。主要用于体现水体的动态感,比如水的波动、反射、折射、透明等,可以让人感觉像真实的水一样流动闪耀。原创 2025-02-07 23:19:59 · 299 阅读 · 0 评论 -
消融效果
最后利用该片元的 噪声纹理值 – 进度参数,若小于0则不渲染该片元,通过控制进度参数,便可以控制消融程度了。原创 2025-01-25 22:47:36 · 623 阅读 · 0 评论 -
噪声算法 & 纹理
噪声是一种程序生成的随机或伪随机数据,在图形学中常用来创建各种自然现象和复杂纹理效果。。就因为噪声数据具有以上这些特点,我们可以利用噪声来实现一些特殊效果,比如:,地形生成,云层效果,烟雾效果、水面模拟、消融效果、原创 2025-01-25 16:08:43 · 1272 阅读 · 0 评论 -
素描风格渲染
素描风格渲染(HatchingStyleRendering),是一种非真实感渲染(NPR),主要目的是使3D模型看起来像手绘素描的视觉效果。这种风格的渲染常用于游戏、动画和电影中,用来创造一种独特的艺术风格。原创 2025-01-18 21:50:14 · 401 阅读 · 0 评论 -
卡通风格渲染
卡通风格渲染(CartoonShading),也称为非真实感渲染(NPR)或卡通渲染(ToonShading)主要目的是使3D模型看起来更像手绘的二维卡通或漫画风格,而不是逼真写实的3D渲染效果。这种风格的渲染常用于游戏、动画和电影中,用来创造一种独特的艺术风格。原创 2025-01-14 23:52:01 · 680 阅读 · 0 评论 -
书本翻页效果
将需要在旋转前利用三角函数Sin让顶点在Y轴上进行偏移即可,并且0~90~180度之间变换时,0和180度不需要起伏感,90度时起伏感最大(页面最弯曲)原创 2025-01-14 22:29:28 · 399 阅读 · 0 评论 -
物体切割效果
在游戏开发中,物体切割效果就是物体看似被切割、分割或隐藏一部分的视觉效果。这种效果常用与游戏和动画中,比如角色攻击时的切割效果,场景中的墙壁切割效果等等。原创 2025-01-05 22:07:50 · 495 阅读 · 0 评论 -
遮挡半透明效果
普通的半透明效果非常容易实现,只需要设置混合因子即可。而要实现类似X射线的效果,也就是边缘不透明,中间透明的效果,可以利用尼尔反射的公式来得到:R(θ) 表示入射角为θ时时的反射率R0 是垂直入射某介质时的反射率V 是视角方向单位向量(入射角)N 是顶点法线单位向量将得到的 入射角为θ的反射率 作为自定义颜色的A值,便可以得到类似的结果。原创 2025-01-05 21:33:31 · 665 阅读 · 0 评论 -
模型描边效果
在Unity中,它实现出来的效果类似边缘检测,。这种效果一般用在卡通渲染、手绘风格、漫画风格的游戏中,还可以用来制作对象选中效果。原创 2025-01-05 16:22:14 · 518 阅读 · 0 评论 -
流光效果
在 Unity Shader 中的流光效果是一种动态的视觉效果,通常用于给材质增加一种闪光或光线移动的效果,使物体表面看起来像是有光在流动。这种效果常用于武器光效、能量护盾、传送门等等,可以让物体看起来更加生动富有科技感。原创 2025-01-05 15:45:02 · 793 阅读 · 0 评论 -
利用深度法线纹理实现边缘检测效果
根据刚才进行的深度和法线值的比较,只要其中之一(深度或者法线)满足了大于自定义阈值的条件,那么该像素就在边缘上,就使用描边颜色进行颜色处理,关键计算规则如下。原创 2024-12-22 23:32:01 · 425 阅读 · 0 评论 -
利用深度纹理实现全局雾效
既然Unity中已经提供了全局雾效,那为什么还要自己来实现呢?总体而言,就是Unity自带的全局雾效只能满足最基础的效果,较为局限。因此通过结合深度纹理来制作屏幕后处理的全局雾效,来感受同一种效果的不同实现思路。原创 2024-12-22 22:22:28 · 761 阅读 · 0 评论 -
Unity全局雾效
Exponential Squared(指数的平方)的计算公式:f = 1 – e^(−(density−|d|)²)它通过在场景中加入雾的效果,使得距离摄像机较远的物体看起来逐渐被雾气覆盖,从而创造出一种朦胧、模糊的视觉效果。全局雾效(Global Fog)是一种视觉效果,用于在3D场景中模拟大气中的雾气对远处物体的遮挡。Unity自带的全局雾效的实现原理,start代表雾开始的距离(可控)end代表雾最强时的距离(可控)这里的距离都是相对于摄像机的。这里的距离都是相对于摄像机的。d代表里摄像机的距离。原创 2024-12-22 16:44:00 · 1232 阅读 · 0 评论 -
利用深度纹理实现运动模糊
会加入一个。原创 2024-12-09 22:56:58 · 625 阅读 · 0 评论 -
深度和法线纹理
屏幕后期处理效果的基本原理就是当游戏画面渲染完毕后通过获取到该画面的信息进行额外的效果处理 之前的边缘检测、高斯模糊、Bloom、运动模糊等效果都是的因此可以通过屏幕空间的深度纹理和法线纹理进行优化。原创 2024-12-08 17:00:27 · 1218 阅读 · 0 评论 -
运动模糊效果
运动模糊效果,是一种用于 模拟真实世界中快速移动物体产生的模糊现象 的图像处理技术,当一个物体以较高速度移动时,由于人眼或摄像机的曝光时间过长,该物体会在图像中留下模糊的运动轨迹。这种效果游戏、动画、电影中被广泛应用,以增加视觉真实性和动感。原创 2024-12-07 21:03:03 · 1142 阅读 · 0 评论 -
Bloom 效果
Bloom效果(中文也可以叫做高光溢出效果),是一种的图像处理技术,,使得画面中较亮的区域“扩散”到周围的区域,造成一种朦胧的效果。原创 2024-12-07 20:20:20 · 1199 阅读 · 0 评论 -
高斯模糊
高斯模糊效果是一种用于平滑图像并减少图像噪声和细节的图像处理技术,高斯模糊的主要目的是使图像的边缘和细节变得模糊和平滑,高斯模糊相当于利用 Shader 代码自动给屏幕图像进行模糊处理高斯滤波核也称为高斯核,它其实就是一个 N x N 的卷积核,它的大小可以自定义,但是一般会是一个 奇数 x 奇数 的大小,通常会是一个 3x3 、5x5、7x7、9x9 的大小,高斯滤波核中各元素的具体值,我们通过高斯函数来确定。原创 2024-12-01 20:04:12 · 2213 阅读 · 0 评论 -
边缘检测
边缘检测的主要目的是找到图像中亮度变化显著的区域,这些区域通常对应于物体的边界,边缘检测相当于利用 Shader 代码自动给屏幕图像进行描边处理。原创 2024-11-10 21:50:20 · 1302 阅读 · 0 评论 -
亮度、饱和度、对比度基本原理
想要改变图像颜色的亮度,只需要对图像的每个像素进行加法(减法 - 加负数)或乘法(除法 - 乘小数)运算即可实现。原创 2024-11-10 14:59:14 · 2928 阅读 · 0 评论 -
屏幕后期处理
屏幕后期处理效果( Screen Post-Processing Effects)是一种在渲染管线的最后阶段应用的视觉效果,允许在场景渲染完成后对最终图像进行各种调整和效果处理,从而增强视觉体验常见的屏幕后期处理效果有:景深、模糊、色彩调整 等等。原创 2024-11-10 14:28:22 · 849 阅读 · 0 评论 -
代码修改材质参数
Mesh Renderer和Skinned Mesh Renderer都继承Renderer,可以用里式替换原则父类获取、装载子类对象可以利用渲染器中的material或者sharedMaterial来获取物体的材质,如果存在多个材质,可以使用renderer.materials或renderer.sharedMaterials来获取。原创 2024-11-10 13:55:22 · 980 阅读 · 0 评论 -
顶点动画的注意事项
批处理会让对象失去独立性,相当于将多个对象之间独立的模型空间坐标系合并为一个坐标系从而影响顶点的相对位置和变换矩阵等信息,导致顶点动画结果异常,因此我们通过渲染标签来关闭批处理。原创 2024-11-03 19:11:43 · 687 阅读 · 0 评论 -
顶点动画-广告牌
广告牌效果是一种图形技术,用于确保对象(通常是二维纹理面片 或 精灵(Sprite)图片)始终面向摄像机,同时在某些轴上保持固定的方向(一般分为全向广告牌和轴对齐广告牌)如果想要实现出 垂直广告牌效果,那只需要在计算轴向向量时进行修改即可,只需要在计算normal向量时,让其的y值变为0即可,相当于normal向量只在 xz 平面变化。在3D游戏中非常有用,它可以确保无论从哪个角度看、对象始终面向玩家,创造出一种始终可见的效果。再定义一个新坐标系的中心点(相对于模型空间的),就是一种特殊的轴对齐广告牌,原创 2024-11-03 16:34:04 · 517 阅读 · 0 评论 -
顶点动画-河流的效果
目标是让。(如下图)所谓的,而想要呈现出波浪感,我们必须了解这些关键因素。原创 2024-11-03 15:56:53 · 1094 阅读 · 0 评论 -
滚动的背景
不停地利用时间变量对uv坐标进行偏移运算,超过1的部分从0开始采样;小于0的部分从1开始采样。滚动的背景使用的美术资源图片,往往是首尾循环相连的。原创 2024-11-03 15:22:30 · 251 阅读 · 0 评论 -
序列帧动画
游戏画面中之所以能产生动态效果主要的原因是因为 游戏循环 机制,即游戏画面每隔一个固定时间(每一帧)就会重新渲染。游戏运行时,每一帧都会更新屏幕,这种更新频率通常称为 帧率(Frames Per Second,FPS)比如 30 FPS、60 FPS 代表的就是 1秒钟更新30次,1秒钟更新60次而之所以看起来画面是变化的,是因为我们在每一帧可能都会改变游戏中对象的位置、角度、缩放、颜色等等信息后重新渲染,一般情况下,只要帧率大于24FPS,人眼就认为一帧帧切换着的画面是流畅且连贯的了。原创 2024-11-03 15:04:25 · 1131 阅读 · 0 评论 -
C# & shader 生成程序纹理
程序纹理(Procedural Textures)就是通过程序代码生成的纹理。原创 2024-10-20 20:15:18 · 426 阅读 · 0 评论 -
渲染纹理的玻璃效果
为了模拟出玻璃折射的效果,我们一般不会使用立方体纹理中采样,我们往往会自定义一些计算规则,来模拟计算出折射的效果。总体的设计思路,就是在对捕获纹理进行采样时,进行一些偏移计算。2、如何让玻璃效果对象滞后渲染在实现玻璃效果之前,需要先捕获当前屏幕内容并保存到一张渲染纹理当中,那么要保证玻璃效果对象后面的内容正确渲染,我们必须保证玻璃对象能够滞后渲染,想要让一个对象滞后渲染,那么可以使用渲染标签Tags中的 渲染队列Queue。原创 2024-10-19 17:07:47 · 1140 阅读 · 0 评论 -
渲染目标纹理
渲染目标纹理(Render Target Texture)是一种特殊类型的纹理,一般摄像机的渲染结果会输出到颜色缓冲区中,最终渲染到设备屏幕上,让玩家通过屏幕看见游戏画面,而渲染目标纹理允许我们将渲染结果直接写入到某一张纹理中,我们可以利用这个纹理来处理各种特殊效果,比如:镜子、玻璃、屏幕后处理、阴影映射等等在Unity中,渲染目标纹理(Render Target Texture)通常和渲染纹理(Render Texture),可以互换使用,指的相同的概念。原创 2024-10-19 15:19:54 · 470 阅读 · 0 评论 -
立方体纹理的折射
在Unity Shader中,折射效果模拟了光线通过透明或半透明材质时的弯曲行为。一般用来模拟水面、透明玻璃球、眼镜、钻石、水晶球、空气扰动等等效果。它一般会配合其他表现效果一起使用。折射效果的原理还是利用 立方体纹理(CubeMap)进行环境映射,我们利用我们在计算折射方向时,会用到光从介质1沿着表面法线夹角为θ1的方向斜射入介质2时我们可以利用数学公式 n1sinθ1=n2sinθ2 计算出折射光线和法线的夹角 θ2。原创 2024-10-16 23:54:07 · 1133 阅读 · 0 评论 -
立方体纹理的反射
在Unity Shader中,反射效果模拟了物体表面反射环境光的特性,原创 2024-10-10 23:11:22 · 240 阅读 · 0 评论 -
立方体纹理
立方体纹理(CubeMap)是一种特殊的纹理类型,立方体纹理包含6个独立的二维纹理,分别对应一个立方体的六个面。原创 2024-10-10 23:08:18 · 1184 阅读 · 0 评论 -
标准漫反射 & 高光反射
该Shader其实就是一个,带有法线(世界空间中计算 - 全局效果的表现更准确)的基于Phong光照模型(去掉高光反射)的,支持多光源和阴影的Shader。该Shader其实就是一个带有法线(世界空间中计算 - 全局效果的表现更准确)的基于BlinnPhong光照模型的支持多光源和阴影的Shader。2、标准高光反射Shader。原创 2024-10-07 22:50:41 · 483 阅读 · 0 评论 -
透明物体的投射和接收阴影
(1)同样我们使用FallBack的形式投射阴影,但是需要注意的是,该默认Shader中会把裁剪后的物体深度信息写入到 阴影映射纹理和摄像机深度图中注意:使用该默认Shader计算投射阴影时,需要使用_Cutwoff属性 和 _Color属性来进行相关计算,因此我们,否则无法得到正确阴影结果(2)Two Sided强制让Unity计算阴影隐射纹理时计算所有面的深度信息。原创 2024-10-07 22:18:31 · 1711 阅读 · 0 评论 -
不透明物体的投射和接收阴影
新建一个材质球,将其的Shader设置为之前编写的多种光源综合实现Shader并将该材质球赋值给较大的立方体使用,我们会发现该立方体不再投射阴影也不再接受阴影Unity会寻找LightMode为ShaderCaster的Pass来进行处理,如果该Shader没有该Pass,会在它FallBack指定的Shader中寻找,直到找到为止在该Shader 最后加上FallBack "Specular",便可以让该立方体投射阴影(但没有接收阴影)原创 2024-09-26 23:45:33 · 857 阅读 · 0 评论 -
阴影的基本原理
Unity会调用。原创 2024-09-24 23:50:25 · 1658 阅读 · 0 评论 -
Shader 中的光源
不管光源类型到底是什么,我们在Shader开发当中经常会使用到的光源相关属性有:位置、方向、颜色、强度、衰减也就是说我们在Shader中处理光照效果时,经常会用到这些光的属性参与到计算当中。原创 2024-09-20 22:41:21 · 1370 阅读 · 0 评论 -
渲染路径对比
主要用于处理影响该物体的一个高质量光源(平行光)、所有中(逐顶点处理)低质量(SH处理)光源 等。优点:适用于相对简单的场景和较少数量的光源,基本可以实现任何渲染效果。主要用于处理影响该物体的除平行光以外的其它高质量光源(每个高质量光源都会调用)利用G缓冲区中各个片元的相关信息进行真正的相关计算,最终将颜色写入颜色缓冲区。最后,在选择渲染路径时,我们应该根据项目的实际情况去进行考虑,比如。只会将光相关的数据填充到那些逐顶点相关的内置光源变量。基本思想就是所有的光都按照逐顶点的方式进行计算的。原创 2024-09-08 23:22:01 · 574 阅读 · 0 评论
分享