Unity3d Raycast命中距离失真

时间:2017-03-15 11:37:33

标签: unity3d sensor ros raycasting distortion

我在Unity3d中为模拟器制作激光传感器;我需要做的是从不同角度的点投射光线,然后从Unity外的另一个软件获取距离。 enter image description here 左边是红色线条是铸造光线的统一场景,右边是另一个节目上可视化的光线。该程序仅从中心点重新获得距离和角度。 正如您所看到的,程序中复制的点数是扭曲的。

这是我用来获取距离的统一代码:

RaycastHit hit;

float max_dst = 20.0f*5;
int steps = 1080;
Vector3 raydir = Quaternion.Euler(0.0f, 135.0f,0.0f)*transform.forward;
Quaternion rot = Quaternion.Euler(0.0f, -270.0f/steps,0.0f);

Vector3 startPos = transform.position + offset;

for(int i=0; i<steps; i++) {

    if (Physics.Raycast (startPos, raydir, out hit, max_dst))
        dists[i] = hit.distance;

    raydir = rot*raydir;
}

你有什么建议可以消除失真吗?

感谢

0 个答案:

没有答案