【问题标题】:How to scale 3d model just loaded with FBX SDK?如何缩放刚刚加载 FBX SDK 的 3d 模型?
【发布时间】:2022-03-13 01:57:28
【问题描述】:

我的问题似乎不是很难,但我无法解决。我刚刚使用 FBX SDK 加载并渲染了 3d 模型,但是有些模型非常大,所以我需要在导入场景时缩放它们。

接下来我尝试这样做: 场景->GetRootNode()->SetGeometricScaling(..) 和 scene->GetRootNode()->LclScaling.Set(..) 但模型没有改变。

所以我最后的问题是如何正确缩放场景或节点? 我需要通过层次结构递归地执行此操作吗?我应该使用什么函数?

【问题讨论】:

  • 你是如何渲染模型的?
  • 我有模型结构,其中包含网格结构向量。所以我分别渲染每个网格。每个网格都有顶点、索引和纹理的向量。
  • 我通过附加创建一个模型矩阵来实现这一点,该模型矩阵考虑了比例、平移和旋转。然后我将它传递给顶点着色器并在projection * view * model * position 计算期间使用它。

标签: c++ opengl fbx


【解决方案1】:

我想你已经自己解决了这个问题,但是我今天遇到了同样的问题,并用下面的代码解决了它。我正在使用 python 绑定。

    rootNode = fbx_scene.GetRootNode()
    childCount = rootNode.GetChildCount()
    for i in range(childCount):
      child = rootNode.GetChild(i)
      child.LclScaling.Set(100.0)

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 2012-10-04
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    相关资源
    最近更新 更多