打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
shader实例(五)循环渐进,Unity3d内置shader[1]

熟悉Unity3d内置shader应该算是学习unityshader不可缺少的一步,Unity3d自带60多个shader,这些shader被分为五大类Normal,Transparent,Transparent,Cutout,Self-llluminated,Reflective。由于数量比较多,将分几个篇幅来学习。


 (一) Normal ShaderFamily,一共九个shader,都是针对不透明对象。

 

原始的中文文档下载地址:http://download.csdn.net/detail/l364244206/8094559

 

以下是学习过程中一个简短的总结,好记性不如烂笔头吧,方便以后可以快速的找到相关信息。

 

 1.Vertex-Lit:
基于:  基于顶点计算的光照模型
正方体: 【直接照射到的地方不会非常亮】【光照照射不到的平面无效果】
圆形:  【直接照射到的地方非常亮】【光照照射不到的地方有高光效果】
支持:  设备自动选择【可编程管线】和【固定管线】
参数:  【主色color】【SpecColor光照颜色】【EmissiveColor自发光颜色】【Shininess光照强度】
渲染代价: 比较小

 

2.Diffuse:
基于:  基于简单的光照模型 lambertian
正方体: 【直接照射到的地方会非常亮】【光照照摄不到的平面无效果】
圆形:  【直接照射到的地方非常亮】【光照照射不到的地方无效果】
支持:  设备需要支持【可编程管线】如果不支持将自动使用【Vertex-Lit】
参数:  【主色color】
渲染代价: 比较小

 

3.Specular
基于:  和Diffuse相同的光照模型,多了一个观察角度相关的反射高光(#pragmasurface surf BlinnPhong)
正方形: 【直接照射到的地方会非常亮】【光照照摄不到的平面无效果】【观察角度和光入射角度会产生反射光】
圆形:  【直接照射到的地方非常亮】【光照照射不到的地方无效果】【观察角度和光入射角度会产生反射光】
支持:  设备需要支持【可编程管线】如果不支持将自动使用【Vertex-Lit】
参数:  【主色color】【SpecularColor反射光照颜色】【Shininess反射光照强度】
渲染代价: 比较大

 

4.Bumped Diffuse
基于:  和Diffuse相同的光照模型,同时使用了法线贴图normalmapping技术(UnpackNormal)【灰度图,白色表示凹起,黑色表示凹进】
正方形: 和【Diffuse】一样,【多了凹凸感】
圆形:  和【Diffuse】一样,【多了凹凸感】
支持:  如果设备不支持,将自动使用【Diffuse】
参数:  【主色color】【多了法线贴图】
渲染代价: 比较大

 

5.Bumped Specular 凹凸反射
【Bumped Diffuse】与【Specular】的合并
支持:  如果设备不支持,将使用【Specular】

 

6.Parallax Diffuse
基于:  和BumpedDiffuse一样的光照模型lambertian,也使用normalmapping技术(UnpackNormal),同时使用HeightMap(ParallaxOffset)实

现更加逼真的凹凸感【高度图在法线贴图的alpha通道保存,全黑表示么有高度,白色表示高低】
支持:  设备无法使用,会自动使用【BumpedDiffuse】
参数:  【主色color】【多了法线贴图】【多了高度贴图】【height设置高度参数】
渲染代价: 比【Bumped Diffuse】更大

 

7.Parallax Specular
基于:  使用【BumpedSpecular】+【高度图】
支持:  设备无法使用,会自动使用【BumpedSpecular】

 

8.Decal  【贴花】
基于:  与Diffuse一样基于Lambert,增加第二张贴图,然后融合色彩(lerp)覆盖在主纹理之上【注:DiffusDetail的融合是rgb*rgb】
支持:  设备需要支持【可编程管线】如果不支持将自动使用【Vertex-Lit】
参数:  【主色color】【两张贴图】

 

9.Diffuse Detail 【细节贴图】
基于:  与Diffuse一样基于Lambert,多了一张贴图与之融合(rgb*rgb),一般用于地形,摄像机拉近时额外的细节会出现。
说明:        Detail 纹理是覆盖在主纹理上面的。Detail纹理中深色的部分将会使得主纹理变深,而淡色的部分将会使主纹理变亮, Detail 纹

理通常是浅灰色。(与Decal 里面 Decal 纹理不同的是,Decal 纹理是RGBA,通过 alpha 控制 DecalTexture 与 Main Texture 的融合,而Detail

的纹理是 RGB,直接是两张纹理的rgb 通道分别相乘再*2,就是说,Detail纹理中颜色数值 = 0.5 不会改变主纹理颜色,>0.5 会变亮,<0.5 加深)

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
unity shader (7)
Rendering 4 Basic Of Lighting
Unity5 的新旧延迟渲染Deferred Lighting Rendering Path
Unity3D shader(1)
【浅墨Unity3D Shader编程】之七 静谧之秋篇: 表面着色器的写法(二)—— 自定义光照模...
游戏美术基础:游戏贴图
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服