• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

逍遥流

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

矩阵Matrix从Unity空间到UE4空间的转换推导

记录一次矩阵在引擎之间的转换过程。

矩阵Matrix从Unity空间到UE4空间的转换推导

记录一次矩阵在引擎之间的转换过程。

已知

Unity空间中,一个待转换的矩阵 M = [(m00, m01, m02, m03), (m10, m11, m12, m13), (m20, m21, m22, m23), (m30, m31, m32, m33)]

假设函数f(v) 表示: 将Unity空间坐标v转为UE4空间的坐标f(v); f(v) = (v.z, v.x, v.y, 1)

假设Unity中任意坐标P = (X, Y, Z, 1), 则其在UE4中的坐标为U_P = f(P) = (Z, X, Y, 1);

目标

求一个ue4空间的矩阵T,让T满足:

f(P * M) = U_P * T

这个矩阵T就是矩阵M转换到UE4空间的结果

求解

f(P * M) = U_P * T => (

X*m02 + Y*m12 + Z*m22 + m32,

X*m00 + Y*m10 + Z*m20 + m30,

X*m01 + Y*m11 + Z*m21 + m31,

X*m03 + Y*m13 + Z*m23 + m33

) = (Z, X, Y, 1) * T

观察可得

T = [

(m22, m20, m21, m23),

(m02, m00, m01, m03),

(m12, m10, m11, m13),

(m32, m30, m31, m33)

]

posted on 2021-03-07 22:18  逍遥流  阅读(318)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3