【Unity3D】
文章平均质量分 81
浅墨_毛星云
微软MVP,著作《Windows游戏编程之从零开始》,《OpenCV3编程入门》。热爱游戏引擎、游戏开发、图形学、Unreal、Unity3D等技术。
展开
-
【Unity3D Shader编程】之三 光之城堡篇:子着色器、通道与标签的写法 & 纹理混合
本文介绍了Unity中子着色器、通道和标签相关的详细概念与写法,以及纹理的设置方法,基本的纹理混合写法,写了5个Shader作为本文Shader讲解的实战内容,最后创建了一个梦幻的光之城堡场景进行了Shader的测试。依旧是国际惯例,先上本文配套程序的截图。光之城堡: 山坡上远眺: 通向森林的路:古墓:雾气氤氲的森林: 来一张上帝视角:OK,图先就上这么多。文章末尾有更多的运行截图,并提供了原工程的下载。可运行的exe下载在这里:原创 2014-11-16 21:05:25 · 45960 阅读 · 43 评论 -
【Unity3D Shader编程】之四 热带雨林篇: 剔除、深度测试、Alpha测试以及基本雾效合辑
本文介绍了Unity中Shader书写中会用到的剔除、深度测试、Alpha测试以及基本雾效相关的语法知识,然后以6个Shader的书写作为实战内容,最后创建了一个生机勃勃的热带雨林场景进行了Shader的测试。依旧是国际惯例,先上本文配套程序的截图。绿色的海洋: 满眼的生机: 竹林: 参天大树: 飘到脸上的树叶: OK,图先就上这么多。文章末尾有更多的运行截图,并提供了原工程的下载。可运原创 2014-12-14 16:49:18 · 37171 阅读 · 44 评论 -
【Unity3D Shader编程】之六 暗黑城堡篇: 表面着色器(Surface Shader)的写法(一)
本文主要讲解了Unity中SurfaceShader的具体写法,以及几个常用的CG函数的用法。在这里先说明一下,表面着色器将分为两次讲解,本文介绍表面着色器的基本概念和一些写法,用内置的兰伯特光照模式来进行Surface Shader的书写,而下次将介绍Surface Shader+自定义的光照模式的写法。 PS:最近几天,在完美世界、腾讯互娱工作多年的几个朋友们问了浅墨一些表面着色器相关的Shader写法,浅墨当时回答他们的时候自己也是似懂非懂。通过这篇文章的书写,现在算是对这方面知识有了进一步的理原创 2014-12-28 19:12:33 · 40917 阅读 · 26 评论 -
【Unity3D Shader编程】之七 静谧之秋篇: 表面着色器的写法(二)—— 自定义光照模式
本文主要讲解了Unity中SurfaceShader的自定义光照模式的写法。 上篇文章中我们已经说到,表面着色器将分为两次讲解,上一篇文章中介绍了表面着色器的基本概念和一些写法,用内置的兰伯特光照模式来进行Surface Shader的书写,而本文将介绍Surface Shader+自定义的光照模式的写法。 OK,言归正传,依然是先来看看本文配套的游戏场景截图。 运行游戏,音乐响起,金黄色的丰收之秋映入眼帘: 远方: 池塘: 参天大树: 小型村落:原创 2015-01-11 17:03:14 · 26161 阅读 · 35 评论 -
【Unity3D Shader编程】之八 Unity5新版Shader模板源码解析&径向模糊屏幕特效的实现
概要:本文对Unity5中全新的三种Shader模板的源码进行了解析,然后还讲解了运动模糊屏幕特效的实现方法。Unity5和之前的书写模式有了一定的改变。Unity5时代的Shader Reference官方文档也进一步地变得丰满。主要需要了解到的是,在原来的Unity中,若想要新建一个Shader源文件,不考虑compute shader的话,仅有一种Shader模板供选择。而自从Unity5.1起(好像是Unity5.1)原创 2015-10-25 20:26:18 · 41377 阅读 · 39 评论 -
【Unity3D Shader编程】之九 深入理解Unity5中的Standard Shader (一)&屏幕水幕特效的实现
概要:本文主要介绍了Unity5中的标准着色器,并且也涉及到了基于物理的着色、延迟渲染等高级着色技术,而在文章后半部分,也对屏幕水幕特效的实现方法进行了讲解与分析。 依然是附上一组本文配套工程的运行截图之后,便开始我们的正文。如下图。 打开水幕特效的效果图: 原始的城镇场景: 需要说明,这里的水幕特效是动态的水流效果。本来准备传GIF上来展示动态的效果,但受图片尺寸2M的限制,无法出色原创 2015-11-01 19:21:26 · 56610 阅读 · 38 评论 -
【Unity3D Shader编程】之十一 深入理解Unity5中的Standard Shader(三)&屏幕像素化特效的实现
概要:续接上文,本文进一步讲解与分析了上文未讲完的Unity5中Standard Shader正向基础渲染通道源码的片段着色实现部分,以及对屏幕像素化后期特效进行了实现。 同样需要声明的是。本文中对Stardard Shader源码的一些分析,全是浅墨自己通过对Unity Shader内建源码的理解,以及Google之后理解与分析而来。如有解释不妥当之处,还请各位及时指出。 依然是附上一组本文配套工程的运行截图之后,便开始我们的正文。傍晚的野外(with 屏幕像素化特效):原创 2015-11-29 13:59:16 · 27196 阅读 · 15 评论 -
【《Effective C#》提炼总结】提高Unity中C#代码质量的22条准则
我们知道,在C++领域,作为进阶阅读材料,必看的书是《Effective C++》。 而《Effective C#》之于C# ,是类似《Effective C++》之于C++一样的存在。这篇文章,将《Effective C# Second Edition》一书中适用于Unity游戏引擎里使用C#的经验之谈进行了提炼,总结成为22条准则,供各位快速地掌握这本书的知识梗概,在Unity中写出更高质量的C#代码。 《Effective C# Second Edition》一书原本有50条原则,但这50条原则原创 2016-12-25 15:47:49 · 22925 阅读 · 6 评论 -
【Unity Shader编程】之十四 边缘发光Shader(Rim Shader)的两种实现形态
这篇文章主要讲解了如何在Unity3D中分别使用Surface Shader和Vertex & Fragment Shader实现边缘发光Shader。一、最终实现的效果 边缘发光Shader比较直观的一个运用便是模拟宇宙中的星球效果。将本文实现的边缘发光Shader先赋一个Material,此Material再赋给一个球体,加上Galaxy Skybox, 实现的效果如下图: 当然,边缘发光Shader也可以实现例如暗黑三中精英怪的高亮效果,将一个怪物模型本身的Shader用边缘发光Sh原创 2016-06-26 20:42:33 · 48368 阅读 · 25 评论 -
【Unity3D Shader编程】之二 雪山飞狐篇:Unity的基本Shader框架写法&颜色、光照与材质
本篇文章中,我们学习了Unity Shader的基本写法框架,以及学习了Shader中Properties(属性)的详细写法,光照、材质与颜色的具体写法。写了6个Shader作为本文Shader讲解的实战内容,最后创建了一个逼真的暴风雪场景进行了Shader的测试。依旧是国际惯例先上本文配套程序的截图。先是一张远眺图:原创 2014-11-09 23:24:39 · 104406 阅读 · 63 评论