我学院:Unity3D着色器使用教程.docx

我学院:Unity3D着色器使用教程.docx

ID:27859544

大小:218.37 KB

页数:9页

时间:2018-12-06

我学院:Unity3D着色器使用教程.docx_第1页
我学院:Unity3D着色器使用教程.docx_第2页
我学院:Unity3D着色器使用教程.docx_第3页
我学院:Unity3D着色器使用教程.docx_第4页
我学院:Unity3D着色器使用教程.docx_第5页
资源描述:

《我学院:Unity3D着色器使用教程.docx》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、学IT技能上我学院网woxueyuan.comUnity3D着色器使用教程在Project面板中新建一个NewMaterial.这样子就准备好了一个空白的着色器。它能支持的类型也就在Shader中全部显示出来。不得不说,很好很强大。所有这些Pixel[像素]着色器,默认的Diffuse算是资源开销较小的渲染选择。随后那些带有凹凸贴图的着色器,其次就是BumpedSpecular[凹凸高光],Parallax学VR上我学院www.woxueyuan.com学IT技能上我学院网woxueyuan.comSpecular[视差高光]类等开销大。所有基于顶点光照的

2、着色器开销都比Pixel着色器的开销小。但是相对来说效果可能不是那么强大,毕竟打造好的视觉效果增大开销是在所难免。着色器共有的主要属性:Diffuse[散射]:定义对象的基本颜色,可以使用贴图或者简单的颜色选择器来控制散射,所有的着色器都带有某种类型的散射属性。BumpandParallaxBump[凹凸和视差凹凸]:名称中带有Bump或者Parallax的着色器都带有的一个属性,使得他们可以模拟对象的高度和深度。比如我们需要对对象的每一个伤痕或者细节进行建模,这样很耗费资源,此时聚划算的方法就是使用凹凸贴图来模拟。Specular[高光]:带有Specu

3、lar属性的着色器都可以使对象在光源照射下具有漂亮的光泽,注意这和反射是不同的。下面,创建一个吧:导入Project,在Hierarchy面板中创建一个Cube,此时看到的只是个纯色的方体。学VR上我学院www.woxueyuan.com学IT技能上我学院网woxueyuan.com2:在Project面板中创建一个Materials,将着色器的Shader选为:Toon—〉BasicOutLine。学VR上我学院www.woxueyuan.com学IT技能上我学院网woxueyuan.com3:点击上图中的Base(RGB)右侧的方框的Select按钮,

4、选一个你喜欢的图片吧。下边的那一个ToonShaderCubemap的Select选toonylighing。这样子我们的着色器就可以使用了。预览一下:点击Preview那一栏的右边的原型按钮,可以变换模型哦。你可以对模型进行各个方向的拖拉查看。4:把我们Project面板的着色器直接拖给场景的Cube物体。学VR上我学院www.woxueyuan.com学IT技能上我学院网woxueyuan.com我把outlineColor和outlinewidth都改一下。学VR上我学院www.woxueyuan.com学IT技能上我学院网woxueyuan.com

5、关于天空盒[SkyBox]的着色器,就是Shader下的RenderFx/SkyBox。选择他以后你会看到下边列出了Front—Back—Left—Right—Up—Down的每个填充项。你用对应的天空贴图填充,就可以得到一个天空盒着色器了。动态表面效果着色器脚本:学VR上我学院www.woxueyuan.com学IT技能上我学院网woxueyuan.com

6、>

Shader"Effects/Plasma"{Properties{_MainTex("Base(RGB)",RECT)="white"{}_ColorBand("Base(RGB)",2D)="white"{}}SubShader{ZTestAlwaysCullOffZWriteOff学VR上我学院www.woxueyuan.com学IT技能上我学院网woxueyuan.comFog{Modeoff}Pass{CGPROGRAM#pragmavertexvert_img#pragmafragmentfragSh

7、#pragmafragmentoptionARB_precision_hint_fastest#include"UnityCG.cginc"uniformsamplerRECT_MainTex;uniformsampler2D_ColorBand;float4fragSh(v2f_imgi):COLOR{float2ca=float2(0.2,0.2);float2cb=float2(0.7,0.9);floatda=distance(i.uv,ca);floatdb=distance(i.uv,cb);floatc1=sin(da*_CosTime.y*

8、16+_Time.x);学VR上我学院www.woxueyuan.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
相关标签