转载地址:http://momowing.diandian.com/post/2014-02-10/40060980294
首先呢我也有必要纠正一下“天空盒”其实指的是cubemap,因为大多数都用来做天空贴图所以我也就叫顺口了哈。
首先呢我也有必要纠正一下“天空盒”其实指的是cubemap,因为大多数都用来做天空贴图所以我也就叫顺口了哈。
实现原理:利用一个环境视野相机把捕捉的的视野动态制作成texuture,然后贴到我们需要反射的材质体上,当然了着色器必须要有cubemap选项哦。
成像的效果,我就拿自己的赛车模型来做演示好了:
整体来说还凑活吧。接着来看看实现的脚本,是的。用脚本就可以了
取个名字叫Generate2DReflection的c#的脚本开始编码,准备一些必要的数据:
我觉得我注释还是很负责的。
然后看核心编码,把视野相机内容渲染到动态天空盒材质:
Ok啦,关于RenderToCubemap的这个方法,大家可以去文档查看使用说明哈,这里需要强调一下,被渲染的材质使用的shader的天空盒标识我这里用的是“_Cube”,当然也有可能各位的反射不是这个名称,可以去使用的shader编码里面看看:
最后我把编码脚本直接共享http://pan.baidu.com/s/1pJvyiqZ,各位拿了就能用啦。
(注意:移动平台请最好不要用动态天空盒哦,非常消耗资源的)