Unity中的shader使用反射光,相当于我们初中物理的反射光,入射光,发现,发射光的知识,实际上就是模拟现实中的光照。

但是Unity中的反射光向量Unity自己计算好的,不需要我们来计算,然后下文看书中的Cubemap有很多人觉得复杂,也有人问过我怎么创建,我这里先简单介绍下:

1.Cubemap

Cubemap:立体空间贴图(这是个人翻译的理解),实际上它属于贴图类型,只不过他是由六个方向的贴图连接成,下面直接看官网的解释:

cubemap是六张方形贴图的集合。

他支持的6张图的排布方式如下:

具体的大家可以去官网看下。

2.反射光

unity计算好反射向量后,我们搞起来还是比较容易的:
反射向量直接在worldRefl中获取,自发管设置为cubemap和参数的乘积,具体看下面的脚本:
Shader "MyShaders/SimpleReflection"
{Properties{_MainTint("Diffuse Tint", Color) = (1,1,1,1)_MainTex("Base (RGB)", 2D) = "white" {}_Cubemap("CubeMap", CUBE) = ""{}_ReflAmount("Reflection Amount", Range(0.01, 1)) = 0.5}SubShader{Tags{ "RenderType" = "Opaque" }LOD 200CGPROGRAM#pragma surface surf Lambertsampler2D _MainTex;samplerCUBE _Cubemap;float4 _MainTint;float _ReflAmount;struct Input{float2 uv_MainTex;float3 worldRefl;};void surf(Input IN, inout SurfaceOutput o){half4 c = tex2D(_MainTex, IN.uv_MainTex) * _MainTint;o.Emission = texCUBE(_Cubemap, IN.worldRefl).rgb * _ReflAmount;o.Albedo = c.rgb;o.Alpha = c.a;}ENDCG}FallBack "Diffuse"
}

3.效果

设置既效果如图:

当Amnount只接近于0时,就是几乎没有反射光:
下面展示了不同值对应的效果:
以上就是简单的反射光,有什么建议的互相交流哈!
本文中所需要的Cubemap下载: 下载

Shader 反射光(reflection)相关推荐

  1. shader镜面反射(Reflection)

    这里用DXUT 实现的一个反射的Demo(下载地址) 镜面反射: 要实现场景中类似镜面反射的场景,是一种很美妙的事,列如水中的倒影,玻璃上面的反射.下面我们来实现这种功能.我们来看一下实现的效果. 实 ...

  2. 【Unity Shader】 CubeMap(立方体贴图)

    Unity Shader 立方体贴图 一.介绍CubeMap Shader中对CubeMap采样 Unity中如何制作CubeMap 二.Reflect CubeMap(反射立方体纹理用于环境映射) ...

  3. Unity shader Note :高级纹理(CubeMap反射折射菲涅尔,Rendermap镜子玻璃,程序纹理)

    1.Cubemap–反射折射 使用脚本来创建Cubemap ①通过Camera.RenderToCubemap 把任意位置观察到的场景图制作成一张Cubemap之中 ②脚本使用自定义编译窗体的命令 – ...

  4. TA课程笔记01——光照(主要为shader入门精要第六章)

    //老师在这里简单的简述了一下渲染流水线,我在之前的图形学笔记中很详细的讲述了渲染流水线的过程,便不再赘述 //因为老师很详细的将几种常见的光照模型都讲了一遍,但都是美术方向,前面的案例也都缺少代码, ...

  5. 【Unity3D】反射和折射

    1 前言 立方体纹理(Cubemap)和天空盒子(Skybox)中介绍了生成立方体纹理和制作天空盒子的方法,本文将使用立方体纹理进行采样,实现反射.菲涅耳反射和折射效果.另外,本文还使用了 GrabP ...

  6. Unity3D 镜面反射

    原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:[119706192] 本文链接地址: Unity3D 镜面反射 这是官方CharacterCustomization事例中的镜面 ...

  7. smallpt: Global Illumination in 99 lines of C++讲解

    smallpt: Global Illumination in 99 lines of C++ 光线追踪 正向光线追踪 逆向光线追踪介绍 蒙特卡罗光线追踪算法 非透明材质 漫反射材质 镜面反射材质 透 ...

  8. vr 瞬移_瞬移演示

    vr 瞬移 We'd like to share with you a project that was built during the R&D period of the Physical ...

  9. Unity 渲染管线

    文章目录 1. 渲染管线 1.1 选择一种渲染管线 2. 默认管线 Built-in Render Pipeline 2.1 渲染通路 Rendering paths 2.1.0.1 前向渲染 For ...

最新文章

  1. Word2016如何取消宏已被禁用的提示
  2. 机器学习——利用K-均值聚类算法对未标注数据分组
  3. PAT甲级1055 The World‘s Richest:[C++题解]k路归并
  4. 故障转移集群仲裁盘_windows 2012 标准版 集群 仲裁盘和共享盘无法转移
  5. webgl限制帧率_从《长安十二时辰》到《Science Advances》:大帧数高帧率超表面动态全息显示新方法...
  6. cad小插件文字刷_小懒人CAD插件管理工具
  7. 内联函数和宏定义的相关区别
  8. 微信上如何发送GIF动图
  9. 【学习笔记】multiset+multimap之equal_range、upper_bound、lower_bound、count
  10. 北理c语言乐学作业分数运算,北理乐学C语言答案-最新(12页)-原创力文档
  11. 系统稳定性建设实践总结
  12. 余弦窗cosine window
  13. mac 上格式化磁盘出现MediaKit报告设备上的空间不足以执行请求的解决办法
  14. navicat使用和测试
  15. 传奇背词 商业经济类第一篇 消费者该怎么做?
  16. 计算机网络实验1·**路由器基本配置**
  17. 本科,硕士们进了BAT拿高工资,为什么博士却要挤破头低薪进985高校?
  18. 任意文件读取漏洞知识梳理
  19. 如何在Mac上停止使用iCloud照片库?
  20. CSS精灵图和字体图标

热门文章

  1. 2023巨量引擎宠物行业白皮书
  2. CF Round #713 (Div. 3)
  3. 7-3 装睡 (10分)
  4. 人们要怎样才能成为超级英雄?
  5. 不舍得删除的手机app,这几款你肯定用过
  6. 微盟16F4 GT60刷魔改过BIOS教程
  7. mysql字典存储_python将字典内容存入mysql_MySQL
  8. Java初学Text10---SOSO营业厅系统
  9. SuperMap iMobile 8C 技术文档 ——加载倾斜摄影模型
  10. 2020年,区块链开发者还有哪些期待?