unity shaderlab Blend操作】的更多相关文章

原文链接: http://www.tiankengblog.com/?p=84 Blend混合操作是作用于在所有计算之后,是Shader渲染的最后一步,进行Blend操作后就可以显示在屏幕上.shader的计算步骤借用unity官方的一张图 Blend操作有两个混合对象,同时对应两个混合因子,Blend操作公式:Blend SrcFactor DstFactor 这里称SrcFactor为资源因子,DstFactor为目标因子,公式的意义就是:当前资源*资源因子+目标资源*目标因子 举一些常用的…
http://www.jianshu.com/p/7b9498e58659 Unity ShaderLab学习总结 Why Bothers? 为什么已经有ShaderForge这种可视化Shader编辑器.为什么Asset Store已经有那么多炫酷的Shader组件可下载,还是有必要学些Shader的编写? 2014-0718-1607-11-33.png 因为上面这些Shader工具/组件最终都是以Shader文件的形式而存在. 需要开发人员/技术美术有能力对Shader进行功能分析.效率评…
转 https://willweissman.wordpress.com/tutorials/shaders/unity-shaderlab-object-outlines/ Unity Shaderlab: Object Outlines One of the simplest and most useful effects that isn’t already present in Unity is object outlines. Screenshot from Left 4 Dead.…
来源:http://www.cnblogs.com/hielvis/archive/2010/10/21/1857415.html 有的人认为,Blend主要是用来修改一下颜色,调整一下布局之类的,大部分的SL开发还是用VS搞定:这样的结果我们可以预测,他的UI一定是很普通的,也许布局颜色搭配之类算不上难看,符合一般审美,但是绝不是高水平的UI,也不会是销售人员满意的设计: 有的人认为,Blend太难学了,总是搞不懂应该怎么去操作,感觉跟其他设计工具都有点不一样,所以,很多人对它很感兴趣,希望用…
http://www.cnblogs.com/daxiaxiaohao/p/4059310.html 1.不透明度 当我们要将两个半透的纹理贴图到一个材质球上的时候就遇到混合的问题,由于前面的知识我们已经知道了片段着色器以及后面的环节的主要工作是输出颜色与深度到帧缓存中,所以两个纹理在每个像素上的颜色到底以怎样的形式混合在一起最后输出到帧缓存中是我们现在首要讨论的内容. 1.混合(blending) 上一篇文章中的管道环节中的"逐帧操作"环节中的一项操作就是混合操作,可见混合操作是不可…
sublime text 2,支持unity shader关键字高亮显示,智能提示功能.这个脚本编辑器的售价是70美元,不过作者很厚道地给了我们永久的免费试用期. 1)下载sublime text 2,链接地址http://www.sublimetext.com/2,sublime text 3是beta版,当然下载哪个自己选择. 2)安装步骤不详述. 3)sublime text 2支持很多语言和脚本,但是默认是不支持unity shader,所以需要安装相应的语言插件包. a)打开subli…
1.寻找物体 1.1 寻找满足条件的子物体 ` public static Transform FindObj(Transform transform, Func<Transform, bool> condition, bool isGrandsonObj = false) { Transform[] allChilds = transform.GetComponentsInRealChildren<Transform>(isGrandsonObj); foreach (Trans…
unity camera默认3种渲染路径,unity5.50里面有4种 camera Rendering Path 1 vertexLit(逐顶点,一般在vert中处理)  2 forward (前向渲染,简单说就是只渲染影响力比较大的几个光源) 3 Deferred(延迟渲染,逐像素,一般在frag中处理,目前已知就是surface里默认的光照处理) shader LightMode 1 Vertex(渲染vertex光源) 2 ForwardBase(用来渲染场景中最重要光源,pixel平行…
因为项目的问题,有个效果在iOS上面无法实现出来- 因为shader用的HardSurface的,在android上面跑起来没有问题- 以为在iOS上也不会有问题,但是悲剧啊,技能效果一片漆黑- 而且之所以在iOS上面跑6.8FPS,就是因为HardSurface造成的- 没办法临时抱佛脚,一边看视频教程,一边看着圣典的翻译,学一下吧- 但愿能学会......哎...... ShaderLab语法:Properties   Properties { Property [Property ...]…
1.格式 Shader "Custom/MyShader" //命名+右键创建shader路径 { //属性必须在代码里声明才能使用 Properties{ //属性,会出现在inspector面板 _MainTex("Main Tex",2D) = "white"{} //名称("面板显示名称",数据类型) = 初始化 } //针对不同显卡可以有不同subshader,对应不同品质的渲染 SubShader{ Tags{&q…
在这一篇中会实现会介绍折射和反射,以及菲尼尔反射:并且实现镜子和玻璃效果: 这里和之前不同的地方在于取样的是一张CubeMap: demo里的cubemap使用的一样,相机所在位置拍出来的周围环境图: 生成CubeMap的工具脚本: public class RenderCubemapWizard : ScriptableWizard { public Transform renderFromPosition; public Cubemap cubemap; void OnWizardUpdat…
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/42060963 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: happylifemxy@163.com 文章开头,先给自己诚求个游戏研发实习的好去处. 浅墨今年1月.明年上半年有近半年的空暇时间可供实习. 近5年游戏编程经验,能够胜任全职的游戏开发工作.仅仅拿实习生的工资(性价比非…
Unity 触屏操作 当将Unity游戏运行到IOS或Android设备上时,桌面系统的鼠标左键可以自动变为手机屏幕上的触屏操作,但如多点触屏等操作却是无法利用鼠标操作进行的.Unity的Input类中不仅包含桌面系统的各种输入功能,也包含了针对移动设备触屏操作的各种功能,下面介绍一下Input类在触碰操作上的使用. 首先介绍一下Input.touches结构,这是一个触摸数组,每个记录代表着手指在屏幕上的触碰状态.每个手指触控都是通过Input.touches来描述的: fingerId 触摸…
http://www.unitymanual.com/thread-23491-1-1.html 今天,这篇文章其实是个老生常谈的问题咯,在网上类似的文章也比比皆是,在此我只是做个详细总结方便大家能够更好.更快的掌握,当然,如有不足的地方 欢迎指正!!! 相信大家在开发过程中,难免会保存一些文件在客户端进行本地化操作.如:配置文件,状态文件,Assetbundle文件等等... 最近总有人问我:1.保存了一个xml在客户端,能读取里面的数据,可是不能修改,甚至一修改就报错...2.我在电脑上操作…
今天,这篇文章其实是个老生常谈的问题咯,在网上类似的文章也比比皆是,在此我只是做个详细总结方便大家能够更好.更快的掌握,当然,如有不足的地方 欢迎指正!!! 相信大家在开发过程中,难免会保存一些文件在客户端进行本地化操作. 如:配置文件,状态文件,Assetbundle文件等等... 最近总有人问我: 1.保存了一个xml在客户端,能读取里面的数据,可是不能修改,甚至一修改就报错... 2.我在电脑上操作文件(xml.text.Assetbundle.json)都没问题,可是生成打包生成apk.…
本篇内容主要介绍Unity ShaderLab 语法:Properties Unity中的整个场景效果的表现,Shader起了至关重要的作用,为了方便我们的学习,unity采用了cg作为着色器语言. Unity配备了强大的阴影和材料的语言工具称为ShaderLab,以程式语言来看,它类似于CgFX和Direct3D的语法, 它不只纪录基本的端点或者映像点(vertex/pixel),也描述了材质所必要的一切资讯. 理解一门足以,cg让学习shader的编写更快捷高效,表面着色器的语言大多基于组件…
1.首先简单介绍一下什么叫填充率: Fill Rate(填充率)是指显卡每帧或者说每秒能够渲染的像素数.在每帧绘制中,如果一个像素被反复绘制的次数越多,那么它占用的资源也必然更多.目前在移动设备上,FillRate 的压力主要来自半透明物体.因为多数情况下,半透明物体需要开启 Alpha Blend 且关闭 ZTest(深度测试)和 ZWrite(深度写入),同时如果我们绘制像 alpha=0 这种实际上不会产生效果的颜色上去,也同样有 Blend 操作,这是一种极大的浪费. 2.OverDra…
看了下unity linear space的工作流 srgb read tex deferred gbuffer01  srgb rt float rt----pps float rt 最后 blit resolve的时候两次都是 srv是float rtv是srgb  然后 srv srgb rtv srgb 最后压一次pow0.45 提亮 =========== http://www.cnblogs.com/TracePlus/p/4168447.html http://renderwonk…
遮罩,顾名思义是一种可以掩盖其它元素的控件.常用于修改其它元素的外观,或限制元素的形状.比如ScrollView或者圆头像效果都有用到遮罩功能.本系列文章希望通过阅读UGUI源码的方式,来探究遮罩的实现原理,以及通过Unity不同遮罩之间实现方式的对比,找到每一种遮罩的最佳使用场合. Unity UGUI主要提供两种遮罩,分别是Mask和Rect Mask 2D.在2D游戏开发中,可能还会用到Sprite Mask,虽然不是本文的重点,但后面也会提到.原本是希望将对各个遮罩的分析与对比整合在一篇…
在分析PRISM项目的时候, 发现里面用到了Unity 这个Component, 主要用于依赖注入的.由于对其不熟悉,索性分析了一下,记载在此,以作备忘. 任何事物的出现,总有它独特的原因,Unity也是如此. 在Unity产生之前,我们是这么做的 在远古的时候,当我们需要在一个类A中引用另一个类B的时候,总是将类B的实例放置到类A的构造函数中,以便在初始化类A的时候,得到类B的实例. public class A { B b; public A() { B = new B(); } } 但是,…
Unity实现神庙逃亡操作 现在特别火的跑酷游戏<神庙逃亡>是用Unity3D引擎开发的 游戏的操作:用手指拨动(划动)人物就转向,利用手机的重力感应进行人物左右调整. 今天用Unity来实现这样的功能 加速度坐标 Input.acceleration在手机中的坐标是这样的 示例代码 只截一个关键部分的截图吧,具体的细节要和模型配合使用 文档资料 Unity Input API Input.touches(触摸列表) TouthPase(触摸状态) Input.acceleration(加速度…
1.引言 高内聚,低耦合成为一个OO架构设计的一个参考标准.高内聚是一个模块或者一个类中成员跟这个模块或者类的关系尽量高,低耦合是不同模块或者不同类之间关系尽量简单. 拿咱国家举例来说,假如你是中国人. 高内聚:就是说你跟中国亲,关系好,国家会保护你. 低内聚:就是说你跟中国的关系不好,那还怎么混,改天就要批斗你,你就是个问题源. 低耦合:就是说你跟日本的关系非常正常,非常简单,这样的话,就不会被骂汉奸了. 高耦合:就是说你跟日本亲,活该被砸,被游街. 上面例子虚构的,不太贴切,但从中可以看出来…
说起IOC,可能很多初学者不知道是用来做什么的,今天正好有点时间,就来扫扫盲,顺便巩固下自己. IOC全称是Inversion Of Control,意为控制反转(这些自然百度也有),可什么是控制反转呢? 按我现在的理解,把上端依赖的项从细节转换为抽象,并把细节转移到第三方,这个就叫控制反转. 怎么理解呢?最简单的:我们有一个接口Ianimal,就像这样: public interface iAnimal { void talk(); } 然后我们现在用另一个类去实现该接口: public cl…
Unity入门 用unity做一个最简单的交互.(相当于Hello World)仅仅要最后能执行就算入门了. 第一步,要先用三维制作软件制作出我们须要的场景. 这儿使用的是Max2012(软件大小3.09G). 首先设置一下在max使用的长度单位,选择使用米为单位. 设置步骤是Customize---->Units Setup---->System Unit Setup---->下拉选择Meters 先用max里的平面几何体制作一片地面,操作很easy,过程例如以下: 点击平面butto…
Unity SurfaceShader 开始编程 在14年年初的时候,以前给自己定下了今年要实现的三个目标.当中之中的一个就是学会编写自己的Shader,并可以投入到实际的项目应用之中.如今,转眼间日历已经翻到了6月份,而自己关于Shader的学习,还停留在三天打鱼两天晒网的零碎学习状态,自己心里非常是着急.平时的工作任务多,挤掉了自己的学习时间是一方面. 但更重要的.还是由于自己没有制定一个稳步的计划.来监督自己利用一切可以利用的时间完毕学习的内容.相反,自己做的太过任意了. 所以.继续以博文…
这篇文章译自 Christopher LaPollo 先生的 Unity 4.3 2D 教程的第一部分 Unity 4.3 2D Tutorial: Getting Started 感谢这套优秀教程的作者@Chris!译者水平有限,翻译不准确的地方请参考原文,文中所有Unity的关键字都没有翻译. 如果你尝试用更早版本的Unity来制作2D游戏,那当然没问题,但你也知道必须先解决一些问题. 可能你通过给quad应用纹理,使用脚本调整纹理参数来实现一些动画.由于它们在3D环境,如果添加物理效果,你…
今天做了一个UI界面,这个界面是好友界面,该界面上有若干个好友item. 需要对每个tem的头像对象(image)动态显示对应的头像.尝试利用UGUI的图集来加载,具体实现如下: 1.首先,需要知道SpriteAtlas的功能,可以保存一些关于要打包进去的sprite的设置.(详细参数设置的意义有待进一步研究),其中的Objects For Packing可以关联到需要打包进这个已创建图集的Sprite,或者文件夹,或者texture.目前这里的做法是关联到了文件夹. 2.此时,unity已经给…
1.引言 高内聚,低耦合成为一个OO架构设计的一个参考标准.高内聚是一个模块或者一个类中成员跟这个模块或者类的关系尽量高,低耦合是不同模块或者不同类之间关系尽量简单. 拿咱国家举例来说,假如你是中国人. 高内聚:就是说你跟中国亲,关系好,国家会保护你. 低内聚:就是说你跟中国的关系不好,那还怎么混,改天就要批斗你,你就是个问题源. 低耦合:就是说你跟日本的关系非常正常,非常简单,这样的话,就不会被骂汉奸了. 高耦合:就是说你跟日本亲,活该被砸,被游街. 上面例子虚构的,不太贴切,但从中可以看出来…
第一个简单的顶点vert/片元frag着色器   1)打开Unity 5.6编辑器,新建一个场景后ctrl+s保存命名为Scene_5.默认创建的场景是包含了一摄像机,一平行光,且场景背景是一天空盒而非纯色.在这里菜单中选择 Window->lighting->settings,会弹出一个光照选项设置框如下图:      点击箭头处选择“None”资源即可去掉天空盒,看到一个纯色背景.   2)右键create一C# script,命名为shader_5,放置脚本到shader文件夹.(相当于…
Unity提供了很多Image Effect效果,包含Global Fog.DOF.Boom.Blur.Edge Detection等等,这些效果里面都会使用到摄像机深度或者根据深度还原世界坐标实现各种效果,这篇文章主要介绍Unity中获取相机深度的方式. 1. Camera Image Effect Image Effect是Post Effect中的一种方式,Camera GameObject脚本上挂在脚本带有OnImageRender来实现, 具体实现参考Unity官网说明. 对于深度纹理…