[Bf-committers] GSoC proposal: Improve the I/O compatibility of COLLADA with other applications in the areas of geometry and skeletal structures

Arystanbek Dyussenov arystan.d at gmail.com
Fri Mar 23 14:35:45 CET 2012


Improve the I/O compatibility of COLLADA with other applications in the
areas of geometry and skeletal structures


Abstract
========

COLLADA is a file format for 3D data exchange. Blender uses COLLADA to
allow users exchange data with other applications.

COLLADA is a format with a very wide coverage of types of stored data. At
the same time, the same data can be presented in a variety of ways in this
format. Because the goal of this format is to be common data exchange
format for an arbitrary number of 3D applications, there are differences
between how the data is presented in this format and how it is presented in
Blender. The same is true for all other applications which support this
format.

These differences and the mentioned flexibility of the format require a lot
of effort from Blender developers to get the result from this format, which
will satisfy the users.

There are currently flaws in Blender COLLADA support.


Benefits to Blender
===================

I want to fix complex bugs in COLLADA support and also restructure some
complicated places in the code this summer.


Deliverables
============


Project details
===============

I want to fix bugs related to import from GoogleSketchup:

- http://projects.blender.org/tracker/index.php?func=detail&aid=30301
- http://projects.blender.org/tracker/index.php?func=detail&aid=27629

To fix them it is necessary to refine the support of instance_nodes in the
importer, add support of geometry of type LINES and add import of multiple
geometries grouped in a single node. The attached examples will help me
test the correctness of the changes.

Also I want to fix the bug:

- http://projects.blender.org/tracker/index.php?func=detail&aid=25754

To fix it, it will be necessary to add support of import of skinned meshes
linked with several skeletons without a common root. To do this, I think, I
will have to combine independent skeletons into one. Also this example will
help me to start realization of import of skeleton trees, containing
non-joint nodes. The example from the report will help me test the
functionality.

Also I want to fix this bug in the importer:
- http://projects.blender.org/tracker/index.php?func=detail&aid=28894

It is a complex scene from FloorPlanner which causes a crash.

I will try to fix this bug:
- http://projects.blender.org/tracker/index.php?func=detail&aid=28378

The problem in bone matrix interpretation.

Also I want to fix bugs in the exporter:

- http://projects.blender.org/tracker/index.php?func=detail&aid=27640

Add the possiblity of export of meshes, consisting of only points or points
and lines.

- http://projects.blender.org/tracker/index.php?func=detail&aid=24759

Add the possibility of export of a skeleton, to which multiple geometries
are attached.

Also, I want to try to fix other priortiy bugs from this list:
http://wiki.blender.org/index.php/Dev:2.5/Source/Development/Todo/Import_Export#Import:_Bugs

Besides these bugs, I want:

- to study and improve the situation with export of meshes with modifiers
- to export skeleton animation by default in the key-per-frame form for
more correct transfer of interpolations
- add a user option to export skeleton animation in non-key-per-frame mode.
This will allow a user to modify animation in other packages

Besides these changes, I want to improve the structure of the code to make
it more comprehensible for other developers. I want to review these
functions in the code:

- MeshImporter::create_mesh_object() - quite complicated code. I think it
is better to fix it now.
- AnimationImporter::translate_Animations() - make the function more
accessible.


Project schedule
================

TBD


-- 
Best regards,
Arystanbek Dyussenov


More information about the Bf-committers mailing list