【问题标题】:3D Game Engine, Get absolute transform3D游戏引擎,获取绝对变换
【发布时间】:2011-12-08 19:16:50
【问题描述】:

我的引擎中有一个父场景节点和一个子节点。孩子的变换(位置、旋转和缩放)是相对于父母的。
现在我想知道孩子的绝对变换。我的意思是孩子对主坐标的相对变换。
有什么想法吗?
编辑:问题是我不在场景节点中存储矩阵。我只有 3 个向量。位置、旋转和缩放。

【问题讨论】:

  • 乘以所有变换矩阵? (父母,...,子父母,孩子)
  • 在任何游戏引擎中都需要将 pos/rot/scale 转换为矩阵的函数。出于性能原因,存储/缓存所述矩阵通常是一个好主意。
  • @Macke:那我如何将向量转换为矩阵或将矩阵转换为向量?
  • @Kia.celever:见en.wikipedia.org/wiki/Transformation_matrix(或者只是在谷歌上搜索,每一个 3D 图形引擎都有相同的代码)
  • 很多引擎甚至不提供自己的代码,因为周围的每个图形数学库都有矩阵创建函数。例如,D3DX has an entire family of functions to build various matrices

标签: 3d game-engine rotational-matrices


【解决方案1】:

您需要沿着树向下走,并沿途将每个矩阵相乘,从场景根到最终对象。生成的矩阵将是绝对变换。

【讨论】:

    猜你喜欢
    • 2014-06-13
    • 2011-03-22
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    • 2017-03-31
    相关资源
    最近更新 更多