
Unity Shader中会遇到的问题
独立游戏开发指南
这个作者很懒,什么都没留下…
展开
-
Unity中批处理对Shader的影响
最近处理一个Shader效果时发现批处理对Shader会有影响。具体表现为: 1:Shader中的顶点函数根据顶点位置(物体空间)进行了计算,如把顶点颜色设置为顶点位置值(物体空间) 2:当只渲染一个物体时,Shader表现正常 3:当渲染多个物体时,且这些物体Unity进行了批处理,会发现Shader异常了,顶点函数中的顶点位置(物体空间)原点已经不在物体的中心 4:官方转载 2017-02-23 10:35:58 · 722 阅读 · 1 评论 -
Unity5 (5.0-5.2) Shader编译机制初探 - 小心,Shader在吞噬你的内存
被Unity坑了一把,简单说下吧,下面都是流水账,结论就写在最后了,就是Unity5 - 5.2的shader编译机制真是不咋地。 1.Why Always me? 问题是这样的,我照着Unity5 的Standard shader写了一个给我们工程用的简化版的标准Shader以及配合使用的ShadergGUI,里面融合了很多功能,包括支持法线啊、uv动画啊、半透镂空等等,通过shader_f转载 2017-02-23 10:24:37 · 1270 阅读 · 1 评论 -
Unity中Shader LOD控制
作者:杨旸 链接:https://zhuanlan.zhihu.com/p/21316674 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 这一部分算是比较简单的内容,与其说是技术相关,不如说是新项目美术前期规划方面的准备。前期地基打的越牢,后面的工作越轻松。 Shader Level of Detail (LOD),翻译过来是什么“着色器的细节层转载 2016-12-05 14:11:10 · 2936 阅读 · 0 评论 -
Unity Shader Alpha混合 Blending
Alpha Blending,中文译作Alpha混合 Blending就是控制透明的。处于光栅化的最后阶段。 这里例如我们给一个模型贴一个材质,那么在某个点计算出来颜色值称为源,而该点之前累积的颜色值,叫目标。 语法 Blend Off 不混合 Blend SrcFactor DstFactor SrcFactor是源系数,DstFactor是目转载 2016-09-01 11:27:21 · 3727 阅读 · 0 评论 -
Unity ZTest 深度测试 & ZWrite 深度写入
初学Shader,一开始对于渲染队列,ZTest 和 ZWrite一头雾水,经过多方查阅和实验,有了一些自己的理解。发此文与初学Shader的朋友分享,也算是为自己做个笔记。不对或不足之处欢迎指正。 不说废话,直接进入正题。 首先是实验场景,一蓝一红两个Cube。蓝在红前。 两个方块所使用的Shader都是最简单的 V&F 着转载 2016-09-01 11:05:16 · 2665 阅读 · 1 评论 -
[UnityShader]渲染队列、ZWrite和ZTest
(1)什么是深度? 深度其实就是该像素点在3d世界中距离摄像机的距离。离摄像机越远,则深度值(Z值)越大。 (2)什么是深度缓存? 深度缓存中存储着准备要绘制在屏幕上的像素点的深度值。如果启用了深度缓冲区,在绘制每个像素之前,OpenGL会把该像素的深度值和深度缓存的深度值进行比较。如果新像素深度值其颜色值和深度将被丢弃。(深度主要起的是比较的作用)转载 2016-09-01 10:59:53 · 675 阅读 · 0 评论 -
Unity3d shader中Queue 使用渲染队列进行深度排序
为了让我们真正明白透明度,我们需要了解一下深度排序,或者说,对象的绘制顺序。Unity允许我们控制一个特定对象绘制到屏幕上的顺序,因此我们可以更好地控制哪些对象应该覆盖在其他对象上。你可以把绘制顺序理解成Photoshop中的图层的概念。在处理透明度或者类似界面对象的元素时,绘制顺序尤其重要。 本篇将会讲解如何使用Unity内置的标签(tags)来利用这个分层化的方法去渲染你的对转载 2016-08-31 17:29:44 · 10792 阅读 · 1 评论 -
Cg语言 SV_POSITION vs POSITION
在unity3d的shader lab开发中无意间接触到了 SV_POSITION这个语义绑定(semantics binding) 之前学习的cg语言vertex shader或者fragment shader中输入输出语义绑定都是用的POSITION。 有疑惑必须刨根问底才安心,所以查了N多帖子,寻找到了大概的线索。 回答是SV_前缀的变量代表system value,在DX转载 2016-08-31 17:21:07 · 941 阅读 · 0 评论 -
Unity中批处理对Shader的影响
最近处理一个Shader效果时发现批处理对Shader会有影响。具体表现为: 1:Shader中的顶点函数根据顶点位置(物体空间)进行了计算,如把顶点颜色设置为顶点位置值(物体空间) 2:当只渲染一个物体时,Shader表现正常 3:当渲染多个物体时,且这些物体Unity进行了批处理,会发现Shader异常了,顶点函数中的顶点位置(物体空间)原点已经不在物体的中心 4:官方转载 2016-08-25 17:36:00 · 500 阅读 · 0 评论