【问题标题】:Changing the coordinate system of nodes, without carrying the changes改变节点坐标系,不携带改变
【发布时间】:2016-12-18 10:52:10
【问题描述】:

我正在加载多种格式的 3D 模型,每种格式都可能有自己的坐标系。

转换它们以使它们都在同一个坐标系中很容易。

问题是当我尝试将一个模型附加到另一个模型时,两者的格式相同。 因为它们已经在同一个坐标系中,所以将它们更改为任何共享坐标系的转换将两次应用于子级。

我可以为每种格式制作特定的代码,每次我想将某些东西附加到另一个东西时,检查格式,然后呃。

我现在的节点结构很通用,不知道有没有通用的解决这个问题的办法。

【问题讨论】:

    标签: opengl matrix rendering linear-algebra skeletal-animation


    【解决方案1】:

    一旦模型进入您的程序,它们就不应再处于“它自己的坐标系”中。选择一个约定并坚持下去。

    如果您正在加载具有不同约定的模型,那很好。但是你在加载它们之后变换它们的顶点。因此,无需在场景图中摆弄坐标系变换。

    【讨论】:

    • 我加载的模型确实有不同的约定。在加载时更改顶点本身不是问题,实际上,更改遍布各处的所有动画数据要繁琐得多。另一种格式也使用打包顶点,因此我不会在着色器之外与它们进行任何交互。
    • @user2503048:你是不是真的说你可以解决问题,但不想?
    • 我在问是否有更优雅和通用的方法来修复它。
    猜你喜欢
    • 2011-03-10
    • 1970-01-01
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多