首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取.FBX动画?

读取.FBX动画?
EN

Stack Overflow用户
提问于 2013-07-12 03:26:45
回答 1查看 6.4K关注 0票数 2

如何从.fbx文件中读取动画?我使用Java和OpenGL来解决这个问题,但这与这个问题并不太相关。我查看了几个不同的来源,但找不到任何有关.FBX文件格式的信息。

我的模型加载器当前加载名称、索引、顶点、法线、骨骼名称、骨骼权重和骨骼矩阵。但我在理解如何从这里读取动画时遇到了麻烦。

我可以假设这是文件的动画部分。

代码语言:javascript
复制
;Takes and animation section
;----------------------------------------------------

Takes:  {
    Current: "ArmatureAction"
    Take: "ArmatureAction" {
        FileName: "ArmatureAction.tak"
        LocalTime: -1924423249,105843278750
        ReferenceTime: -1924423249,105843278750

        ;Models animation
        ;----------------------------------------------------
        Model: "Model::body" {
            Version: 1.1
            Channel: "Transform" {
                Channel: "T" {
                    Channel: "X" {
                        Default: 0.000000000000000
                        KeyVer: 4005
                        KeyCount: 1
                        Key: 
                            1924423250,0.000000000000000,L
                        Color: 1,0,0
                    }
                    Channel: "Y" {
                        Default: 0.000000000000000
                        KeyVer: 4005
                        KeyCount: 1
                        Key: 
                            1924423250,0.000000000000000,L
                        Color: 0,1,0
                    }
                    Channel: "Z" {
                        Default: 0.000000000000000
                        KeyVer: 4005
                        KeyCount: 1
                        Key: 
                            1924423250,0.000000000000000,L
                        Color: 0,0,1
                    }
                    LayerType: 1
                }
                Channel: "R" {
                    Channel: "X" {
                        Default: 90.000002504348856
                        KeyVer: 4005
                        KeyCount: 1
                        Key: 
                            1924423250,90.000002504348856,L
                        Color: 1,0,0
                    }
                    Channel: "Y" {
                        Default: -89.999995674159678
                        KeyVer: 4005
                        KeyCount: 1
                        Key: 
                            1924423250,-89.999995674159678,L
                        Color: 0,1,0
                    }
                    Channel: "Z" {
                        Default: 0.000000000000000
                        KeyVer: 4005
                        KeyCount: 1
                        Key: 
                            1924423250,0.000000000000000,L
                        Color: 0,0,1
                    }
                    LayerType: 2
                }
                Channel: "S" {
                    Channel: "X" {
                        Default: 1.000000000000000
                        KeyVer: 4005
                        KeyCount: 1
                        Key: 
                            1924423250,1.000000000000000,L
                        Color: 1,0,0
                    }
                    Channel: "Y" {
                        Default: 1.000000000000000
                        KeyVer: 4005
                        KeyCount: 1
                        Key: 
                            1924423250,1.000000000000000,L
                        Color: 0,1,0
                    }
                    Channel: "Z" {
                        Default: 1.000000000000000
                        KeyVer: 4005
                        KeyCount: 1
                        Key: 
                            1924423250,1.000000000000000,L
                        Color: 0,0,1
                    }
                    LayerType: 3
                }
            }
        }
        Model: "Model::head" {
            Version: 1.1
            Channel: "Transform" {
                Channel: "T" {
                    Channel: "X" {...............................

可不可以请仁慈的灵魂解释一下这是如何格式化的?感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-12 03:34:56

由于(IIRC) FBX规范不是公开的,因此通常需要使用FBX SDK。

online documentation是一个很好的开始学习的地方。但是,SDK只公开了一个C++和一个Python API。

你也可以看看Blender (开源),它提供了一个FBX exporter written without using the FBX SDK

维基百科还声明,OpenEndedGroup的产品Field包含一个FBX java库。你可以在Github上找到他们的代码,你感兴趣的部分可能是jfbxlib的一部分。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17601746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档