
You will notice several changes when a character is imported into Blender:
- The character is called by his proper name, not just the generic "Human". Spaces in the name is replaced by underscores.
- The rig, mesh, clothes etc. belong to a group, named after the character. This is useful for file linking.
- The FK/IK and finger control switches don't work. Instead, switching is controlled by custom properties, which can be accessed in the object context when the rig is active.
The properties may be called differently in the nightly build. I changed the names to something more readable, but am unsure if the commit was made before the nightly was built.
There are quite a few problems with the current release:
- Changing a property, e.g. an FK/IK switch, does not update the rig immediately. The change only takes place when we move a bone.
- There are properties for reparenting the root and gaze bones. Currently they do nothing, because the child-of constraints have been replaced by proper parenting due to a bug in Blender.
- It is not possible to do smooth interpolation between FK and IK, because enums are enums. Controlling the switch with a float property is probably better.
- Properties do not seem to work with file linking and rig proxifying. I think this is a major misfeature in Blender, bordering on a bug.
So this is still at a very experimental stage.
Old mhx files can still be imported with the new importer, but the result is not so good. Joint diamonds are not deleted, and a big box sticks out of the characters behind. This is normally a sign that something went wrong, but here it is just the custom shapes that are visible. Hide layer 20 and everything should still work.
Traceback (most recent call last):
ReplyDeleteFile "./core/gui3d.py", line 565, in onMouseUpCallback
self.mouseDownObject.callEvent('onClicked', event)
File "./core/events3d.py", line 93, in callEvent
getattr(self, eventType)(event)
File "./core/gui3d.py", line 150, in onClicked
self.view.callEvent('onClicked', event)
File "./core/events3d.py", line 93, in callEvent
getattr(self, eventType)(event)
File "./core/gui3d.py", line 1367, in onClicked
self.onFileSelected(self.edit.getText())
File "./apps/gui/guifiles.py", line 244, in onFileSelected
mh2mhx.exportMhx(self.app.selectedHuman.meshData, os.path.join(exportPath, filename + ".mhx"))
File "./apps/mh2mhx.py", line 41, in exportMhx
import read_expression, read_rig
File "./apps/mh2mhx.py", line 69, in exportMhx_24
theHuman = os.path.basename(name).capitalize().replace(' ','_')
File "./apps/mh2mhx.py", line 403, in copyMaterialFile
fp.write("#endif\n")
IOError: [Errno 2] No such file or directory: 'data/templates/materials24.mhx'
apps/mh2mhx.py moved to apps/mh2/ ages ago. Have you deleted the pyc file?
ReplyDelete