unity3d 怎么建shader

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity3d 怎么建shader相关的知识,希望对你有一定的参考价值。

如果是进行3d游戏开 发的话,想必您对着两个词不会陌生。Shader(着色器)实际上就是一小段程序,它负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组 合作用,然后输出。绘图单元可以依据这个输出来将图像绘制到屏幕上。输入的贴图或者颜色等,加上对应的Shader,以及对Shader的特定的参数设 置,将这些内容(Shader及输入参数)打包存储在一起,得到的就是一个Material(材质)。之后,我们便可以将材质赋予合适的 renderer(渲染器)来进行渲染(输出)了。
所以说Shader并没有什么特别神奇的,它只是一段规定好输入(颜色,贴图等)和输出(渲染器能够读懂的点和颜色的对应关系)的程序。而Shader开发者要做的就是根据输入,进行计算变换,产生输出而已。
Shader大体上可以分为两类,简单来说
表面着色器(Surface Shader) - 为你做了大部分的工作,只需要简单的技巧即可实现很多不错的效果。类比卡片机,上手以后不太需要很多努力就能拍出不错的效果。
片段着色器(Fragment Shader) - 可以做的事情更多,但是也比较难写。使用片段着色器的主要目的是可以在比较低的层级上进行更复杂(或者针对目标设备更高效)的开发。

因为是入门文章,所以之后的介绍将主要集中在表面着色器上。
参考技术A 要学习一门shader语言先 比如HLSL或者GLSL
知道里面的基本概念后 再才能下笔写本回答被提问者采纳

以上是关于unity3d 怎么建shader的主要内容,如果未能解决你的问题,请参考以下文章

如何在unity3d中创建最简单的按钮

unity3D 如何渲染出图,一张JPG的就行~

unity3d中如何用脚本创建对象或者类

unity3d 模型怎么双面显示

Unity3d 网络编程(Unity3d内建网络各项參数介绍)

Unity3D中改变模型的颜色问题