
Unity图形渲染
叫我上上
默默的提升技术比什么都有用
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UGUI 圆角矩形控件实现
介绍项目中使用了很多圆角矩形的纯色的按钮,背景之类的图片,如果使用传统的九宫格的拉伸,那么不通的圆角半径必须使用不通的图片,而且拉伸后边缘容易出现狗牙(锯齿)。于是想到了使用shader来实现该功能,利用算法生成圆角矩形。最终效果shader的实现Shader "UI/RoundMask"{ Properties { [PerRendererData] _MainT原创 2017-08-16 10:59:46 · 8575 阅读 · 4 评论 -
UnityShader基础整理
Unity渲染管线基础整理渲染管线管线流程 Unity Shader中的TagsQueue: Tag value Background 1000 Geometry 2000 AlphaTest 2450 Transparent 3000 Overlay 4000相同Queue的物体,unity会根据物体与摄像机的距离来决定渲染顺序RenderType原创 2017-08-02 09:30:05 · 706 阅读 · 0 评论 -
Unity中shader实现绘制六边形网格
上一篇 绘制一个正六边形的shader 中实现了在面片上绘制单一的六边形。结合上上篇的六边形网格向量工具,可以创建大量的六边形来实现绘制一个六边形网格。然而这样的绘制问题很明显,顶点数较多,每一个六边形用掉4个顶点。。。那我为什么不去直接用6个顶点的mesh呢?(手动滑稽)。 试想一下如果我有10000个格子,就要为了它绘制40000个顶点。。。 还有一种很常用的方式,画出一张六边形的贴图,然后原创 2017-08-27 17:02:43 · 6545 阅读 · 5 评论 -
绘制一个正六边形的shader
绘制一个正六边形的Shader最终效果如图 基本原理是当前片源UV坐标和fixed2(0.5 0.5)的距离与离其最近的正六边形的中心点UV坐标的距离之间的差的绝对值是否小于边缘的宽度。此做法经过扩展可以用来做UI的正六边形遮罩等功能。下面是shader的具体实现。具体算法请结合上一篇关于六边形坐标系的文章。六边形网格向量工具// Unlit shader. Simplest possible原创 2017-08-26 11:04:49 · 3241 阅读 · 0 评论 -
图片边缘出现黑点的问题分析和解决(纹理过滤)
图片边缘出现黑点的问题分析和解决(纹理过滤)最近在项目中遇到UI图片非透明区域边缘出现黑色杂点的问题,经过分析和纹理过滤有关,并提出解决方案,需要美术制图时特别注意。本文是此问题的分析与解决方案。问题我的项目使用的FairyGUI,然而此问题与UI框架无关。上图为出现问题的图片,一个绿色的环形图片,周围为透明。通过修改渲染所用shader,并在片源着色中修改out颜色的alpha = 1,可以获原创 2017-08-14 14:33:26 · 6577 阅读 · 0 评论 -
Unity后处理实现物体外描边
效果原理使用后处理,在后处理阶段先渲染产生一张RenderTexture,包含要被描边的物体,使用描边色渲染。高斯模糊RenderTexture,会产生边缘用高斯模糊的图片反向剔除未模糊的图,这样只保留模糊多出的部分。此时RenderTexture上为只有边缘的图,将此边缘图与渲染结果图进行混合并输出屏幕,即得到结果。实现OutLineCameraComponent.cs 挂载在摄像机下,原创 2017-08-02 09:50:17 · 8271 阅读 · 3 评论 -
unity 修改亮度,对比度,饱和度的处理
修改物体贴图的三个属性的shader实现Shader "Unlit/FixColor"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Brightness("Brightness", Range(0,2)) = 1 _Saturation("Saturation", Ra原创 2017-08-02 16:03:00 · 9817 阅读 · 0 评论 -
HSV,HSL颜色表示与RGB的互转
RGB之外几种常用颜色表达HSL 表示 hue(色相)、saturation(饱和度)、lightness(亮度)HSV 表示 hue(色相)、saturation(饱和度)、value(色调)HSB 表示 hue(色相)、saturation(饱和度)、brightness(明度)HSVC#实现//HSV->RGBpublic static Color ColorFromHSV(flo原创 2017-08-02 15:10:00 · 5036 阅读 · 1 评论 -
UnityShader 实现 PhotoShop中的正片叠底
项目中有拍摄图片并以拍摄到的图片为贴图。 实际使用中发现可能手机拍摄到的照片会发灰。 通过PhotoShop中的正片叠底可以强化图片效果,下面一个简单的shader实现了对贴图进行正片叠底的修正Shader "Unlit/FixImageShader"{ Properties { _MainTex ("Texture", 2D) = "white" {}原创 2017-08-02 13:10:29 · 4332 阅读 · 0 评论 -
光照模型
先开个坑原创 2017-08-02 11:20:17 · 707 阅读 · 0 评论 -
管线流程
初步整理了下管线的流程图,方便查阅原创 2017-08-28 16:08:31 · 653 阅读 · 0 评论