首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅部分渲染的点云

仅部分渲染的点云
EN

Stack Overflow用户
提问于 2016-03-27 05:12:16
回答 1查看 258关注 0票数 1

我只得到了房间的部分点云。房间的其他部分根本不会被渲染。它只看到左边的一部分。我正在使用Unity中的点云预制。当我使用其中一个应用程序时,例如房间扫描仪或资源管理器,我将获得房间的其余部分。我打算修改我的应用程序的前置组件,但到目前为止,我得到的视图有限。我在Windows 10和64上使用Unity 5.3.3。

EN

回答 1

Stack Overflow用户

发布于 2016-03-27 15:42:12

设置单位相机与深度相机帧对齐,因此对于矩阵,dTuc dTuc = imuTd.inverse * imuTdepth * depthTuc

代码语言:javascript
复制
double timestamp = 0.0;
        TangoCoordinateFramePair pair;
        TangoPoseData poseData = new TangoPoseData();

        // Get the transformation of device frame with respect to IMU frame.
        pair.baseFrame = TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_IMU;
        pair.targetFrame = TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_DEVICE;
        PoseProvider.GetPoseAtTime(poseData, timestamp, pair);
        Matrix4x4 imuTd = poseData.ToMatrix4x4();

        // Get the transformation of IMU frame with respect to depth camera frame.
        pair.baseFrame = TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_IMU;
        pair.targetFrame = TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_CAMERA_DEPTH;
        PoseProvider.GetPoseAtTime(poseData, timestamp, pair);
        Matrix4x4 imuTdepth = poseData.ToMatrix4x4();

        // Get the transform of the Unity Camera frame with respect to the depth Camera frame.
        Matrix4x4 depthTuc = new Matrix4x4();
        depthTuc.SetColumn(0, new Vector4(1.0f, 0.0f, 0.0f, 0.0f));
        depthTuc.SetColumn(1, new Vector4(0.0f, -1.0f, 0.0f, 0.0f));
        depthTuc.SetColumn(2, new Vector4(0.0f, 0.0f, 1.0f, 0.0f));
        depthTuc.SetColumn(3, new Vector4(0.0f, 0.0f, 0.0f, 1.0f));

        m_dTuc = Matrix4x4.Inverse(imuTd) * imuTdepth * depthTuc;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36240957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档