查询网格的内插光探测密度

时间:2018-02-03 14:40:28

标签: unity3d

我们正在为我们的游戏开发AI,目前正在检测系统。如何从网格中读取光探针插值数据?如果在阴影中,AI需要更长的时间和更近的距离来检测播放器

编辑:https://docs.unity3d.com/ScriptReference/LightProbes.GetInterpolatedProbe.html

1 个答案:

答案 0 :(得分:0)

好的,最好的方法是使用GetInterpolatedProbe

你称之为

SphericalHarmonicsL2 probe;
LightProbes.GetInterpolatedProbe(Target.position, renderer, out probe);

确保位置不在网格中,因为实时阴影会影响结果

然后你可以查询SphericalHarmonicsL2做

Vector3[] directions = {
            new Vector3(0, -1, 0.0f)
};  
var colors = new Color[1];
probe.Evaluate(directions, colors);

在上面的示例中,您将从向上方向获得颜色。上面的例子将创建垃圾,确保在实例中重新使用数组