Unity上对于图像的处理,假设单纯使用代码。那么非常遗憾,程序基本会跑死,毕竟是直接对像素的操作,读取写入都是比較耗费CPU和内存的。

所以。这次由于项目须要想实现类似哈哈镜的效果。想来想去,还是认为用unity的Shader比較好,毕竟不须要CPU做什么,仅仅用GPU就能够了。

话说GPU也是非常强大的。

以下简单说一下Shader(事实上我也是新手,学习的话,參考http://blog.csdn.net/poem_qianmo/article/details/40723789

)这是位大牛,我的一些基础知识是在里面学习的。

这次我是来分享几个Shader的,对于详细的内容原理什么的,我就不讲了。也讲不来Unity Shader 效果学习,仅仅能大致说一下。我也在学习。

1、哈哈镜效果(放大)


以下是解释,将就着看一下

Unity Shader 效果学习

编译无误的话。我们看一下在Unity中的效果

新建一个Plane,导入一张图片。然后拖到Plane上面,在选择我们刚才创建的Shader

Unity Shader 效果学习

能够看到,以下的三个參数就是我们创建的在Propertes里面。随便挑以下參数。以下是效果

Unity Shader 效果学习Unity Shader 效果学习

好吧,糟蹋了美女。。

算法是我从Java里面改过来的,细节就不要问我了。我是代码搬运工。。

2、哈哈镜缩小模式

我直接上代码咯,由于基本没有变什么

看看效果(事实上第二个还蛮可爱的)

Unity Shader 效果学习


Unity Shader 效果学习

3、再来个对称的

看效果

Unity Shader 效果学习

额,这妹子即使对称了。看着还是挺好看(花痴ing)附上原图

Unity Shader 效果学习

临时就这么多吧,还有其它特效,以后慢慢更新

相关文章: