首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Unity中从Aruco Pose中获取相机姿势?

如何在Unity中从Aruco Pose中获取相机姿势?
EN

Stack Overflow用户
提问于 2020-08-30 11:23:12
回答 1查看 340关注 0票数 0

我有一个Aruco Marker的转换,我想得到相机姿势使用该信息。如何仅使用Aruco标记的变换来更新相机姿势。

我想统一地做这个估计,但我不确定如何做。

EN

回答 1

Stack Overflow用户

发布于 2020-08-31 11:18:52

https://github.com/flankechen/ArUco_Unity

我曾经使用Aruco for AR为Unity做一次跳水。Aruco的模型视图矩阵对于相机姿势是足够的。在c#代码中,我在本地的Aruco中获得了左手变换,用于opengl,将其转换为右手的单位,反向,并获得位置和旋转来设置单位相机。有关详细信息,请查看https://github.com/flankechen/ArUco_Unity/blob/master/RenderingPluginExample52_ArUco_unity/UnityProject/Assets/UseRenderingPlugin.cs。“酷”的部分是从左手系统转换到右手系统。并不是所有的“谷歌代码”都能工作。

代码语言:javascript
复制
//reform a left handed system transform matrix from right handed
public static Matrix4x4 LHMatrixFromRHMatrix(Matrix4x4 rhm)
{
    Matrix4x4 lhm = new Matrix4x4();;
    
    // Column 0.
    lhm[0, 0] =  rhm[0, 0];
    lhm[1, 0] =  rhm[1, 0];
    lhm[2, 0] = -rhm[2, 0];
    lhm[3, 0] =  rhm[3, 0];
    
    // Column 1.
    lhm[0, 1] =  rhm[0, 1];
    lhm[1, 1] =  rhm[1, 1];
    lhm[2, 1] = -rhm[2, 1];
    lhm[3, 1] =  rhm[3, 1];
    
    // Column 2.
    lhm[0, 2] = -rhm[0, 2];
    lhm[1, 2] = -rhm[1, 2];
    lhm[2, 2] =  rhm[2, 2];
    lhm[3, 2] = -rhm[3, 2];
    
    // Column 3.
    lhm[0, 3] =  rhm[0, 3];
    lhm[1, 3] =  rhm[1, 3];
    lhm[2, 3] = -rhm[2, 3];
    lhm[3, 3] =  rhm[3, 3];
    
    return lhm;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63653656

复制
相关文章

相似问题

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