Page MenuHome

Collada import and export wrongly handle skin morphs.
Open, NormalPublic

Description

Blender Version
Broken: 2.72 / 95182d1
probably all versions.

Short description of error
The collada specs require a morphed skin to use a source for the skin that is the output of a morph,
that is, the controller that has a skin uses as source the id of a controller with a morph.
However, blender skips the morph on export: it uses the id of the base mesh (geometry) as source
for the skin and doesn't refer to the morph controller at all. On other hand, when importing it applies
all morphs to skins that both use the same base mesh. This is not how it is supposed to be.

Exact steps for others to reproduce the error

  1. Open blender (compiled with collada support), load factory settings, clear the scene.
  2. Import the skin_and_morph_example.dae example from http://collada.org/mediawiki/index.php/Skin_and_morph

Observe that this fails. Correct would be to get the result that you will get in point 4).

  1. Edit the .dae and change <skin source="#pCylinderShape1-morph">

into

<skin source="#pCylinderShape1">

that is, skipping the morph controller and just refer directly to the base mesh.

  1. Import the changed .dae - and observe that now the import succeeds and the morph is still applied (it shouldn't be).

For your convience, I have included the skin_and_morph_example.dae file from collada.org,
as well as the changed case that "works" under blender, called skin_and_morph_example_blender.dae.


Details

Type
Bug

Event Timeline

Carlo Wood (Aleric) set Type to Bug.
Carlo Wood (Aleric) created this task.
Carlo Wood (Aleric) raised the priority of this task from to Needs Triage by Developer.
Bastien Montagne (mont29) triaged this task as Normal priority.

yes, i do still maintain Collada. Please give me a few days.

A few months have passed. Anything yet?

Old dragons waking up again.
So sorry for having forgotten about this one.

This may be related to T50807. Maybe we can fix both issues in one go.