【问题标题】:Fbx file 'LimbNode'Fbx 文件“肢体节点”
【发布时间】:2021-01-02 10:18:12
【问题描述】:

我正在尝试读取人类的 FBX 文件,我需要从中取出关节,我遇到了几个标记为“LimbNode”且具有不同肢体名称的节点,我很确定这些是关节,但是我无法理解如何找到与该特定节点匹配的顶点,例如我在文件中有以下属性:

["Model", [49742448, "mixamorig:HeadTop_End::Model", "LimbNode"], "LSS", [
        ["Version", [232], "I", []],
        ["Properties70", [], "", [
            ["P", ["RotationActive", "bool", "", "", 1], "SSSSI", []],
            ["P", ["ScalingMax", "Vector3D", "Vector", "", 0.0, 0.0, 0.0], "SSSSDDD", []],
            ["P", ["DefaultAttributeIndex", "int", "Integer", "", 0], "SSSSI", []],
            ["P", ["Lcl Translation", "Lcl Translation", "", "A", 0.0, 2.353147506713867, 0.8237115740776062], "SSSSDDD", []]]],
        ["Shading", [true], "C", []],
        ["Culling", ["CullingOff"], "S", []]]]

(这是一个从 Mixamo 下载的 FBX 文件) 我看到数字 49742448,我认为这是 FBX 文件的一些内部 id,但是我找不到如何将其转换为网格上的点/顶点。此数字仅在树关节规范中再次出现,并且没有平移到网格中的某个点。

【问题讨论】:

    标签: fbx mixamo


    【解决方案1】:

    免责声明:我目前只是自己探索 fbx 文件,所以我不是专家;

    “Lcl Translation”的意思是“本地翻译”,所以这可能是您要找的翻译。它可能是相对于其父级的翻译。

    注意 AnimationCurveNodes,它可以改变动画的平移/旋转。

    【讨论】:

    • 感谢您的回答! “相对于其父级的翻译”是什么意思?联合树中的父节点?如果是这样,我怎样才能找到树根的索引?
    • 是的,在联合树中。据我所知,骨骼没有固定的索引。你可以自己定义它们。最好的可能是从根开始,然后走到叶子。在我来自 Mixamo 的文件中,有 Deformer 元素,它也定义了肢体(除了模型元素)。它们包括完整的(本地(?))转换。
    • 谢谢!我可以问另一个问题 - 在对象几何下我有以下内容:["Geometry", [73135712, "Group1mesh::Geometry", "Mesh"], "LSS", [["Vertices", [[-1.3143, 15.0686, ... 你知道数字 73135712 代表什么吗?据我所知,它只出现在这里和关节树中,但没有解释这是关节还是其他东西。
    • 是的,正如您已经猜到的,它是每个对象的唯一 ID。实际上,它是一个指针(就像在 C/C++ 中一样)。 “联合树”更像是所有对象的层次结构。此外,我已经看到属性覆盖类型为 OP(肯定是对象-属性)而不是 OO(肯定是对象-对象)。 OP 出现用于纹理绑定和动画属性。
    • 没有ID的对象,比如Properties70,一般来说可能是属性(或类变量)的集合,也可能是结构体。
    猜你喜欢
    • 2016-05-16
    • 1970-01-01
    • 2011-03-08
    • 2017-06-03
    • 2015-07-02
    • 2018-08-26
    • 2013-11-07
    • 2018-03-13
    • 2016-06-03
    相关资源
    最近更新 更多