shader

ScrollRect裁剪ParticleSystem粒子(UGUI)(一)

倖福魔咒の 提交于 2020-03-07 18:43:54
UGUI的ScrollRect可以正确的裁剪包括Image,Text等UGUI自身的组件,但是不能正确裁剪ParticleSystem粒子,这给客户端和美术人员造成了很大麻烦,今天我们就通过修改shader的方式,解决裁剪问题 环境搭建 创建新的场景,添加ScrollView,并将子对象Viewport的Mask替换成Rect Mask 2D(重要) 创建UI摄像机,修改Projection为Orthographic,Culling Mask仅选择UI 修改Canvas的RenderMode为Screen-Space Camera,并绑定2中创建的摄像机 在ScrollView的content下添加一个ParticleSystem 运行 可以看到此时,粒子从ScrollView的边缘穿透出去 修改Unity原生particle shader 下载Unity对应版本 shader代码 (如果链接失效,可以直接去Unity官网找下载),我使用的是unity5.5.1版本 打开并定位到Particle Add.shader文件,复制一份命名为UIParticleAdditiveClip.shader保存到Asset文件夹中 修改UIParticleAdditiveClip.shader中的shader名称为“Custom/UI/Particle_Additive_Clip”

在Unity3D中开发的Hologram Shader

跟風遠走 提交于 2020-03-05 18:39:31
SwordMaster Hologram Shader 特点 此全息投影风格的Shader是顶点片元Shader,由本人手动编写完成 此全息投影风格的Shader已经在移动设备真机上进行过测试,可以直接应用到您的项目中 所支持的Unity的版本 5.6.6 或 更高 下载地址 您可以从Unity Asset Store上进行下载: SwordMaster Hologram Shader 更多插件请访问本人的个人网站: https://www.swordmaster.info/ 来源: CSDN 作者: SwordMaster0080 链接: https://blog.csdn.net/SwordMaster8060/article/details/104675851

在Unity3D中开发的Ghost Shader

為{幸葍}努か 提交于 2020-03-05 18:33:25
SwordMaster Ghost Shader 特点 此Shader是顶点片元Shader,由本人手动编写完成 此Shader已经在移动设备真机上进行过测试,可以直接应用到您的项目中 所支持的Unity的版本 5.6.6 或 更高 下载地址 您可以从Unity Asset Store上进行下载: SwordMaster Ghost Shader 更多插件请访问本人的个人网站: https://www.swordmaster.info/ 来源: CSDN 作者: SwordMaster0080 链接: https://blog.csdn.net/SwordMaster8060/article/details/104675890

在Unity3D中开发的Outline Shader

假如想象 提交于 2020-03-05 15:47:11
Swordmaster Outline Shaders 特点 本资源包共包含三种Outline效果的Shader (1) Outline Bumped Specular. (2) Outline StandardPBR(Metallic setup). (3) Outline StandardPBR(Specular setup). 它们都是顶点片元Shader,由本人手动编写完成: The Outline Bumped Specular Shader: 创建一个材质球并设置Shader为Outline Bumped Specular: 你可以通过这些属性改变边缘线的颜色和宽度: The Outline StandardPBR Shader: 创建一个材质球并设置Shader为Outline StandardPBR: 你可以通过这些属性改变边缘线的颜色和宽度: Demo场景: 本插件包含了一个Demo场景,该场景展示了这些Outline Shader的效果: 打开场景并运行: 你可以改变相应模型轮廓线的颜色和宽度: 所支持的Unity的版本 5.6.6 或 更高 下载地址 您可以从Unity Asset Store上进行下载: SwordMaster Outline Shaders 更多插件请访问本人的个人网站: https://www.swordmaster.info/ 来源:

在Unity3D中开发的Dissolve Shader

╄→尐↘猪︶ㄣ 提交于 2020-03-05 15:45:25
Swordmaster Dissolve Shaders 特点 本插件共包含两种Dissolve Shader: (1).一种类型是Bumped Specular工作流的Dissolve Shader,此Shader适合在移动平台上运行. (2).另一种是Standard PBR工作流的Dissolve Shader,此Shader有着真实的光照效果. 本插件中所有Shader都是顶点片元Shader,由本人手动编写完成. 这些Shader都着完整的光照计算,并且可以直接应用到您的工程中. 所支持的Unity的版本 5.6.6 或 更高 下载地址 您可以从Unity Asset Store上进行下载: SwordMaster Dissolve Shaders 更多插件请访问本人的个人网站: https://www.swordmaster.info/ 来源: https://www.cnblogs.com/SwordMaster/p/12420083.html

CSharpGL(0)一个易学易用的C#版OpenGL

放肆的年华 提交于 2020-03-05 12:28:21
+BIT祝威+悄悄在此留下版了个权的信说: CSharpGL(0)一个易学易用的C#版OpenGL CSharpGL是我受到 SharpGL的启发,在整理了SharpGL,GLM,SharpFont等开源库的基础上,做的一个新的 C#版OpenGL库 ,希望它能做到易学易用,简化OpenGL开发,减少低级错误,帮助初学者更快地由入门到精通。 CSharpGL全部源代码、示例、文档都可以在( https://github.com/bitzhuwei/CSharpGL )下载。 下面这段话引自( http://blog.sina.com.cn/s/blog_7cfb366d0101eglm.html ) 学习OpenGL之所以痛苦,是因为首先只有两本推荐的,一本红宝书《OpenGL编程指南》;一本蓝宝书《OpenGL超级宝典》,初学者看他的东西往往会不知所云。在学习初期,除了少的可怜的书之外,更缺乏调试器。本身物体在三维空间,输错一个正负号就有可能让你找不到你的物体在哪里,没有调试的话你甚至不知道中间过程的时候,物体到底是什么样子。也就是说基本就是一抹黑,你可能既不知道你顶点坐标是否正确,也不知道某些个API是不是调用错误,抑或者是像深度缓冲没开等等,只能靠运气一般的去调去试。我就是这么可怜的度过了那段时间,现在想起来真心感叹,没人带没人教就是这么惨。 2016-08-13

实现图片ETC+Alpha分离

送分小仙女□ 提交于 2020-03-05 12:04:02
https://blog.csdn.net/m1234567q/article/details/103340715 ETC纹理压缩格式 ETC1:它是一种为感知质量设计的有损算法,其依据是人眼对亮度改变的反应要高于色度改变,遗憾的是ETC1不支持透明。 ETC2:ETC2是ETC1的扩张,向后兼容ETC1,对RGB的压缩质量更好,并且支持透明通道。 原理 目前ETC2压缩格式在OpenGL ES 3.0和OpenGL 4.3上才要求支持,然而目前很多设备只支持OpenGL ES 2.0,所以为了兼容大部分Android设备,并且实现图片压缩,减少包资源大小,所以采用将ARGB格式Texture分离成RGB Texture和Alpha Texture,并均进行ETC压缩。(边长需要POT,2的幂),通过运行时刻进行合并。 步骤 将Texture丢进TexturePacker中,设置好参数后输出,分别得到tga文件和txt文件。 将Tga文件丢进PS中。 选择通道,删除Alpha 1通道,保存命名为后缀_RGB文件,此为RGB Texture。 回滚之前Tga文件,选择‘分离通道’,保存分离后的Alpha通道为后缀_Alpha文件,此为Alpha Texture。 新建Material,使用(Unlit/Transparent Colored Combine) Shader,将RGB

(投影:Projector)Unity5 使用Projector实现纹理投射

萝らか妹 提交于 2020-03-03 19:00:38
游戏中,我们经常需要实现将纹理投射到场景中其他物体上的效果,如地上的光环、石块上的logo、水印等。很多情况下我们可以通过灯光或者其他方式达到我们想要的效果,但是Unity已经为我们提供了一种更加便捷高效的实现方式,那就是Projector组件。本篇我们就来看看如何使用Projector实现纹理投射。 最终效果预览 准备工作 首先创建工程,通过Assets->Import Package->Effects导入标准资源库中的特效素材,如下图所示。如果安装Unity时没有安装标准资源库,可以到这里单独下载并安装。 导入资源后,Project中将出现下图中的结构: 接下来就可以在场景中加入必要的元素了。 应用Projector组件 将BlobShadowProjector(Standard Shader Gallery -> Effects -> Projectors -> Prefabs)拖入场景中,Inspector面板如图: BlobShadowProjector实现的是通过Projector组件在物体上投射一个圆形的阴影。将上图中Cookie改成我们需要的图片(注意图片属性中Alpha from Grayscale需要勾选,Wrap mode选择Clamp,当然你可以尝试不同选择看实际效果),但仍然存在不少问题,如png图片中的透明部分会被渲染成黑色,场景中有不明条纹等。

Why is the z coordinate flipped after multiplying with a matrix in GLSL - OpenGL

僤鯓⒐⒋嵵緔 提交于 2020-03-03 07:03:06
问题 I'm making a small game engine in which i want to draw stuff using OpenGL. I abstracted all the OpenGL objects into classes (Buffers, VertexArrays, Shaders, Programs...). Everything worked fine until i got to 3D rendering. I implemented my own matrices and vectors(i didn't use like glm), and when i multiply my vertex position in the shader with any matrix, the z coordinate flips (z = -z). I even tried with the identity matrix. Here is the vertex shader: #version 330 core layout(location = 0)

渲染Keynote

喜你入骨 提交于 2020-03-03 05:49:03
【 渲染Keynote 】 1、渲染图元(rendering primitives),可以是点、线、三角。 2、显卡对于显存的访问速度更快,而且大多数显卡对于RAM没有直接的访问权利 。 3、裁剪(Clipping)是将那些不在摄像机内的 顶点 裁剪掉。 4、OpenGL左下角为(0,0),右上角为(1,1)。 5、模板测试(Stencil Test)位于Fragment Shader之后。 6、Blend是最后一道工序。 7、一个形象的比喻是,我们在使用固定管线进行渲染时,就好像在控制电路上的多个开关我们可以选择打开或关闭一个开关,但永远无法控制整个电路系统。 8、OpenGL3.2中完全移除了固定管线。Unity5.2以后版本,固定管线也会被转化为shader管线。 9、计算机科学中的任何问题都可以增加一层抽象来解决。 10、三个轴互相垂直,且长度为1,这些矢量被称为标准正交基(orthonormal basis)。 11、Unity使用左手坐标系。而在Camera中,使用的是右手坐标系。 12、叉积不满足交换率,即axb!=bxa。 13、矩阵乘法不满足交换律。AxB!=BXA。 14、逆矩阵(inverse matrix)。不是所有的矩阵都有逆矩阵,该矩阵必须 是一个方阵。MM^(-1)=I。 15、正交矩阵(orthogonal matrix)。如果MM^T=I