This is a continuation of Jester and Ardell works. Since Blender 2.5 has a completely different API it was not possible to keep using the old import/export scripts. Hence I did the adaptation.
Developped and Tested with Blender 2.55 for Windows XP/32 bits.
Any bugs with SKINs please let me know - I think it's working but please try it out. I'll get a proper tutorial done at some point.
Posted by Olblach at 2011-04-3006:46:37
Updated with Jester's SKIN fix.
Posted by jester_v01 at on04/19/11
Doesn't work with SKINs yet. Nearly fixed it, got the importer working, exporter nearly. Blender API for vertex groups has changed quite a lot
Posted by Olblach at 2011-04-2109:45:15
Updated with Jester fix and a few other fixes. I have imported / exported and reimported clothes successfully with it.
Posted by Olblach at 2011-04-2000:01:16
OK thanks I'll have a look. My email is [My pseudo] at yah00 dot c0m
Posted by jester_v01 at on04/19/11
Getting a bug with the importer. I think it's because vertex_groups no longer has an assign method. Try the following in NWN2Importer.py instead: if packet.type == b'SKIN': for ix in range(int(vert.boneCount)): if [g for g in meshObj.vertex_groups if g.name == BONE_DICT[vert.boneIndices[ix]]]: if vert.boneWeights[ix] > 0: g.add([mesh.vertices[counter].index], vert.boneWeights[ix], 'REPLACE') else: if vert.boneWeights[ix] > 0: g = meshObj.vertex_groups.new(BONE_DICT[vert.boneIndices[ix]]) g.add([mesh.vertices[counter].index], vert.boneWeights[ix], 'REPLACE') Is there an easier way to communicate - I'd be glad to help debug.
Posted by jester_v01 at on04/19/11
Getting a bug with the importer. I think it's because vertex_groups no longer has an assign method. Try the following in NWN2Importer.py instead: if packet.type == b'SKIN': for ix in range(int(vert.boneCount)): if [g for g in meshObj.vertex_groups if g.name == BONE_DICT[vert.boneIndices[ix]]]: if vert.boneWeights[ix] > 0: g.add([mesh.vertices[counter].index], vert.boneWeights[ix], 'REPLACE') else: if vert.boneWeights[ix] > 0: g = meshObj.vertex_groups.new(BONE_DICT[vert.boneIndices[ix]]) g.add([mesh.vertices[counter].index], vert.boneWeights[ix], 'REPLACE') Is there an easier way to communicate - I'd be glad to help debug.
Posted by jester_v01 at on04/19/11
Oh thank God.. I was getting all bogged down in packages and modules and Python crap I've forgotten because I haven't written any Python for about year. Very glad you've done this. Thank you!
10 - A Masterpiece, Genuinely Groundbreaking 9 - Outstanding, a Must Have 8 - Excellent, Recommended to Anyone 7 - Very Good, Deserves a Look 6 - Good, Qualified Recommendation 5 - Fair, Solid yet Unremarkable 4 - Some Merit, Requires Improvements 3 - Poor Execution, Potential Unrealized 2 - Very Little Appeal 1 - Not Recommended to Anyone