自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

candycat

好记性不如烂笔头

  • 博客(150)
  • 资源 (4)
  • 收藏
  • 关注

原创 【Unity】ScriptableObject的介绍

写在前面我竟然最近两天才知道Unity中ScriptableObject的存在……看了下ScriptableObject的一些介绍,最大的优点感觉有三点:把数据真正存储在了资源文件中,可以像其他资源那样管理它,例如退出运行也一样会保持修改可以在项目之间很好的复用,不用再制作Prefab那样导入导出在概念上有很好的fit,强迫症患者的福音看了下感觉有很多东西都可以用它。之前的做法一般都是[Se

2016-08-12 18:09:33 119955 42

原创 【Unity】编辑器小教程

写在前面Unity最强大的地方之一是它扩展性非常强的编辑器。Unite Europe 2016上有一个视频专门讲编辑器编程的:https://www.youtube.com/watch?v=9bHzTDIJX_Q这里大概记录一下里面的关键点。场景一关注点:绘制重要区域,Gizmos.DrawXXXOnDrawGizmos和OnDrawGizmosSelected回调函数点击Gizmos按钮

2016-08-04 19:37:23 32709 21

原创 【Unity Shader】新书封面 — Low Polygon风格的渲染

写在前面最近又开心又担心,因为我的书马上就要上市了,开心当然是因为等了这么久终于可以如愿了,担心是因为不少人对它的期待都很大,我第一次写书,能力也有限,不知道能不能让大家满意,让大家也都喜欢上它。不过有不少朋友和前辈鼓励我,还是很开心滴~之前有一些朋友觉得这次封面很漂亮,问我书的封面是不是我渲染的,以及怎么渲染的:其实这封面并不是在Unity里渲染的,是男朋友在C4D里面渲染的。我

2016-05-27 13:49:34 23643 52

原创 【Unity3D】 Unity Chan项目分享

写在前面之前的一个博文里分享了日本Unity酱的项目,如果大家有去仔细搜Unity酱的话,就会发现日本Unity官方还放出了一个更完整的Unity酱的项目,感觉被萌化了!(事实上,Unity日本经常会分享一些开源项目,要常关注github~)一些效果项目里还有有一些特效实现可以借鉴下的~MusicPlayer这个项目里的特效有个最大的特点就是,特效会根据音效做出反馈。这个功能主要是通过作者的另一个开

2016-05-16 10:48:45 41016 1

原创 【Unity Shader】自定义材质面板的小技巧

写在前面之前遇到过一些朋友问怎么在材质面板里定义类似于bool这种变量,控制一些代码的执行。我们当然可以写一个C#文件来自定义材质面板,就像Unity为Standard Shader写材质面板一样(你可以在built-in shader包里找到这些文件),但这样有时候太麻烦了。实际上,有一种更简单的方法,不需要写额外的C#文件就可以直接在shader里定义类似bool、enum这种简单的变量,Uni

2016-05-15 20:21:38 48371 14

原创 【Unity Shader】Unity Chan的卡通材质

写在前面时隔两个月我终于来更新博客了,之前一直在学东西,做一些项目,感觉没什么可以分享的就一直没写。本来之前打算写云彩渲染或是Compute Shader的,觉得时间比较长所以打算先写个简单的。今天扫项目的时候看到了很早之前下载的Unity Chan的项目,其实很早之前就想要分析下里面的卡通效果是怎么做的。Unity Chan想必很多人都看到或听过Unity Chan,也可以说是Unity酱、Uni

2016-04-03 19:58:09 36630 12

原创 【我的书】Unity Shader的书 — 目录(2016.5.19最后一次更新)

写在前面 感谢所有点进来看的朋友。没错,我目前打算写一本关于Unity Shader的书。出书的目的有下面几个:总结我接触Unity Shader以来的历程,给其他人一个借鉴。我非常明白学Shader的艰难,在群里也见了很多人提出的问题。我觉得学习Shader还是一件有规律可循的事情,但问题是中文资料难觅,而大家又不愿意去看英文。。。这对我有什么好处呢?强迫我对知识进行梳理,对细节问题把握更清楚

2016-01-29 13:08:01 47438 339

原创 【Unity Shader】2D动态云彩

写在前面赶在年前写一篇文章。之前翻看2015年的SIGGRAPH Course(关于渲染的可以去selfshadow的博客里找到,很全)的时候看到了关于体积云的渲染。这个课程讲述了开发者为游戏《地平线:黎明时分》所开发的动态天气系统,重点讲了里面的云的模拟和渲染,很有参考价值。其中,云的建模主要使用了raymarching的方法,他们的启发应该和shadertoy有关,但多了更多的程序控制和艺术效果

2016-01-29 12:58:01 25951 13

原创 【图形学】谈谈噪声

写在前面很早就想学习和整理下噪声,稍微接触过图形学的人大概都听到过噪声,然后就会发现有各种噪声,Perlin噪声,Worley噪声,分形(fractal)噪声等等。尤其是Perlin噪声,一搜资料发现大家说的各不相同,更加不明所以。我也总是困惑,后来发现还是要相信wiki和paper。这篇文章在于总结上面这些常见的噪声(即图形学中常见的程序噪声),它们是什么,怎么算出来的,以及一些应用。文章里的所有

2015-12-21 17:36:14 80801 35

原创 【NPR】卡通渲染

写在前面我的博客讲过好几篇卡通渲染了,比如【Unity Shader实战】卡通风格的Shader(一)、【Unity Shader实战】卡通风格的Shader(二)、【NPR】漫谈轮廓线的渲染、【Shader拓展】Illustrative Rendering in Team Fortress 2。后来,我搞了个所谓的NPR实验室,来实现一些论文里或者网络博客里讲到的NPR渲染算法,这里面包含了一些卡

2015-12-04 12:14:29 45528 8

原创 【NPR】铅笔画

写在前面今天打算写一篇跟Unity基本无关的文章。起因是我上个星期不知怎么的搜到了一个网站 ,里面实现的效果感觉挺好的,后来发现是2012年的NPAR会议的最佳论文。看了下文章,觉得不是很难,就想着实现一下。后来发现国内有两个博主有相关的文章,一个是风吹夏天的文章,一个是Imageshop的文章。通过读论文和两位博主的文章基本对算法就走通了,剩下的就是编码了。原论文作者给出了算法第一个部分的代码,风

2015-11-26 22:22:18 9060 1

原创 【ShaderToy】边栏的小雨伞

写在前面我在9月份的时候对博客的主页换了个模板,一些童鞋可能会发现边栏多了个小雨伞的动画,再细心的同学可能会发现如果一直开着我的博客电脑耗电更快了……当然啦,也有可能你看到的是一团黑,这说明你该换更高级的浏览器啦!前几天有人问我这个是怎么实现的,其实我一直都想写一下的。这个例子的灵感是我暑假的时候喝了一杯奶茶(我超爱喝奶茶……),然后觉得杯子上的图案非常可爱(有点类似于吉米的那种画风)。当然啦,用我

2015-10-24 22:56:15 11186 14

原创 【ShaderToy】水彩画

写在前面 好久没有更新shadertoy系列了,我万万没想到有童鞋还惦记着它。。。之前说过希望可以一周更新一篇,现在看来是不怎么可能了,一个月更新一篇的希望比较大(不要再相信我了。。。)我把之前实现的这个系列上传到了GitHub(https://github.com/candycat1992/Shadertoy_Lab)上,有兴趣的可以去下载下来。当然,也希望有网友可以一起贡献这个项目。GitHu

2015-08-19 18:52:22 17844 19

原创 【NPR】非真实感渲染实验室

写在前面 前几天在知乎看到一个问题——关于非实感图形学或者风格化渲染有哪些好的书或者paper,我刚好接触过一些就去里面回答了一下。答完以后突然想在Unity里搞一个这样的集锦,把一些简单的NPR论文或者教程在Unity里实现一下。于是这两天就做了一下。我把这个项目放到了GitHub(https://github.com/candycat1992/NPR_Lab)上,有兴趣的同学可以去看一下

2015-08-04 22:51:48 22480 12

原创 【图形学】我理解的伽马校正(Gamma Correction)

写在前面 我相信几乎所有做图像处理方面的人都听过伽马校正(Gamma Correction)这一个名词,但真正明白它是什么、为什么要有它、以及怎么用它的人其实不多。我也不例外。 最初我查过一些资料,但很多文章的说法都不一样,有些很晦涩难懂。直到我最近在看《Real Time Rendering,3rd Edition》这本书的时候,才开始慢慢对它有所理解。 本人才疏学浅,写的这篇文章很

2015-05-30 18:22:52 138394 32

原创 【NPR】漫谈轮廓线的渲染

写在前面 好久没写文章。最近在看《Real Time Rendering, third edition》这本书,看到了NPR这一章就想顺便记录下一些常见的轮廓线渲染的方法。在非真实感渲染中,对轮廓线的渲染是一个应用非常广泛的手法。根据《Real Time Rendering, third edition》一书的总结,在这篇文章里介绍几种常见的渲染方法。当然,这里只是抛砖引玉,如果要用于实际项目中可

2015-05-10 12:28:22 26439 11

原创 【ShaderToy】基础篇之再谈抗锯齿(antialiasing,AA)

写在前面在之前的基础篇中,我们讲到了在绘制点线时如何处理边缘的锯齿,也就是使用smoothstep函数。而模糊参数是一些定值,或者是跟屏幕分辨率相关的数值,例如分辨率宽度的5%等等。但这种方法其实是有一种问题的。这需要我们从绘制的图像说起。ShaderToy中绘制的很多图像可以说是一种Procedure Texture,过程纹理,即是计算机生成的纹理。拿之前画的圆和线来说,这些圆和线的绘制过程,是

2015-03-28 16:02:59 35998 20

原创 【ShaderToy】开篇

写在前面呜呼,好久没有写博客了,好惭愧。题外话,感觉越大就越想家,希望可以一直和家人在一起,哪怕只是坐在一起不说话也觉得很温暖,一想到要分开眼睛就开始酸,哎。开学还是爬上来老实更新博客学习吧~今天爬上来一看,发现CSDN的博客编辑终于更新了!进步总是好的,以前的编辑器实在很捉急。使用这种标记语言的确方便了很多,但好像颜色字体没法设置?程序员果然对美观没什么追求。ShaderToy如果你还没听过Sha

2015-03-27 12:03:42 83485 47

原创 【ShaderToy】基础篇之谈谈点、线的绘制

写在前面写前面一篇的时候,发现还是不够基础。因此打算增加几篇基础篇,从点线面开始,希望可以更好理解。其实用Pixel Shader的过程很像在纸上绘画的过程。屏幕上的每一个像素对应了纸上的一个方格,如果你愿意,你甚至可以一个个判断像素的位置,从而画出任何你想画的图像,也的确有爱好者这么做过。但往往,我们需要的是一个动态的效果,这个效果往往依赖于数学公式的约束。我们可以说是,用数学去绘画。我们用数学

2015-03-14 23:22:08 32666 20

原创 【ShaderToy】跳动的心❤️

写在前面注:如果你还不了解ShaderToy,请看开篇。作为ShaderToy系列的第一篇,我们先来点简单的。

2015-03-04 12:57:39 23945 21

原创 【闲谈】我为什么不想回答你的问题

写在前面我很久没有在博客里写一些跟纯技术无关的东西了。今天想写这篇,一方面是因为好像我博客看的人越来越多了,一些人通过邮件、私信、QQ来问我问题,而回答某些问题的时候我真的很不想说话。。。一方面,我觉得作为一个程序员,我最爱抱怨的问题除了万恶的配置问题,就是这种向人请教问题时遇到的“尴尬”。“如何正确地提问“绝对是程序员必备技能,而也是很多人不在乎的一个技能。因为这个问题,虽然别人没有正面批评过我

2015-01-22 17:29:02 13545 53

原创 【Unity Shaders】Shader中的光照

写在前面自己写过Vertex & Fragment Shader的童鞋,大概都会对Unity的光照痛恨不已。当然,我相信这是因为我们写得少。。。不过这也是由于官方文档对这方面介绍很少的缘故,导致我们无法自如地处理很多常见的光照变量。这篇我们就来讨论下Unity内置的一些光照变量和函数到底怎么用。以下内容均建立在Forward Rendering Path的基础上。Forward Rendering

2015-01-07 22:53:20 56155 23

原创 【Unity技巧】Unity中的优化技术

写在前面这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得的~Digital Tutors是一个非常棒的教程网站,包含了多媒体领域很多方面的资料,非常酷!除此之外,还参考了Unity Cookie中的一个教程。这篇文章旨在简要地说明一下常见的各种优化策略。不过对每个基础有非常深入地讲解,需要的童鞋可以自行去相关资料。影响性能的因素首先,我们得了解,影响游戏性能的因素哪些,才能

2014-12-26 21:44:21 147868 28

原创 【Unity Shaders】ShadowGun系列之二——雾和体积光

写在前面体积光,这个名称是God Rays的中文翻译,感觉不是很形象。God Rays其实是Crepuscular rays在图形学中的说法,而Crepuscular rays的意思是云隙光、曙光、曙暮辉的意思。在现实生活中,它的样子大概是下面这样:体积光的翻译大概就是由于这种光可见好像有体积似的。这些光一般是由于强烈的阳光从一些缝隙,如云间缝隙、窗户的缝隙中,透到较暗的环境中所造成的。如果要真实

2014-12-22 23:30:43 53027 17

原创 【Unity Shaders】法线纹理(Normal Mapping)的实现细节

写在前面写这篇的目的是为了总结我长期以来的混乱。虽然题目是“法线纹理的实现细节”,但其实我想讲的是如何在shader中编程正确使用法线进行光照计算。这里面最让人头大的就是各种矩阵运算和坐标系之间的转换,很容易因为坐标系错误而造成光照结果的错误。

2014-12-09 14:55:49 55591 42

原创 【Unity Shaders】Alpha Test和Alpha Blending

写在前面关于alpha的问题一直是个比较容易摸不清头脑的事情,尤其是涉及到半透明问题的时候,总是不知道为什么A就遮挡了B,而B明明在A前面。这篇文章就总结一下我现在的认识~Alpha Test和Alpha Blending是两种处理透明的方法。Alpha Test采用一种很霸道极端的机制,只要一个像素的alpha不满足条件,那么它就会被fragment shader舍弃,“我才不要你类!”;否则,

2014-11-29 21:55:10 60637 31

原创 【Unity Shaders】Unity里的雾效模拟

写在前面熟悉Unity的都知道,Unity可以进行基本的雾效模拟。所谓雾效,就是在远离我们视角的方向上,物体看起来像被蒙上了某种颜色(通常是灰色)。这种技术的实现实际上非常简单,就是根据物体距离摄像机的远近,来混合雾的颜色和物体本身的颜色即可。Unity里设置雾效有两种方式,一种最简单的就是直接开启全局雾效,也就是在Edit->Render Settings里配置,如下图所示:而我们只需要把“Fo

2014-11-29 15:25:20 39575 8

原创 【Unity Shaders】ShadowGun系列之一——飞机坠毁的浓烟效果

写在前面最近一直在思考下面的学习该怎么进行,当然自己有在一边做项目一边学OpenGL,偶尔翻翻论文之类的。但是,写shader是一个需要实战和动手经验的过程,而模仿是前期学习的必经之路。很多人都会问,怎么学shader,看什么书。当然我经验也不够,目前的路线是:掌握一门着色语言+读几本经典书籍+学习优秀的shader实例+动手实践+动手实践+动手实践。每一个都不容易,所以学shader是一个漫长而

2014-11-27 22:40:06 17344 17

原创 【OpenGL】详解第一个OpenGL程序

OpenGL能做的事情太多了!很多程序也看起来很复杂。但是!所有O

2014-11-26 16:00:34 98152 54

原创 【Unity技巧】四元数(Quaternion)和旋转

旋转,应该是三种坐标变换——缩放、旋转和平移,中最复杂的一种了。大家应该都听过,有一种旋转的表示方法叫四元数。按照我们的习惯,我们更加熟悉的是另外两种旋转的表示方法——矩阵旋转和欧拉旋转。矩阵旋转使用了一个4*4大小的矩阵来表示绕任意轴旋转的变换矩阵,而欧拉选择则是按照一定的坐标轴顺序(例如先x、再y、最后z)、每个轴旋转一定角度来变换坐标或向量,它实际上是一系列坐标轴旋转的组合。

2014-11-23 11:30:55 399159 84

原创 【Unity Shader实战】卡通风格的Shader(二)

写在前面好久没写博客了,一定是因为课程作业比较多,一定不是因为我懒,恩恩。三个月以前,在一篇讲卡通风格的Shader的最后,我们说到在Surface Shader中实现描边效果的弊端,也就是只对表面平缓的模型有效。这是因为我们是依赖法线和视角的点乘结果来进行描边判断的,因此,对于那些平整的表面,它们的法线通常是一个常量或者会发生突变(例如立方体的每个面),这样就会导致最后的效果并非如我们所愿。如下

2014-11-14 17:58:54 32707 11

原创 【Unity Shaders】Vertex & Fragment Shader入门

写在前面

2014-10-21 14:54:18 59628 29

原创 【Shader拓展】Illustrative Rendering in Team Fortress 2

早在使用ramp texture控制di'fu'f

2014-10-19 11:42:55 11294 6

原创 【Unity Shaders】初探Surface Shader背后的机制

转载请注明出处!写在前面一直以来,Unity Surface Shader背后的机制一直是初学者为之困惑的地方。Unity Surface Shader在Unity 3.0的时候被开放给公众使用,其宣传手段也是号称让所有人都可以轻松地写shader。但由于资料缺乏,很多人知其然不知其所以然,无法理解Unity Surface Shader在背后为我们做了哪些事情。前几天一直被问到一个问题,为什么我

2014-10-11 15:32:09 66805 27

原创 【OpenGL】理解一些基本问题

写在前面啦啦啦,搞了很久的Unity

2014-09-30 12:26:48 24870 11

原创 【Unity Shaders】《Unity Shaders and Effects Cookbook》总结篇

我的唠叨不知不觉,从发表第一篇关于《Unity Shaders and Effects Cookbook》已经快十个月了。一开始的初衷就是学习笔记,毕竟将来回过头去看的时候,再看英文难免有种急躁感。从一开始几乎只有我一个人在奋斗,到现在时不时有人学习留言或者发邮件鼓励我,能有人和我一起学习我已经很开心了。谢谢所有鼓励和支持我的人~我先说下我的博客里这个系列的特点~首先声明,这不是纯翻译,我的插图绝

2014-09-24 17:12:25 21264 16

原创 【Unity Shaders】游戏性和画面特效——创建一个夜视效果的画面特效

本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。========================================== 分割线 ==========================================

2014-09-23 16:39:33 16853 8

原创 【Unity Shaders】游戏性和画面特效——创建一个老电影式的画面特效

本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。========================================== 分割线 ==========================================写在前面

2014-09-20 16:09:14 19208 23

原创 【Unity Shaders】使用Unity Render Textures实现画面特效——画面特效中的叠加(Overlay)混合模式

本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。========================================== 分割线 ==========================================写在前面

2014-09-18 22:36:44 15600 3

原创 【Unity Shaders】使用Unity Render Textures实现画面特效——画面特效中的类似Photoshop的基本混合模式

本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。========================================== 分割线 ==========================================写在前面

2014-09-18 11:35:38 18114 16

2D动态云彩

在Unity中实现2D动态云彩,原理和用法可参考:http://blog.csdn.net/candycat1992/article/details/50603529

2016-01-29

《Unity Shaders and Effects Cookbook》代码和资源

Unity Shaders博客专栏(http://blog.csdn.net/column/details/unity-shaders.html)所需资源,包含了各章所学代码和模型资源等。

2014-01-02

Unity3D插件——LitJson

用法可参见http://blog.csdn.net/candycat1992/article/details/10940245

2013-11-28

OpenGL库大全

主要包含了glaux,glew-1.9.0,glfw-2.7.8,glm-0.9.3.4,glui-2.36,glut-3.7.6和基本库。使用方法大部分都是把dll文件复制到system32文件下,头文件复制到VS的include/GL文件下,lib文件复制到VS的lib文件下即可。有时候可能会遇到无法解析的外部命令,这时候要在VS的项目设置里的依赖外部库中添加相应的库文件位置。

2013-04-19

空空如也

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

TA关注的人

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