unity shader 固定管线实例(二) 光照 颜色和纹理
2016-02-17 13:23
483 查看
Shader "基础/固定管线颜色和纹理" { //-------------------------------【属性】----------------------------------------- Properties { _Color ("主颜色", Color) = (1,1,1,0) _SpecColor ("高光颜色", Color) = (1,1,1,1) _Emission ("自发光颜色", Color) = (0,0,0,0) _Shininess ("光泽度", Range (0.01, 1)) = 0.7 _MainTex ("基本纹理", 2D) = "white" {} } //--------------------------------【子着色器】-------------------------------- SubShader { //----------------通道--------------- Pass { //-----------材质------------ Material { //可调节的漫反射光和环境光反射颜色 Diffuse [_Color] Ambient [_Color] //光泽度 Shininess [_Shininess] //高光颜色 Specular [_SpecColor] //自发光颜色 Emission [_Emission] } //开启光照 Lighting On //开启独立镜面反射 SeparateSpecular On //设置纹理并进行纹理混合 SetTexture [_MainTex] { Combine texture * primary DOUBLE } } } }
Combine 中的texture 指的是 [_MainTex], primary 指的是上面的光照计算结果,DOUBLE亮度提高两倍。
1.除去primary之外,还有 previous :上一次SetTexure的结果。Constant :被ConstantColor指定的颜色。
2.除去DOUBLE之外,还有Quad 亮度提高四倍
参考:
http://www.ceeger.com/Components/SL-SetTexture.html
相关文章推荐
- unity shader 固定管线实例(一) 基础光照效果纯颜色
- Unity3d 协程讲解
- Unity插件 DOTween基础
- Unity3d Android无法加载assetbundle的问题
- 深入浅出聊Unity3D项目优化:从Draw Calls到GC
- Unity性能优化之Draw Call
- JS or C#?不存在的脚本之争(UnityScript 不是 Javascript)
- Unity中的结构体(C#)
- 【Unity】监听GameView分辨率变化
- c# 与 Unity3d 中的序列化
- 结构体(Unity3D C#)
- 【Unity】是否进入摄像机显示区域。
- Unity中关于单位像素与单位长度的关系
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统--工作流演示截图
- [Unity2d系列教程] 003.Unity如何调用android的方法
- C#的null与Unity3d
- Unity使用FXMaker导致发布时报“The type or namespace name `UnityEditor' could not be found” 解决备忘
- Unity3d NGUI的使用_UIScrollView制作滑动列表
- 【Unity】Unity中的枚举和标志
- unity扩展MonoBehaviour