最近在看之前的愤怒机器人demo,它的反射通过一个反射相机实现

我尝试在unity5里用反射探头做出镜面反射,但想要调的准确倒是比较难。。

Unity使用反射探头实现地面的镜面反射-编程知识网。。

后来朋友发我一份反射探头实现镜面反射的文章,解决了这个问题

地址:http://nn-hokuson.hatenablog.com/entry/2016/10/17/202135

首先设置探头参数,打开实时反射的参数设置如下:

(必须设置LayerMask,否则反射画面会被地面挡住)

Unity使用反射探头实现地面的镜面反射-编程知识网

脚本我稍作修改:

public ReflectionProbe probe;
public Transform mirrorPlaneTransform;


void Update()
{
    var diffY = mirrorPlaneTransform.position.y - Camera.main.transform.position.y;

    this.probe.transform.position = new Vector3(
        Camera.main.transform.position.x,
        mirrorPlaneTransform.position.y + diffY,
        Camera.main.transform.position.z
    );
}

最终实现效果如下:

Unity使用反射探头实现地面的镜面反射-编程知识网