fbx 0.1.0

  • Readme
  • Changelog
  • Installing
  • 46

FBX #

This library is experimental. Some FBX files, particularly older fbx files, may not load correctly. No guarantee is provided as FBX is a closed proprietary format.

Introduction #

A parser for .FBX format in Dart. An FBX file supports geometry and animation that can be exported from many common 3d animation programs. This supports ASCII and Binary FBX files, and has very limited testing with the 2014 version of the FBX format so far.

Background #

FBX (Filmbox) is a proprietary file format (.fbx) developed by Autodesk. It is used to provide interoperability between digital content creation applications. It provides support for 3D geometry, animation curves, and basic deformations such as skinning and blend shapes.

Example #

FBX Viewer

Limitations #

FBX is a closed format, so while this library does it's best to interpret the data in an FBX file, I cannot guarantee that it will read all FBX files, or all data within FBX files.

0.1.0 - October 23, 2019 #

  • Updated library to Dart 2

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  fbx: ^0.1.0

2. Install it

You can install packages from the command line:

with pub:


$ pub get

with Flutter:


$ flutter pub get

Alternatively, your editor might support pub get or flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:fbx/fbx.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
93
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
90
Overall:
Weighted score of the above. [more]
46
Learn more about scoring.

We analyzed this package on Dec 11, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.6.1
  • pana: 0.13.1+4

Health suggestions

Fix lib/fbx/input_buffer.dart. (-2.48 points)

Analysis of lib/fbx/input_buffer.dart reported 5 hints:

line 14 col 38: Use = to separate a named parameter from its default value.

line 14 col 57: Use = to separate a named parameter from its default value.

line 21 col 50: Use = to separate a named parameter from its default value.

line 45 col 3: Prefer using /// for doc comments.

line 74 col 58: Use = to separate a named parameter from its default value.

Fix lib/fbx/fbx_loader.dart. (-1 points)

Analysis of lib/fbx/fbx_loader.dart reported 2 hints:

line 444 col 16: The value of the local variable 'type' isn't used.

line 659 col 7: The value of the field '_fileVersion' isn't used.

Fix lib/fbx/bit_operators.dart. (-0.50 points)

Analysis of lib/fbx/bit_operators.dart reported 1 hint:

line 18 col 31: Avoid const keyword.

Fix additional 34 files with analysis or formatting issues. (-3 points)

Additional issues in the following files:

  • lib/fbx/fbx_ascii_parser.dart (1 hint)
  • lib/fbx/fbx_binary_parser.dart (1 hint)
  • lib/fbx/scene/fbx_mesh.dart (1 hint)
  • lib/fbx/scene/fbx_node_attribute.dart (1 hint)
  • lib/fbx/scene/fbx_pose.dart (1 hint)
  • lib/fbx/scene/fbx_scene.dart (1 hint)
  • lib/fbx/fbx_element.dart (Run dartfmt to format lib/fbx/fbx_element.dart.)
  • lib/fbx/scene/fbx_anim_curve.dart (Run dartfmt to format lib/fbx/scene/fbx_anim_curve.dart.)
  • lib/fbx/scene/fbx_anim_curve_node.dart (Run dartfmt to format lib/fbx/scene/fbx_anim_curve_node.dart.)
  • lib/fbx/scene/fbx_anim_evaluator.dart (Run dartfmt to format lib/fbx/scene/fbx_anim_evaluator.dart.)
  • lib/fbx/scene/fbx_anim_key.dart (Run dartfmt to format lib/fbx/scene/fbx_anim_key.dart.)
  • lib/fbx/scene/fbx_anim_layer.dart (Run dartfmt to format lib/fbx/scene/fbx_anim_layer.dart.)
  • lib/fbx/scene/fbx_anim_stack.dart (Run dartfmt to format lib/fbx/scene/fbx_anim_stack.dart.)
  • lib/fbx/scene/fbx_camera.dart (Run dartfmt to format lib/fbx/scene/fbx_camera.dart.)
  • lib/fbx/scene/fbx_camera_switcher.dart (Run dartfmt to format lib/fbx/scene/fbx_camera_switcher.dart.)
  • lib/fbx/scene/fbx_cluster.dart (Run dartfmt to format lib/fbx/scene/fbx_cluster.dart.)
  • lib/fbx/scene/fbx_deformer.dart (Run dartfmt to format lib/fbx/scene/fbx_deformer.dart.)
  • lib/fbx/scene/fbx_display_mesh.dart (Run dartfmt to format lib/fbx/scene/fbx_display_mesh.dart.)
  • lib/fbx/scene/fbx_geometry.dart (Run dartfmt to format lib/fbx/scene/fbx_geometry.dart.)
  • lib/fbx/scene/fbx_global_settings.dart (Run dartfmt to format lib/fbx/scene/fbx_global_settings.dart.)
  • lib/fbx/scene/fbx_layer.dart (Run dartfmt to format lib/fbx/scene/fbx_layer.dart.)
  • lib/fbx/scene/fbx_layer_element.dart (Run dartfmt to format lib/fbx/scene/fbx_layer_element.dart.)
  • lib/fbx/scene/fbx_light.dart (Run dartfmt to format lib/fbx/scene/fbx_light.dart.)
  • lib/fbx/scene/fbx_mapping_mode.dart (Run dartfmt to format lib/fbx/scene/fbx_mapping_mode.dart.)
  • lib/fbx/scene/fbx_material.dart (Run dartfmt to format lib/fbx/scene/fbx_material.dart.)
  • lib/fbx/scene/fbx_node.dart (Run dartfmt to format lib/fbx/scene/fbx_node.dart.)
  • lib/fbx/scene/fbx_null.dart (Run dartfmt to format lib/fbx/scene/fbx_null.dart.)
  • lib/fbx/scene/fbx_object.dart (Run dartfmt to format lib/fbx/scene/fbx_object.dart.)
  • lib/fbx/scene/fbx_polygon.dart (Run dartfmt to format lib/fbx/scene/fbx_polygon.dart.)
  • lib/fbx/scene/fbx_reference_mode.dart (Run dartfmt to format lib/fbx/scene/fbx_reference_mode.dart.)
  • lib/fbx/scene/fbx_skeleton.dart (Run dartfmt to format lib/fbx/scene/fbx_skeleton.dart.)
  • lib/fbx/scene/fbx_skin_deformer.dart (Run dartfmt to format lib/fbx/scene/fbx_skin_deformer.dart.)
  • lib/fbx/scene/fbx_texture.dart (Run dartfmt to format lib/fbx/scene/fbx_texture.dart.)
  • lib/fbx/scene/fbx_video.dart (Run dartfmt to format lib/fbx/scene/fbx_video.dart.)

Maintenance suggestions

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package.

Common filename patterns include main.dart, example.dart, and fbx.dart. Packages with multiple examples should provide example/README.md.

For more information see the pub package layout conventions.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.49.0 <3.0.0
archive >=2.0.0 <3.0.0 2.0.11
vector_math >=2.0.8 <3.0.0 2.0.8
Transitive dependencies
args 1.5.2
charcode 1.1.2
collection 1.14.12
convert 2.1.1
crypto 2.1.4
path 1.6.4
typed_data 1.1.6
Dev dependencies
build_runner >=1.3.0 <2.0.0
build_web_compilers >=0.3.6 <2.0.0
pedantic ^1.0.0
test >=0.12.42 <2.0.0