您的位置:首页 > 移动开发 > Unity3D

unity3d 制作动态天空盒——实现时时环境反射

2014-03-21 21:26 302 查看
转载地址:http://momowing.diandian.com/post/2014-02-10/40060980294


首先呢我也有必要纠正一下“天空盒”其实指的是cubemap,因为大多数都用来做天空贴图所以我也就叫顺口了哈。

实现原理:利用一个环境视野相机把捕捉的的视野动态制作成texuture,然后贴到我们需要反射的材质体上,当然了着色器必须要有cubemap选项哦。



成像的效果,我就拿自己的赛车模型来做演示好了:



整体来说还凑活吧。接着来看看实现的脚本,是的。用脚本就可以了

取个名字叫Generate2DReflection的c#的脚本开始编码,准备一些必要的数据:



我觉得我注释还是很负责的。

然后看核心编码,把视野相机内容渲染到动态天空盒材质:



Ok啦,关于RenderToCubemap的这个方法,大家可以去文档查看使用说明哈,这里需要强调一下,被渲染的材质使用的shader的天空盒标识我这里用的是“_Cube”,当然也有可能各位的反射不是这个名称,可以去使用的shader编码里面看看:



最后我把编码脚本直接共享http://pan.baidu.com/s/1pJvyiqZ,各位拿了就能用啦。

(注意:移动平台请最好不要用动态天空盒哦,非常消耗资源的)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: