自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Unity 批处理详讲(含URP),史上最强详解整理

同样是可以对于有共同材质的对象进行相关的合并,但是其对象可以为动态的,而且这一过程是动态进行的,只需要在中的Player中勾选上即可,但是注意,在URP模板中,这一选项移到了URP的配置文件中,具体位置如图:虽然的设置简单,但是其使用条件却很苛刻,Unity批处理动态游戏对象在每个顶点都有一定开销,因此批处理仅会应用于总共包含不超过 900 个顶点属性且不超过 300 个顶点的网格。

2024-07-21 16:24:13 504

原创 Unity 批处理详讲(含URP)

咱们在项目中,优化性能最重要的一个环节就是合批处理,,在早期Unity中,对于合批的处理手段主要有三种:如今Unity 为了提升合批范围与效率,提供了新的合批方式(SRP Batcher)。

2024-07-21 16:21:53 871

原创 CGPROGRRAM &(URP) HLSLPROGRAM (各种)坐标系转化(重点重点非常重点)

整理这篇文章的原因是,前段时间项目主要用的是CG语言,最近项目用的是HLSL语言。为什么图形这块会转HLSL语言呢?其实是CG语言已经很久不更新了,且垮平台压力比较大;HLSL是微软DX着色器汇编语言(当然也不完全一样),HLSL其实并不能与OpenGL兼容,但这也难不倒Unity(咱们可以编译,哈哈 )。言归正传,咱们线看一张图:空间坐标系转换原理 :注意:一个顶点坐标从模型到最终渲染到屏幕中需要经过顶点变换(顶点要经过多个坐标空间的转化常能映射到屏幕上)。

2024-07-13 13:13:33 670

原创 CGPROGRRAM &(URP) HLSLPROGRAM (各种)坐标系转化(重点重点非常重点)

整理这篇文章的原因是,前段时间项目主要用的是CG语言,最近项目用的是HLSL语言。为什么图形这块会转HLSL语言呢?其实是CG语言已经很久不更新了,且垮平台压力比较大;HLSL是微软DX着色器汇编语言(当然也不完全一样),HLSL其实并不能与OpenGL兼容,但这也难不倒Unity(咱们可以编译,哈哈 )。言归正传,咱们线看一张图:空间坐标系转换原理 :注意:一个顶点坐标从模型到最终渲染到屏幕中需要经过顶点变换(顶点要经过多个坐标空间的转化常能映射到屏幕上)。

2024-07-13 12:49:51 747

原创 Shader最全 属性面板(UI显示)

大家学习一定要多记录,方便以后遗忘了好翻出来看(熊猫老师就是这样的,很多东西记不住就翻出来再看看)。枚举,最多可指定7个名称,自定义枚举,可以通过KeyWrod来控制。因为记不住,所以咱们都要学会做记录并做好注释,记得配合用法。

2024-06-30 12:38:40 303

原创 模仿 点点互娱《无尽冬日》并作出 优化方案 H5端高效率运行

最近再体验点点互娱游戏 《无尽冬日》,一款范用户的SLG游戏,上线很快就冲上榜单,无论是UI,还是3D都做 的非常不错,再微信端也很 流畅的运行。缺点:法线需要精度高,开销大 ,即使做平铺也是需要相对大显存空间。优点:制作 难度 小 ,比较常规,只需要重新计算光照角度。获取灰度图 做开始和结束的深度(视觉高度计算)表达的可能不对,即开始到结束的值;方案一:采用 法线贴图试限凹凸,并 采用 兰伯特光照或半兰伯特 光照实现;):采用灰度图和模型法线切线空间交叉 计算,实现 视觉上的起伏变化;

2024-05-15 12:30:51 1954

原创 UnityShader UV动画深入探讨(栅格化,棋盘格等效果实现)

中,step()函数用于计算两个值之间的步长。它接受两个参数:第一个参数是阈值,第二个参数是切变方向。如果x大于edge,则step()函数返回1.0;如果x小于等于edge,则返回0.0。中常用于纹理映射、渐变和边缘检测等领域。其中,edge是阈值,x是切变方向。用途:一般用来做边缘检测。UV=平面坐标,u=X轴。

2024-05-08 20:53:02 605 1

原创 UnityShaderUV动画讲解七:极坐标

UV极坐标实现,学会后可以扩展各种图形效果,

2024-04-19 09:26:46 577 1

原创 UnityShaderUV动画讲解六:旋涡效果实现

咱们前面一片文章学会了UV缩放,那么我们如何在缩放的基础上做UV扭曲实现旋涡效果呢?

2024-04-18 09:51:31 561 1

原创 UnityShaderUV动画讲解五:UV旋转

UV旋转运用的场景也比较广泛,在移动端尽量优化到能用shader处理的动画都会优先考虑shader ,而不是直接用动画控制器,粒子中运用动画控制器,实际在移动端,都采用的是UV变换坐标实现比如特效刀光,,旋转特效等等,老规矩,先看效果。扩展下:特效几乎都是透明软裁剪,如何在这个代码基础上实现软裁剪呢?二:在pass里面添加混合模式,关掉深度检测。大家可以看看缩放如何实现呢?

2024-04-17 18:11:02 605 1

原创 UnityShaderUV动画讲解四:移动端序列帧播放(算法优化软透明处理)

(之前的源码和现在的源码都和市面上的源码不同,他们都有帧播放BUG,会优先播放最底下一层然后再顺势往上播放,我晚上11点下班到家优化算法到1点才实现完全至上向下播放的流程)在之前的CutOut基础上处理成了Transparent,

2024-04-16 13:32:01 387

原创 UnityShaderUV动画讲解三:移动端序列帧播放(算法优化)

【代码】UnityShaderUV动画讲解三:移动端序列帧播放(算法优化)

2024-04-16 12:24:34 701 1

原创 UnityShaderUV动画讲解二:移动端序列帧播放

U方向结果:(0~0.1666)+0.1666 =(0.1666~0.3332)坐标原理: (原始UV的U方向/U方向的个数,原始UV的V方向/V方向的个数)竖向ID为 即为 横向ID得出来的结果取整数部分 floor(2.5)=2;YY:当前 状态是 还只是他在UV里面的横竖 方向上的ID,别搞混了。结果即为: (1/6,1/3) = (0.1666,0.3333);V 方向结果为: (0~0.3333)+0= (0~0.3333)ID的增长方式:U方向是从左到右,V方向是 从下到上;

2024-04-15 09:24:23 662 1

原创 UnityShaderUV动画讲解一:移动端UV简单偏移

变体的使用有一篇参考文献写的非常好,我这里就不展开讲解了,各位技术大佬注意一点的是变体数量不能超过255个。今天开始给大家讲解动态效果第一弹:UV动画, 常见于特效使用,背景移动,贴图滚动效果等等。_Time是用来驱动shader内部的动画的变量,用来计算时间变量。_Time的4个分量分别是(t/20, t, t*2, t*3)其原理就是通过时间去修改UV坐标上的X值和Y值从而改变每个像素在模型表面的位置。

2024-04-14 18:19:29 1160 1

原创 玻璃效果实现三:移动端高性能Matcap实现玻璃材质

所有的顶点坐标运算我都采用的是float4, 因为此shader专门为移动端开发,移动端项目比较复杂, 例如:跑酷赛车等游戏高矩阵运算位置同步坐标,half4精度 在不够的情况下,可能会出现抖动,大家可以视项目而修改。

2024-04-12 19:17:59 587

原创 玻璃效果实现二:移动端高性能实现

其原理借助菲尼尔实现边缘+cubmap实现边缘扰乱效果,效果虽然不如GrabPass,但是性能大幅度提升,移动端显示妥妥的优秀。

2024-04-10 22:05:28 367 1

原创 玻璃效果实现一:GrabPass

YY一下:为什么这篇文章我这么就才写,是因为大家都用GrabPass取做玻璃效果,其实原理就是多一个特俗pass去渲染。可想而知,其开销也是巨大的,所以我在准备GrabPass的教程的时候,我也准备了另一个制作方式。完整代码如下,只是标准,大家可以自由扩展,(再次提示:GrabPass其实开销并不小,使用一定要注意场景应用)因为是抓拍图片渲染贴在玻璃上面,所以我很容易处理扰动效果实现毛玻璃效果;

2024-04-10 21:59:17 289 1

原创 表面着色器实战

half // 16位浮点数, 精度: 小数点后3位, 数值范围为[-60000,+60000],适用: 模型坐标、纹理uv坐标,方向向量,HDR颜色等等。float // 32位浮点数, 精度: 小数点后6位, 适用: 模型坐标、纹理uv坐标,复杂函数计算,如:三角函数,幂运算等等;fixed // 12位浮点数, 精度: 1/256, 数值范围为[-2,+2],适用: 光照计算、颜色。sampler2D_half(中精度2D纹理)sampler3D_half(中精度3D纹理)

2024-04-05 00:34:11 390 2

原创 Unity Shader逐顶点着色器实现,每行都有注释

逐顶点着色器效果对比逐像素较差,但是性能大幅度提升,其优点事在顶点着色器里面做光照计算,顶点数越多,效果越好,顶点数越低效果越差, 所以更适合移动端游戏开发,

2024-04-02 09:56:52 318 3

原创 Unity Shader逐像素着色器,每行都有注释

逐像素着色器效果最好,但是性能开销较大,目前运用的也比较多,包括移动端,下一篇讲解逐顶点着色器,效果相对较差(PS:其实diffuse贴图做好)效果也不怎么看的出来差距,但是性能开销较小,更适合移动端甚至移动端性能低下的产品。注意,此shader是标准的逐像素着色器,光照是在片源里面实现的,所以大家只要会了这个shader,基本上blinn,blinn-phong,PBL,PBR等shader 都能扩展写出来。

2024-04-02 09:53:15 279

原创 Unity Shader兰伯特 silmpleLambert

兰伯特和半兰伯特基础实现。

2024-04-01 13:52:03 348

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除