From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

General Goals

Speed

Python is quite inefficient for dealing with large data sets when using built-in data types.

Rather then re-writing them in C/C++, I think it's worth investigating use of C/C++ - python modules to do the hard work and have python only pass arrays to blender.

Compatibility

Some formats are very complicated and more testing needs to be done with other applications, to ensure blender can work with them properly.

We get quite a few reports complaining of things not working right but its fairly inefficient to communicate about every small problem this way.

In complicated cases its best to have the developer run the application where it fails and ensure compatibility.

Formats

FBX

Import

  • Investigate ways to use the FBX SDK from inside blender without linking to it since its not GPL compatible.
    • Use an external program to convert FBX -> Blend, then append in the blend data.
    • Use a python module which links the to the FBX SDK so blender is not linking to the SDK.
  • For our own ASCII importer, investigate writing a better parser for the FBX format.

Export

  • Add support for exporting welded UV's (Maya for example expects UV's to be welded).
  • Update to use the format from the latest SDK
  • Test compatibility with Unity
  • Test compatibility with UDK

FBX Testing / Helping Out

A user was kind enough to offer to help out with Unity, FBX testing.

Here are things users could help out with.

From my testing last week our FBX export works quite well, the reported bugs in the tracker are more corner cases, also added support for dupligroup instancing.

Some random things you could help with:

  • First - use recent binaries if you can, try for no more then.... ~5 days old. - some bugs for were fixed since 2.58a release in FBX support.
  • if you find any strange problems with FBX support, report a bug including the blend file & FBX, or mail me direct if you cant upload publicly.
  • General feedback is welcome - things you think should be improved... etc.
  • Possible presets for unity, currently we dont make use of operator presets but we could add presets for applications or workflows.


Tasks (if you have time)

  • We have a testing framework for automated testing, would be nice to have a very simple character run-cycle - 20 frames or so, mesh + armature, simple so the test doesn't take too long to run.
  • (not urgent but could be nice) FBX supports custom properties as does blender, we could export these, does unity use them? - perhaps this is useful for tagging objects or game logic, if you're interested would be nice to check on.

--Ideasman42 06:33, 26 July 2011 (CEST)

OBJ

Import

  • Investigate a way to speed up loading complex meshes 100mb or so, with multiple groups/objects/materials.

VRML/X3D

Import

  • Add support for IndexedTriangleSet
  • replace own VRML parser with a VRML -> X3D converter so we can just load XML (low priority)

Export

  • Add support for animation curve export.
  • Add support for multiple UV/texture layer export.

Collada

For collada support I think it would be best if I help out with integrating GSOC projects and move to development when they end. Whats most needed IMHO is to get complex scenes and troubleshoot why they fail to load/export from blender.

PLY

Speedup import/export of large models.

STL

Speedup import/export of large models.

Omissions

  • 3DS - This format is now reasonably well supported, with object hierarchy, materials, UV's
    Speed could be improved but since this format is becoming legacy in comparison to FBX/Collada I rather just keep it working but not spend a lot of time developing it.
  • DXF/DWG - These formats are quite complex, We have an addon to support these which is maintained by a volunteer developer, and we don't get many complaints that it fails. So I think this is ok and we can leave it like this.