专注Unity和CPP的小菜鸡 2024-04-10 15:22 采纳率: 47.1%
浏览 21

Unity零点不对齐的问题

Unity零点不对齐的问题
我用Unity接收并显示两组点云,并放入两个父物体,两个父物体的坐标都是0,0,0
但是两个物体的位置并不对应
这是父物体1的位置:

img


这是父物体2的位置:

img


这是零点的位置:

img


请问这是怎么回事,怎么样可以让他们的零点在一个位置

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2024-04-16 00:24
    关注

    上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    针对Unity零点不对齐的问题,建议采取以下解决方案:

    1. 检查父物体的位置是否正确,确保它们的Transform组件中的位置都为0。
    2. 确认每个子物体的相对位置是否正确。可以在父物体中添加一个空物体,然后将其作为子物体重新排列,确保其相对位置正确。
    3. 对于点云数据的显示,可以先确定点云数据的坐标系,然后将其转换为Unity中的坐标系进行显示。

    代码示例:

    //创建一个空物体作为子物体,并设置其相对位置
    GameObject childObject = new GameObject();
    childObject.transform.parent = parentObject.transform;
    childObject.transform.localPosition = new Vector3(x, y, z);
    
    //对点云数据进行坐标系转换,确保其在Unity中显示正确
    Vector3[] points = GetPointCloudData();
    for (int i = 0; i < points.Length; i++)
    {
        Vector3 point = points[i];
        point = ConvertToUnityCoordinateSystem(point);
        //将点云数据转换为GameObject,并设置其位置
        GameObject pointObject = Instantiate(pointPrefab, point, Quaternion.identity);
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月10日