着色器shader官方文档翻译

近期打算好好学习shader,期望能做出大海波浪等绚丽的效果。

官方文档的翻译,算是我的附带产出,增强对shader的了解,也是为后人参考学习提供捷径。

---------------------------------------------------------------------------------------

在unity中所有的渲染都是通过shaders来完成的 。什么是shaders ,就是小段脚本,它让你弄清楚图形硬件是如何设置来进行渲染的。

下面有四篇:

一、材质和shader的关系

二、内建的标准shader

三、写你自己需要的shader

四、其他内建shader

---------------------------------------------------------

一、Materials and shaders

扫描二维码关注公众号,回复: 3631395 查看本文章

在unity中,材质和着色器有很密切的关系。

着色器包含的代码定义了有哪些属性和资源可以使用。材质则可以让你来设置这些属性和分配这些资源。

你可以为每个材质指定用哪个shader,操作很简单,在监事面板中,shader下拉框中指定就可以了。


内建shaders

有一组内建shader随着unity 编辑器已经安装好了。大约80多种shaders可以使用。主要有以下几种分类:

1、Normal:为那些不透明物体使用

2、Transparent:部分透明的物体,贴图的Alpha通道定义了透明度。

3、TransparentCutOut: 有完全透明和完全不透明区域的物体,比如篱笆。

4、Self-illuminate: 有光源发射部分的物体,比如灯笼

5、Reflective: 不透明物体反射环境高光

除了以上主要游戏物体的着色器外,还有一些特殊目的的分类:

FX: 灯光和水的效果

GUI: 图形用户接口显示

Nature: 树和地形

Particles:粒子系统效果

Render Fx: 天空盒着色器

TOON: 卡通风格渲染

他们之中有一些特殊的版本,专门为移动设备使用。


shaders的技术细节

unity有一个很大的着色器系统,它让你能够改变虚拟世界图形的外贸,它的工作原理如下:

着色器基本上定义了一个公式用来计算底纹在虚拟世界中如何显示。

每个shader都是一系列属性(通常有贴图)shaders通过材质来实现其功能,材质直接付给单独的游戏对象。每个材质,要指定一个shader,然后定义那些shader使用的属性(通常是贴图和颜色这些,属性都是可以变化的)

猜你喜欢

转载自blog.csdn.net/feizxiang3/article/details/50403409