实现比较简单
关键在于使用渲染纹理(Render Texture) ,它可以利用摄像机实现实时的纹理生成,这也是镜子效果在Unity中实现的原理。
首先建立一个场景
在这个场景里,主要的是两个Camera,一个负责当main camera,另一个则负责充当反射的渲染纹理采集器。
其次是一块平面,负责充当镜子实体;几个物体与光源,用来充当反射实体。
该camera即是反射camera,它产生的画面被用来生成texture
关键在于将RenderTexture指向反射camera中的Target Texture
此时,反射Texture中即可获得反射camera中的图像,并且是实时图像
而此时的Shader该做的,则是在属性中添加一个Texture属性,然后在vert中将该渲染纹理在水平方向翻转即可。
然后将反射Texture赋给该Shader,再将该Shader与对应Materia绑定,然后将Materia给镜子平面,即可完成镜子效果