2013-07-11 5 views
1

'엘로,이 게시물에 여기에 새로운. 소개 시간? 여보세요..FBX 애니메이션 읽기?

다음은 의제에 대해 .fbx 파일에서 애니메이션을 읽는 방법에 대해 묻고 싶습니다. OpenGL과 함께 Java를 사용하고 있지만이 문제와 관련이 없습니다. 여러 소스에서 살펴본 결과 .FBX 파일 형식에 대한 정보를 찾을 수 없습니다.

내 모델 로더는 현재 이름, 인덱스, 정점, 법선, 본 이름, 본가 및 골격 행렬에로드됩니다. 하지만 여기에서 애니메이션을 읽는 방법에 관해서는 문제가 있습니다.

파일의 애니메이션 섹션이라고 가정 할 수 있습니다.

;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" {............................... 

는 일종의 영혼이 포맷 방법을 설명시겠습니까? 도움말 감사!

+0

저는 현재 FBX 파일을 기반으로 한 애니메이션 엔진을 만드는 대학원생입니다. 나는 fbxexplorer.blogspot.com에서 내가 무엇을 골라 내는지 문서화하고있다. 그곳에서 물건을 읽거나 문제가 있는지 물어보십시오. 매우 복잡한 파일 형식입니다. – Philip

답변

3

FBX 사양이 (IIRC) FBX 사양이 공개되어 있지 않으므로 일반적으로 FBX SDK를 사용하려고합니다.

online documentation은 학습을 시작하기에 좋은 장소입니다. 그러나 SDK는 C++ 및 Python API 만 공개합니다.

FBX exporter written without using the FBX SDK을 제공하는 블렌더 (오픈 소스)를 살펴볼 수도 있습니다.

또한 OpenEndedGroup의 제품 필드에는 FBX Java 라이브러리가 포함되어 있다고 나와 있습니다. Github에서 코드를 찾을 수 있으며 관심있는 부분은 jfbxlib 일 것입니다.

+0

그래서 알겠습니다. 내가했던 것처럼 파일 판독기를 완성하려고 할 가능성이 큽니다. 나는 애니메이션을 읽는 방법을 발견했다고 생각한다. 어쨌든 고마워! – Braindrool