gerra6 Posted January 2, 2014 Share Posted January 2, 2014 Mesh Rigger  Rig and Weightpaint nifs without a 3D program!Quickly and easily add BBP, TBBP, BB, BBB, BNB, etc to an entire collection of clothing and armor with a few clicks of a button!  This tool automatically copies Bones, Weightpainting, Dismemberment Partitions, and much more for Skyrim, Fallout and Oblivion meshes.  The tool can process a single nif, multiple nifs, or even an entire directory structure at once.  You can now add one or more bones to an entire clothing collection with a couple of quick clicks.  And rigging a raw mesh or stripping and re-rigging an existing mesh is a simple as running the tool.  Core Functions  1. Copy skeleton root, bones, and weightpainting from a fully rigged mesh to an unrigged mesh 2. Accurately replicate skin partitions and dismemberment partitions 3. Selectively copy individual bones, multiple bones, or entire skeletons from a rigged nif to any other mesh. 4. Selectively rig individual meshes within a nif for Rigid or Soft weightpainting 5. Automatically copy Havok HDT nodes and bones 6. Automatically compensate for differences in skinning, bone transforms, skinned bone transforms, etc 7. Automatically generate perfectly matching _0 and _1 morph meshes, if _0 and _1 morph meshes already existUsing Mesh Rigger   Mesh Rigger works by accurately copying information from a template nif to as many target nifs that you desire. Because of this, the quality of final results depends on the quality of the selected template nif. For best results, your template nif should be a full body nif (hands, feet, upper body, lower body, head) that shares the same base body type as any nifs that you wish to rig using Mesh Rigger.1. Run 'Mesh Rigger.bat' or 'mesh_rigger.py'. This will open the main Mesh Rigger options Window.File Settings2. Click 'Load Defaults' (Optional)3. Click File -> Template Options -> Select Template Mesh3.a. Select the template nif that you will be using.3.b. Warning for Skyrim users. If you are rigging morph nifs (name_0.nif, name_1.nif), please ensure that your template nif has an appropriate name. So if your template matches the _0 body style, ensure that the template name ends with _0.nif. If instead the template matches the _1 body style, ensure that the template name ends with _1.nif.4. (Optional) If you would like to rig the mesh with a different skeleton than the one included in your Template Mesh: Click File -> Template Options -> Select Template Skeleton.4.a. Optional) Select the skeleton template nif that you will be using.5. Click File -> Target Options5.a. Select either the nifs or the folder containing the nifs that you want to rig5.b. (Optional) If you want the tool to process subfolders, enable 'Include Subfolders'6. Click File -> Select Destination Folder6.a. Select the location where you would like the rigged meshes to be saved. The tool will automatically overwrite any nifs in this folder with newly rigged versions.Search Settings Override Distance, Search Distance, and Vertex Targets determine how the tool finds matching weights between the meshes.7. Override Distance should be enabled *only* if you want to force every vertex on the target meshes to receive new weightpainting.8. Search Distance should be increased if you are working with skirts or capes or other materials that may need to search a significant distance for an appropriate target on the template mesh.9. Vertex Targets determines how many targets on the template mesh each vertex should attempt to find. The weight applied to a given vertex will be a distance weighted average of the found targets on the template mesh. In general, 3 is a safe starting point. Increase this number to generate smoother weightpainting, decrease it to generate a more precise copy from the template.Rigging Settings10. Select Bones to Copy: Enable if you want to select only certain bones to be copied11. Copy Havok Node: Enable if you want to copy Havok nodes and skeletons for HDT enabled Skyrim meshes13. Select Rigid Meshes: This option allows you to specify two options for every geometry block (mesh) in every nif that you rig. When enabled, every time a nif is loaded to be rigged, the tool will open a menu listing all meshes found in the nif. Each mesh has two options, Weight, and Rigid. 13.a 'Weight' determines whether or not a given mesh received updated weighting. If a mesh does not have Weight enabled, its weightpainting will not be modified by the tool. 13.b. 'Rigid' determines whether or not a given mesh receives rigid weightpating. Enable this for hard object like a shell or a breastplate that should not be deformed. Disable this for soft objects, like leather or clothing that should match the deformation of the body mesh.14. 'Replace Weights': This option causes the tool to erase existing weighting for any bones that the tool paints15. 'Replace Rigging': This option causes the tool to erase any existing bones and replace them with the bones from the template mesh (or template skeleton, if one was selected). Note: Enabling this option will automatically delete any unused bones16. 'Replace Partitions': This option is used for Skyrim and Fallout nifs. When enabled, it will delete existing dismemberment partitions and copy the appropriate partitions from the template nif. If disabled, any existing dismemberment partition assignments will be preserved when the partition is rebuilt.17. 'Allowed Genders': This option is useful when walking a directory tree. It attempts to detect the gender of a given nif and rig only nifs with matching genders. Note: The tool uses file path and texture path to determine gender, so it is unable to accurately categorize all nifs by gender.18. Click 'OK' to run Mesh RiggerSaving and Restoring SettingsCancel: Close the tool and don't do anything (same as closing the window)Load Defaults: Reset settings to factory defaultOK: Accept the settings and begin processing meshes  Save Current Settings: Save your current configuration to a customizeable ini fileLoad Current Settings: Load a saved configuration from a customizeable ini file  Download:  Tools RC_89.e.7z Tools RC_89_k_Upgrade.7z  Installation:     Portable Package:  1. Extract downloaded .7z file to the folder of your choice.  To run the tool: 1. Double-Click on Mesh_Rigger.bat in your Mesh Rigger folder  Light Download:  1. Install Python 3.4 https://www.python.org/download/releases/3.4.0/ (64 bit recommended if you are working with very large nifs) 2. Install Pyffi 3K http://sourceforge.net/projects/pyffi/files/pyffi-py3k/ 3. Extract Mesh Rigger to your preferred location in your computer.  To run the tool: 1. Double Click on mesh_rigger.py located in your Mesh Rigger folder.  This should open the bone weight copy menu.  If this does not happen, download and use the Portable Package instead  Change Log:    Beta 44 to 46 1. Significant rebuild of back-end framework for greater stability, robustness, and flexibility 2. Significant Improvements to the back-end vertex matching algorithm. This should result in notable improvements to many former problem areas 3. Significant Improvements to the ability of the tool to work with meshes with unusual bone and/or skin transforms. 4. Elimination of 'wayward vertex' problem when rigging meshes with bad or incompatible skinning. 5. 'Adjust Bind Option' has become redundant and has been removed. Beta 40 to 44 1. Resolves crash bug that can occur when working with nifs with bad geometry blocks Beta 35 to 40 1. Resolve bug that could cause Skyrim Nifs to not appear in-game 2. Miscelaneous performance improvements 3. Resolved several uncommon crash bugs Beta 34 to 35 1. Resolves Crash Bug when Mesh Rigger attempted to rename scene roots for Morph Nifs. Beta 31 to 34 1. Adjust Bind Position option has been restored. When enabled, the tool will automatically adjust vertex locations to compensate for any changes in the bones. This can be used to ensure that in-game mesh shape remains unchanged when re-rigging a mesh with a skeleton with different bone bind transforms. 2. Extra Data Blocks attached to the target nif Scene Root will now be properly retained when the tool rigs a mesh 3. Relative order of Extra Data Blocks, Geometry Blocks, and NiNode Blocks will now be retained in most circumstances. Beta 30 to 31: 1. Resolved crash bug when perf_mon was loaded. It appears that the portable version of python did not include a full install of the Python Time module. Beta 25 to 30: 1. Mesh Rigger will no longer generate multiple scene roots when 'Delete Rigging' is disabled 2. Mesh Rigger will once again correctly generate new skin partitions (eliminates 'invisible nif' problem) 3. Update Bind Position button has been eliminated and replaced with new automatic system. The system to match coordinates between different nifs has been significantly overhauled. Nifs with unapplied bone transforms will now have those transforms applied directly to the vertex locations during mesh initialization. Deleting the rigging of a nif now causes the locations of all vertices to be updated appropriately to compensate for the new bones. 4. Behavior of Replace Weights option has been modified. Enabling Replace Weights will delete all existing weights for selected bones, but any non-selected bones will be unaffected. Beta 13.C to 25: 1. Very large number of changes added to the back-end framework. Detailed Change Log forthcoming. Beta 0.13.A to 0.13.C:  1. Assorted bugs in the Target Folder and Destination Folder selection have been resolved 2. Oblivion skin partitions should now be properly created  Beta 0.13 to 0.13.A: 1. Crash when processing Oblivion meshes has been resolved 2. Crash when 'Delete Existing Rigging' is enabled has been resolved Beta 0.11 to 0.13 1. All Issues relating to Skyrim meshes and the weight slider should now be resolved 2. Any mesh, bone, or vertex distortion from copying bones onto a skinned mesh should now be eliminated. 3. It is no longer necessary to rebuild skin partitions in Nifskope. 4. Relative path names should now function properly Seam Mender Updates: 1. Tri Files should now be processed and saved correctly 2. Nif or Tri files that cause Pyffi to crash when reading no longer cause the tool to exit. These files are now bypassed and will not be processed. 3. Copying Weights should now work properly (See Mesh Rigger Bugs for bugs and resolution) Beta 0.09 to 0.11 1. Fixes bug that prevented skin partitions from being properly rebuilt. Beta 0.07 to 0.08 1. Fixes bug that prevented saved configurations from loading 2. Added portable version for Windows that does not require Python or Pyffi installation.  Beta 0.05 to 0.07 1. Delete Existing Rigging: When enabled, all target meshes will be stripped of all rigging, skin partitions, and weightpainting.  New rigging, skin partions, weightpainting, and bones (as needed) will be copied from the template mesh. 2. Copy Havok node.  When enabled, copies havok extra data node from template mesh to target mesh(es) 3. Game Menu: Select Skyrim, Fallout, or Oblivion.  At present, this tells the tool to use the optimal skin partition settings for the specified game when it rebuilds the skin partitions. 4. Configuration settings are now stored in a user modifiable ini file format 5. Save Current Settings: Save the current settings to a plain text .ini file in your \save\ folder 6. Load current Settings: Load the current settings from a plain text .ini file in your \save\ folder 7. It is no longer necessary to rebuild skin partitions in Nifskope after using this tool  Beta 0.04 to 0.05 1. Skin partitions are now correctly copied from the Template mesh to the Target mesh 2. Dismember skin partitions are now correctly copied, assigned to the appropriate regions of the mesh, and assigned the correct body part codes.  Beta 0.01 to 0.04 1. Resolved error when using multi-file selection 2. Existing skeleton roots will no longer be overwritten when skinning a partially skinned nif 3. Target nifs that contain multiple meshes will now be processed properly 4. Template nifs that contain multiple meshes will now be processed properly and provide boneweight copying as if they were merged into a single nif 5. BSDismemberSkinInstance are now used if the template mesh included them 6. Nifs that contain corrupt skins should no longer cause the tool to crash 7. Source Mesh menu items have been renamed to Target Mesh 8. Delete Existing Bone Weights option had been inverted.  Enabling the button will not properly delete existing bone weights as they are copied from the template mesh.  Disabling the button will mean that any existing weights that are not overwritten will remain.   Please report any bugs or other issues that you encounter. 2 Link to comment
TnTTnT Posted January 3, 2014 Share Posted January 3, 2014 Will try this new beta when get back home. Hope will get better result than the first one. (I'm the guy who sent you example of the template). Link to comment
gerra6 Posted January 3, 2014 Author Share Posted January 3, 2014 Thanks for the template files. Â It's surprisingly fun to watch my tools crash and burn when they come face to face with reality. Â At this point, things are looking pretty good, I can copy appropriate looking dismember partitions to from the templates, copy all of their properties, and have everything end up looking exactly the way it is supposed to look. Â What I can't seem to do is figure out how to eliminate the Nifskope step. Â Well, there's no helping it...I need to go stare at the Nifskope code and figure out what dark magic they are performing. Link to comment
TnTTnT Posted January 3, 2014 Share Posted January 3, 2014 * Edit * Â The tools seem to work without error for me. Â However, seem like it is just not enough to make BBP armor -> TBBP. Â I tried first with just NPC L/R Butt because that should be the main difference for BBP and TBBP but no change in butt physics of the destination armor. Â Try again with all bone selected and still not get butt physics. Â I even try to use TBBP armor as template too (other than TBBP body mesh). Â I have a question, should be copy NPC L/R PreButt as well? Â I used to see some comment in HDT thread that the factor that effect bouncing are prebreast and prebutt area. Â Link to comment
gerra6 Posted January 4, 2014 Author Share Posted January 4, 2014 At this point the mesh is rigged, but I do see one notable difference between the template and the destination.  I don't know anything about how they set up their system, but there is a NiStringExtraData node that looks important.  Open your meshes in nifskope and copy that block trom the template to your scene root.  That seems to be loading some sort of physics package.  Let me know what it does.  I'll need to do some investigation, but I *may* add the option to automatically copy that package from between the meshes.  It should be easy to code, I just don't want to cause more problems than I solve.  And I really don't want to end up trying to support someone else's physics package.   Link to comment
TnTTnT Posted January 4, 2014 Share Posted January 4, 2014 By template, do you mean "femalebody_0.nif"? I cannot find any NiStringExtraData node there.  I used to add NiStringExtraData to point to hdt.xml for collision from HDT but it should already removed. Link to comment
gerra6 Posted January 4, 2014 Author Share Posted January 4, 2014 Sorry, getting my templates confused. Â I'll take a closer look at that one. Â Just to be clear...the template mesh is the exact mesh (with no changes at all) as the one you use in game, that displays the working animation? Â Before I spend too much time trying to figure out what might be missing, I need to be certain that there is something missing. Â Here's the output from the latest development version of the tool, using it with the body template from your post over at the nexus. cuirassf_0.7z Link to comment
TnTTnT Posted January 4, 2014 Share Posted January 4, 2014 Yes, the template is the body mesh of CHSBHC v3 I am using. http://www.nexusmods.com/skyrim/mods/34344  I'm using the TBBP version and it show butt animation (jiggly) in game.  I attach all _0 and _1 files for you in case of needed. Template : femalebody_0.nif, femalebody_1.nif Source : cuirassf_0.nif, cuirassf_1.nif Output : cuirassf_0_out.nif, cuirassf_1_out.nif  I use _0 as template for source _0 to ensure the weight is same.  I do it like this because I think _0 is for weight 0 and _1 is for weight 0.  First I try to copy only NPC L/R Butt and when nothing in butt animation - I select all bone.  I also try to use another armor mesh that also has TBBP butt animation as template : body_2.nif  BWC.rar Link to comment
TnTTnT Posted January 4, 2014 Share Posted January 4, 2014 Strange, I tried your output and see butt animation like what I have with the body mesh. Â Can you guide me how to do that? Â Beta .1 and .5 I used don't have the same result. Â Also the source file should have around 1.4MB but your output has only 845KB? Link to comment
gerra6 Posted January 4, 2014 Author Share Posted January 4, 2014 The filesize difference is the result of those orphan child nodes that I mentioned in the other thread. If you open your meshes in nifskope, you'll notice about 40 nodes that aren't parented to any geometry. When you deleted the niTriStrips before, you left all of the data behind. Â Since that data is useless without the niTriStrips that it belonged to, it was discarded. Â I'll be posting the next beta in a bit with an option to completely re-rig the mesh. That's the version I used in the test. Link to comment
ger4 Posted January 4, 2014 Share Posted January 4, 2014 For some reason when I try to use this, get a load of erros at the end of the log  Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:18:40) [MSC v.1600 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.>>> ================================ RESTART ================================>>>Default Settings {}Current Settings {'top_menu': None, 'Distance': 10.0, 'VERSION': 'b_02', 'template': 'C:/Users/User/Desktop/Bone Weight Copy Beta 5/body.nif', 'subfolder': 0, 'destination': 'C:/Users/User/Desktop/Bone Weight Copy Beta 5/output', 'bone': True, 'override': True, 'Targets': 10, 'select_bones': True, 'target': '{C:/Users/User/Desktop/Bone Weight Copy Beta 5/dress pre war 2.nif}', 'delete': True}Integer <class 'tkinter.IntVar'>PY_VAR1Float <class 'tkinter.DoubleVar'>PY_VAR2Menu Test 1key subfolder{'subfolder': <tkinter.IntVar object at 0x0318CEF0>}00Menu Test 1key top_menu{'subfolder': <tkinter.IntVar object at 0x0318CEF0>}{'top_menu': None, 'Distance': 10.0, 'VERSION': 'b_02', 'template': 'C:/Users/User/Desktop/Bone Weight Copy Beta 5/body.nif', 'subfolder': 0, 'destination': 'C:/Users/User/Desktop/Bone Weight Copy Beta 5/output', 'bone': True, 'override': True, 'Targets': 10, 'select_bones': True, 'target': '{C:/Users/User/Desktop/Bone Weight Copy Beta 5/dress pre war 2.nif}', 'delete': True}Block FoundBuilding Vertex Dictionaryinitializing facesinitializing bonesTest ABlock FoundBuilding Vertex Dictionaryinitializing facesinitializing bonesTest ABlock FoundBuilding Vertex Dictionaryinitializing facesinitializing bonesTest A2208 found in template. Adding to search array.1384 found in template. Adding to search array.3321 found in template. Adding to search array.Total of 6913 found in template. Search array complete.[b'Bip01 Head', b'Bip01 L Calf', b'Bip01 L Clavicle', b'Bip01 L Foot', b'Bip01 L Forearm', b'Bip01 L ForearmTwist', b'Bip01 L Hand', b'Bip01 L Op1', b'Bip01 L Op2', b'Bip01 L Op3', b'Bip01 L Thigh', b'Bip01 L Toe0', b'Bip01 L UpperArm', b'Bip01 L UpperArmTwist', b'Bip01 Neck1', b'Bip01 Pelvis', b'Bip01 R Calf', b'Bip01 R Clavicle', b'Bip01 R Foot', b'Bip01 R Forearm', b'Bip01 R ForearmTwist', b'Bip01 R Hand', b'Bip01 R Op1', b'Bip01 R Op2', b'Bip01 R Op3', b'Bip01 R Thigh', b'Bip01 R Toe0', b'Bip01 R UpperArm', b'Bip01 R UpperArmTwist', b'Bip01 Spine', b'Bip01 Spine1', b'Bip01 Spine2'][b'Bip01 Head', b'Bip01 L Calf', b'Bip01 L Clavicle', b'Bip01 L Foot', b'Bip01 L Forearm', b'Bip01 L ForearmTwist', b'Bip01 L Hand', b'Bip01 L Op1', b'Bip01 L Op2', b'Bip01 L Op3', b'Bip01 L Thigh', b'Bip01 L Toe0', b'Bip01 L UpperArm', b'Bip01 L UpperArmTwist', b'Bip01 Neck1', b'Bip01 Pelvis', b'Bip01 R Calf', b'Bip01 R Clavicle', b'Bip01 R Foot', b'Bip01 R Forearm', b'Bip01 R ForearmTwist', b'Bip01 R Hand', b'Bip01 R Op1', b'Bip01 R Op2', b'Bip01 R Op3', b'Bip01 R Thigh', b'Bip01 R Toe0', b'Bip01 R UpperArm', b'Bip01 R UpperArmTwist', b'Bip01 Spine', b'Bip01 Spine1', b'Bip01 Spine2']{C:/Users/User/Desktop/Bone Weight Copy Beta 5/dress pre war 2.nif}dirpath {C:/Users/User/Desktop/Bone Weight Copy Beta 5/dress pre war 2.nif}this_file {C:/Users/User/Desktop/Bone Weight Copy Beta 5/dress pre war 2.nif}Processing dress pre war 2.nifCreate new root******adding skeleton root******Building Vertex Dictionaryinitializing facesinitializing bonesTest Avalidating skin - pre- mainsearchMain SearchDistance 10.0search_targets 10Template Vertices: 6913Building Vertex DictionaryTarget Mesh Vertices 1458Building Vertex Dictionarysearching for Targets102 of 1458verts searched174 of 1458verts searched246 of 1458verts searched318 of 1458verts searched390 of 1458verts searched462 of 1458verts searched534 of 1458verts searched607 of 1458verts searched680 of 1458verts searched753 of 1458verts searched825 of 1458verts searched898 of 1458verts searched970 of 1458verts searched1044 of 1458verts searched1116 of 1458verts searched1188 of 1458verts searched1260 of 1458verts searched1332 of 1458verts searched1404 of 1458verts searchedprocessing b'Bip01 Pelvis'bone not found, adding to meshprocessing b'Bip01 L UpperArmTwist'bone not found, adding to meshprocessing b'Bip01 Spine1'bone not found, adding to meshprocessing b'Bip01 L Op2'bone not found, adding to meshprocessing b'Bip01 R UpperArmTwist'bone not found, adding to meshprocessing b'Bip01 L Thigh'bone not found, adding to meshprocessing b'Bip01 L Op1'bone not found, adding to meshprocessing b'Bip01 Spine'bone not found, adding to meshprocessing b'Bip01 R Clavicle'bone not found, adding to meshprocessing b'Bip01 L Op3'bone not found, adding to meshprocessing b'Bip01 R Op2'bone not found, adding to meshprocessing b'Bip01 R Op3'bone not found, adding to meshprocessing b'Bip01 R Calf'bone not found, adding to meshprocessing b'Bip01 R Op1'bone not found, adding to meshprocessing b'Bip01 R Thigh'bone not found, adding to meshprocessing b'Bip01 L Calf'bone not found, adding to meshprocessing b'Bip01 L Clavicle'bone not found, adding to meshBone Update Completetime b 14.14292882940973time c 2.95419861813636331458 vertices modified. Saving File1458 vertices modified. Saving File to C:/Users/User/Desktop/Bone Weight Copy Beta 5/outputbad NiSkinData: some vertices have no weights [16, 17, 18, 19, 24, 25, 26, 27, 38, 39, 40, 41, 49, 50, 51, 52, 62, 63, 64, 65, 66, 67, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 120, 121, 122, 123, 124, 125, 128, 129, 130, 132, 133, 134, 135, 136, 137, 149, 150, 151, 152, 153, 154, 155, 156, 157, 178, 190, 191, 192, 193, 199, 200, 205, 206, 207, 208, 209, 216, 243, 244, 245, 246, 247, 248, 249, 286, 287, 454, 456, 480, 482, 496, 497, 498, 500, 501, 502, 510, 511, 612, 613, 614, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 744, 745, 746, 747, 748, 749, 750, 753, 770, 772, 774, 776, 911, 913, 914, 922, 923, 924, 954, 955, 956, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1055, 1056, 1057, 1061, 1062, 1063, 1064, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1207, 1210, 1212, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1237, 1244, 1245, 1246, 1247, 1248, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1284, 1285, 1286, 1287, 1291, 1303, 1304, 1305, 1322, 1323, 1331, 1339, 1340, 1345, 1453, 1455, 1457]>>>    and the mesh looks like thisdress pre war 2.nif , a load of vertices for some reason having been deleted.  I can't work out were I'm going wrong. Link to comment
gerra6 Posted January 4, 2014 Author Share Posted January 4, 2014 The verts haven't been deleted, they just have no weights.This can happen if your template mesh and target mesh are very different.Either increasing the Search Distance or enabling the Override Search Distance option should fix it.  *Edit* I should mention, the tool doesn't currently know what to do with meat caps from fallout meshes.  It should properly copy the dismemberment partitions with no trouble, but so far Skyrim and Oblivion compatibility have been the main focus.  I need to figure out how the tool should handle meat caps.  Here's a quick re-rig of your mesh using the dev version of the tool (to be released shortly)  dress pre war 2.7z  I used a berry body I just grabbed from Nexus as bone template source.  To be on the safe side, I deleted the meat caps from the template.  I'm going to go add some code to deal with those. Link to comment
ger4 Posted January 4, 2014 Share Posted January 4, 2014 Thanks.  I've actually just managed to rig this mesh to oblivion myself, but from some reason, although the mesh shows up in-game, the shoulders still warp too much when my character moves. I can fix this if I use the nude body I remodeled the mesh on as a weight template, but then the skirt looks wrong. To fix the skirt I can use one of the ingame robes (mages robe) but that mucks up the shoulders again and I can't work out how to get it all to work together.  dress pre war 2 fix shoulders.nif  here's the body I'm trying to use for this mesh  femalelowerbody_Queen.nif  femaleupperbody_W_QHB.nif Link to comment
gerra6 Posted January 4, 2014 Author Share Posted January 4, 2014 OK, since your target mesh is a full size mesh, the first thing you'll want to do is merge your upper and lower body template nifs into a single nif. Â This allows you to perform the next step without things getting too wonky. Â You're rigging a skirt...that means that there is a significant distance between the skirt and the legs. Â This in turn means that for the skirt you want to use both a very high search distance and a relatively high vertex count. Â (I'm working on some experimental methods to rig skirts) Â Here's what I'd try first. Â Run the tool using a full body template mesh and something similar to the default settings. Â Next, run the tool a second time. Â This time enable 'Select Bones To Copy' and disable 'Overwrite Existing Bones'. Â Set the vertex count to something fairly high (try 30 or so), set the search distance to something absurd (try 30 or so) and select only the bones that you want painted onto the lower parts of the skirt, probably just thigh and calf. Â See if that helps. Link to comment
ger4 Posted January 4, 2014 Share Posted January 4, 2014 The shoulders look alright, but the skirt still looks warped. Do you have any further suggestions? Â I'm using this template for the skirt weighting, using my body template always makes it look warped, but using this mucks up the shoulder weighting. Â It seems that after I weight paint a clean copy of the mesh one time, any further times I weight paint it using the tool have no effect and the weighting stays the same. Â bshirt.nif Link to comment
gerra6 Posted January 5, 2014 Author Share Posted January 5, 2014 The issue that you are having is that you don't have a good template.  So let's make one.  You have a body template with good shoulders and a dress template with good leg weighting.   Here's what you want to do...set the body as your template, and the dress as the target.  Run the tool with default settings.  Ensure that Delete Existing Weights is enabled.  When the bone menu appears, only select the bones that are badly painted on the dress template.  So don't select the thighs, calves, pelvis, etc...just the stuff that is bad.  Once the dress is re-weight painted, it should work as a template for your other mesh. Link to comment
TnTTnT Posted January 5, 2014 Share Posted January 5, 2014 So you mean I still cannot have the same result output with beta.5 yet right? Â When you release the next beta, you will add a new option to fix problem like my mesh has so the weight will be copied correctly? Â Thanks. Link to comment
gerra6 Posted January 5, 2014 Author Share Posted January 5, 2014 No, you should be able to get the same weighting results. Â The main difference with the next beta is that the Nifskope 'build skin partitions' step won't be necessary anymore. Â Other than that, I'm adding extra usability options (delete existing rigging, copy havoc node, save/load settings) Â I'll also probably be adding my search weighting function, which can be handy for rigging skirts. Â But, this is a beta...one of my goals is to keep expanding the functionality and quality of the tool, so any feedback that helps improve the tool is extremely welcome. Link to comment
TnTTnT Posted January 5, 2014 Share Posted January 5, 2014 Well, can you tell me that do I need to do anything extra to get the destination mesh has same result as the file you sent to me? Â I cannot make weight copy work in beta.1/5 no matter I select only NPC L/R Butt or select all bone that the tool shown. Link to comment
gerra6 Posted January 6, 2014 Author Share Posted January 6, 2014 Latest beta of Mesh Rigger is now live. Â Good name? Â Bad name? Â TnTTnT, Try running the tool and select 'Delete Existing Rigging'. Â Disable 'Select Bones to Copy'. Â Enable Override Distance, set a nice high search distance with ~5 to 10 vertex targets and see what happens. Â let me know if it works for you. Â One thing I should mention...if you look at the mesh you are working with...the underlying body mesh is severely distorted. Â My tool will fix the weighting/rigging, but it won't fix bad vertices. Link to comment
TnTTnT Posted January 7, 2014 Share Posted January 7, 2014 Thanks.  Select option as your suggestion, I can copy weight from template to destination successfully. Now I can may all BBP armor become TBBP!  Link to comment
nakrulz Posted January 9, 2014 Share Posted January 9, 2014 I just tried out this tool. I wanted to copy TBBP bones and weight into a non-tbbp armor. I loaded up the TBBP body mesh, selected the armor mesh, then used the select bones to copy. checked breast, breast01, and butt bones L and R. I ran it and everything seemed ok. new nif is created. but the thing is only the bones are copied over, and there are no weights on the breast/butts. am i doing something wrong? i only wanted to copy the breast and butt bones and weight over and not every bones in the body mesh. Â the only time it works is when i use the "delete existing rigging" and rewrite bone/weight, but thats not exactly what i want tho... Link to comment
gerra6 Posted January 9, 2014 Author Share Posted January 9, 2014 Thanks for the bug report. Â Would you be willing to send me the nifs that you were using to test. Â I'd like to dig around and see if I can figure it out. Â Based on your description, without seeing the nifs, here's my best guess. Â Nifs can traditionally handle 4 influence bones per vertex. Â When a skin partition is built, the number of bones influencing a given vertex is reduced to 4. Â Excess bones are removed in the order of lowest weight first. Â My best guess at this point is that the nif you are copying to has fairly heavy weightpainting in that region, ant that the copied over weights are getting discarded when the skin partition is built. Â My next best guess is that the differences between the meshes is higher than the search distance that you are using. Â Try enabling the 'Override' button. Â Are you up for an experiment? Â I can send you an experimental version of the Rigging Tool that allows you to set the number of bones allowed per vertex when the skin partition gets remade. Â I can't find any information online about the maximum number of bones per vertex in a Skyrim mesh, but it *might* be significantly higher than the 4 bone per vertex limit in Oblivion and Fallout. Â The bones per partition limit in Skyrim is at least 63 vs Oblivion and Fallout's 18, so it is possible that the bones per vertex has been similarly increased. Link to comment
TnTTnT Posted January 9, 2014 Share Posted January 9, 2014 Just notice that you upload a new version and now with portable as well. Â Hoorey! Â I will try it with my company notebook tomorrow. Â Link to comment
Monsto Brukes Posted January 9, 2014 Share Posted January 9, 2014 Latest beta of Mesh Rigger is now live. Â Good name? Â Bad name? Â TnTTnT, Try running the tool and select 'Delete Existing Rigging'. Â Disable 'Select Bones to Copy'. Â Enable Override Distance, set a nice high search distance with ~5 to 10 vertex targets and see what happens. Â let me know if it works for you. Â One thing I should mention...if you look at the mesh you are working with...the underlying body mesh is severely distorted. Â My tool will fix the weighting/rigging, but it won't fix bad vertices. Â here's you at the moment of this post: Â so let me see if i got this straight . . . with bodyslide, i can weight paint a body mesh. With this tool i could then update that weight painting to all the compatible outfits for that body. Â Have I got this right? Â What are some other examples of what an average player like me could do? Â Oh btw the name is fine. If you intend it to be a simple tool for average players, tho, "Mesh" makes it sound complex and it doesn't roll well. Body Rigger might be better depending on your target. considering my example above, it could be marketed (so-called) as a companion to Body Slide, but I don't know your intention there. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now