fbx 0.2.0

  • Readme
  • Changelog
  • Installing
  • 70

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.2.0 - January 09, 2020 #

  • Rename FbxDisplayMesh.vertices to FbxDisplayMesh.indices. FbxDisplayMesh.vertices is now a read-only alias, marked as deprecated.
  • Clean up library to latest dartanalyzer spec

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.2.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]
44
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
90
Overall:
Weighted score of the above. [more]
70
Learn more about scoring.

We analyzed this package on Mar 26, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.6

Health suggestions

Format lib/fbx/bit_operators.dart.

Run dartfmt to format lib/fbx/bit_operators.dart.

Format lib/fbx/fbx_ascii_parser.dart.

Run dartfmt to format lib/fbx/fbx_ascii_parser.dart.

Format lib/fbx/fbx_element.dart.

Run dartfmt to format lib/fbx/fbx_element.dart.

Fix additional 33 files with analysis or formatting issues.

Additional issues in the following files:

  • lib/fbx/fbx_loader.dart (Run dartfmt to format lib/fbx/fbx_loader.dart.)
  • lib/fbx/input_buffer.dart (Run dartfmt to format lib/fbx/input_buffer.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_mesh.dart (Run dartfmt to format lib/fbx/scene/fbx_mesh.dart.)
  • lib/fbx/scene/fbx_node.dart (Run dartfmt to format lib/fbx/scene/fbx_node.dart.)
  • lib/fbx/scene/fbx_node_attribute.dart (Run dartfmt to format lib/fbx/scene/fbx_node_attribute.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_pose.dart (Run dartfmt to format lib/fbx/scene/fbx_pose.dart.)
  • lib/fbx/scene/fbx_reference_mode.dart (Run dartfmt to format lib/fbx/scene/fbx_reference_mode.dart.)
  • lib/fbx/scene/fbx_scene.dart (Run dartfmt to format lib/fbx/scene/fbx_scene.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.13
vector_math >=2.0.8 <3.0.0 2.0.8
Transitive dependencies
args 1.6.0
charcode 1.1.3
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