Jump to content

Blender 2.49b Scripts Package 1.01 (12/27/2013)


gerra6

Recommended Posts

This package includes most of my Blender tools, all built using a common high-performance framework

Lattice Generator: Significant updates and improvements to the lattice generator with vastly improved quality and performance. I'll post a tutorial soonbut the idea is to create a reusable lattice that can be used to quickly and easily convert clothing or armor from one body style to another.

**UV Map Search Feature: This allows the lattice generator to use UV Map data to find matches between meshes. Only works when the meshes use compatible UV Maps, but when they do, the results are amazing.

**Performance: Major updates to the search engine have reduced typical lattice generation times from ~200 seconds to less than 15 seconds. Major improvements to quality have eliminated the 'missed vertex' problem.

Seam Mender:  Seam Mender is designed to eliminate all trace of visible seams between two meshes.  The latest update mends BoneWeight, Location, Vertex Normal, and the UV Map.
 
Boneweight copy: Extremely fast, high performance, high quality bone weight copy script.  The latest update incorporates the updates to the back-end search algorithm for significantly improved results.
 
ConvertPose: Now includes the ability to animate shapekey animations to view animated facial expressions in Blender.

UV Layer Copy: Automatically copy UV Map information from one mesh to another.  Quality of final results depend on the physical similarity between the meshes.
 
Mirror Bone Weights: Automatically mirror the weightpainting from one side of a mesh to the other with opposite side vertex groups automatically created and named as needed.
 
Note: It appears that the 'Apply, Save or Load Lattice' script in this package has a nasty bug. I'll upload a patch shortly.

Please let me know if you have any questions, comments, or suggestions.

 

Main Download v.1.01 (12-26-2013)

 

Contents 

 

 

1. Lattice: Generate Transformation Lattice 5.02

2. Lattice: Save, Load, or Apply 5.02

3. Mesh: Copy Boneweights 3.0

4. Mesh: Mirror Boneweights 3.0
5. Mesh: Mend Seams 2.0
6. Mesh: Copy UV Map 0.7 (experimental beta)
7. Convert Pose 0.81 dev (experimental beta)
 

 

 

 

Blender Tools 1.01.7z

 

Blender Scripts Package 1.0 to 1.0.1 Changelog

 

 

 

1. Fixes crash bug in the Lattice: Save, Load, or Apply script

2. Fixes bug that caused the lattice apply function to mistake Right side lattices for Left side lattices

3. Restores 'Lock Z Movement' functionality to the Lattice: Generate Transformation Lattice script

4. Inactive settings sometimes remained in the active settings dictionary.  They should now be properly purged

5. Partial matches for lattice names should no longer cause incorrect lattices to be applied

6. Lattice Generator bone lists should be alphabetically sorted again

 

 

 

Lattice Generator Bugfix 5.03 (12-27-2013)

 

Contents 

 

1. Lattice: Generate Transformation Lattice 5.03

2. Lattice: Save, Load, or Apply 5.03

 

 

 

lattice generator 5.03.7z

 

Lattice Generator 5.02 to 5.03 Changelog

 

 

 

1. Crash bug that would occur if no save files were found in the Lattice: Save, Load, or Apply script has been fixed

2. Bug that prevented Left side lattice groups from receiving side specific vertex groups has been resolved

3. Bug that could cause the Lattice Generator to mistakenly apply the incorrect lattice when generating lattices has been resolved

 

 

Link to comment

Using Seam Mender
 
Seam Mender is a powerful tool that can quickly and easily remove any visible physical seams from your meshes.

What is Seam Mender?


Seam Mender copies information from one mesh to another in order to make physical seams completely invisible.  However, texture seams, from poorly matched textures, may remain.

Four pieces of information will be copied from the template mesh to the target mesh:
Vertex Location
Vertex Normal
Vertex Bone Weights
UV Coordinates (optional, use only when the two meshes share a seam on a UV map)



Installing Seam Mender


Copy the contents of the Blender scripts package into your Blender scripts folder.  This is usually blenderinstallfolder/.blender/scripts
 
To take full advantage of Seam Mender's capabilities, you also need a patched version of Blender that will not automatically recalculate Vertex Normals.
 
Get it here: http://home.comcast.net/~chronosphere/true-normals.htm
or here: http://www.nexusmods.com/oblivion/mods/42755


 
Using Seam Mender
 


 
1. You will need a template mesh. This can be any mesh at all, but for best results, merge several meshes together and remove their doubles to generate a universal seam.

2. Select your target mesh and then shift-select your template mesh.

3. From 'Object' mode, click on Object, scripts, mesh: mend seams

4. Select your options and click 'Done'
 


 
Seam Mender Options



The first thing to note is that depending on the options you select, Seam Mender can work with as few as one vertex on either mesh to all of the vertices on either mesh. This following options determine which vertices on the Template and Target meshes are active and which are inactive for the purposes of Seam Mender.

Match Selected Vertices Only: This limits seam mender to working only with currently selected vertices (select vertices by tabbing into edit mode)

Match Edge Vertices Only: This limits seam mender to working only with 'non-manifold' vertices. To understand what this means, tab into edit mode and hit <a> until no vertices are selected. Then hit <ctrl><shift><alt><m> to automatically select all non-manifold vertices

Vertex Location: Copy vertex location
Vertex Bone Weights: Copy Vertex Bone Weights
Vertex Normal Vectors: Copy Vertex Normal Vectors
Texture Map: Copy UV Coordinates

Force Vertex to Find Target: Forces every active vertex on the Target mesh to find a match on the Template mesh. It is generally best to leave this option disabled, unless you know what you are doing and have a specific effect in mind.

Vertex Search Targets: Set this to 1 to ensure that Active vertices on the Target mesh receive an exact copy of the nearest match vertex on the Template Mesh. Set this to a higher number to get a weighted average of the values among several of the nearest vertices on the Template mesh.

Vertex Search Distance: Determines how far should each Active vertex on the Target mesh search for matches on the Template mesh

Show Advanced Settings: Opens the 'Magnify Search Distance' Options, which allow you to skew the search distances on the X, Y, and Z axis.
 



Sample Template File:

 

HGEC Base template with the original asymmetric HGEC waist: HGEC_Asym_Full_template.7z

 

Sample Blend File: template.7z

 

Link to comment

OMG Goodness Gera, You're like a Mind reader, like seriously. I was thinking to myself the other day "Man, I wish I could get all Gera's tools in one shot" since I recently formated my PC, I come here and BAM I you posed them all in a package. Lover your tools too!!!

 

Now THAT'S a Christmas present :).

 

Merry Christmas!

Link to comment

Thanks for all of the kind words.

 

I should mention that this package does not include any of my experimental rigging tools (the automated BB weightpainter, the automated rigging tool)

 

I'll probably add them to the package next time I update them.

Link to comment

By all means, if there's a script out there that can negate my having to edit nif files in Nifskope beforehand to trick NifScripts for Blender into thinking I'm importing a Fallout 3 nif and then later after I export having to manually change a bunch of stuff that resulted due to using FO3 format nif import/export in Nifskope again, I'd love to hear about it.

http://www.nexusmods.com/skyrim/mods/49015/?

 

There is a file in bodyslide called NifCleaner.

 

 

NifCleaner can now also convert a Skyrim .nif file to a Blender compatible format.  The operation outlined above remains mostly the same, but it is not necessary to assign shaders to the mesh components.  Simply drag a Skyrim .nif file onto the exe in Windows Explorer, then click 'To Blender' and save the file.  It should now be ready to import into Blender.

 

Quoted from its readme.

Link to comment

I just wanted to chime in with a big thank you, thank you, thank you, thank you.

 

These scripts, especially the seam mender and more powerful bone weight copy, have been incredibly useful to me. I just started playing Fallout 3 again and there were a couple of old meshes left in there that I worked on but never came around to fully fix up and finish before moving on to newer games.

 

With these tools, I got all my things fixed and done in the time it would usually have taken me to partially fix one of the meshes. Particularly neck gaps always gave me nightmares because fixing them was such a tedious trial and error thing for me. I never realized that one reason for gaps appearing could be mismatching bone weights. These scripts have been such a blessing.

 

Thank you, thank you, thank you.

Link to comment

Ok, i tried so far the bone weight copy and the seam mender.
They're fucking amazing!
It makes converting armor for Skyrim sooo much easier and i've not even looked into the lattice generator.

Currently im trying to get the UV Copy script to work, but i'm running into some problems.

Nevertheless my utmost thanks for making these awesome scripts!

Are you by any change associated to Caliente and BodySlide / Object Studio? Since they offer functionalities much similar to your boneweight script.

If not, you might wanna look into it. Maybe you guys can cooperate and be even more awesome.

 

/Edit

 

Hot DAMN, i just got the seam-mended meshes into Skyrim and i have absolutely no Neck Seam anymore. Countless generations of modders tried to achieve that with texture editing, yet the secret lies in the mesh.

 

Its the holy grail!

Link to comment

Thanks for the kind words.

 

The UV copy script is experimental...it's...OK, but doesn't really do the job yet.  I have no association with Caliente.  The truth is, I really don't know much about the Skyrim modding scene.

 

However, I have started porting my Blender tools to a new stand-alone framework that allows them to directly modify nifs with no need for Blender.  Which means I'm learning a great deal about the internal structure of Skyrim nifs.

 

With that in mind, I have experimental betas stand-alone versions of the bone weight copy script and seam mender

 

http://www.loverslab.com/topic/24797-automatic-bone-copy-tool-skyrim-fallout-oblivion-beta05/

 

http://www.loverslab.com/topic/24392-all-new-seam-mender-12-30-2013/

 

The beta.5 version currently has the ability to completely rig a raw skyrim mesh (or even a folder of meshes) from a template.  The Beta.6 version, to be released soon, has the added option to actually strip and re-rig a mesh, which largely eliminates the need to import a nif into a 3d modeling program when porting between games. 

Link to comment

After almost going fucking INSANE about it i figured out that you need this:

http://home.comcast.net/~chronosphere/true-normals.htm

 

A modified executable that keeps Blender from recalculating normals on certain actions. Unless you mend seams as the very last step, blender will screw you up.

Read the webpage for more info.

 

Also, after importing a skeleton and parenting it to a mesh, blender creates an "armature parent deform" modifier. Click on "make real" and "apply" before you mend seams, otherwise the script wont work at all. I pulled my hair out over this...

Link to comment

Yep.  Good catch finding that.

 

A link to that download (also included in Room207's portable blender package) in the installation instructions in the second post in this thread.

 

*Unfortunately* I did hide the installation instructions behind a spoiler tag, so it doesn't exactly jump out.

 

>Also, after importing a skeleton and parenting it to a mesh, blender creates an "armature" modifier. Click on "make real" and "apply" before you mend seams, otherwise the script wont work at all. I pulled my hair out over this...

 

Hmm...I've not encountered this.  Next time I look at my Blender scripts I'll see if I can identify the cause.  For the moment, my coding efforts are mostly focused on porting my Blender tools to a stand-alone format.

 

*One* of the reasons that I have shifted my focus to stand-alone tools is that you can't truly mend seams from within Blender.  During the export process, the vertex locations are *slightly* moved.  This is fine when you export multiple meshes as a single object, but if your goal is to create an interchangeable invisible seam, the nif export process causes a small but annoying defect (Kudos to Room207 for both identifying this defect as well as helping to inspire the original creation of Seam Mender)

 

So, the stand-alone version of Seam mender will truly fix the physical seams.  Phase 2 of the project is complete.  Phase 3 will add Tri and EGM file support for seam mending, meaning that an end-user could batch convert every head mesh in their install folder to use a universal neck seam with a single click of a button.  I'll start Phase 3 development once I finish...hmm...needs a snazzy name...Mesh Rigger (the stand-alone version of my nif boneweight copy/skinning/rigging tool).

 

Phase 4 is intended to add .dds support, which will use procedural methods to combine mesh geometry, UV map data, and texture data to erase visible texture derived seams.  I haven't started inspecting dds files yet, so I don't know how feasible my idea will turn out to be, but I have high hopes that the final release of Seam Mender will end the plague of bad texture seams once and for all.

Link to comment

I'm trying to use this blend file to create a conversion lattice for the fallout Cali bodytype, but all my attempts end with the body getting mangled. Could someone take a look at this for me? Cheers (Rename the .txt file to a .blend file)

 

 

 

 

Link to comment

Post the Blend file.  It's difficult to tell from a lattice file what went wrong.

 

I'll try and add the Lattice Generator instructions today.

 

In the meantime, here are some general things to keep in mind.

 

In its most basic mode, the lattice generator uses weighted nearest neighbor searches.  This means that each vertex on your target mesh is going to look for its nearest neighbors on the template mesh.  When that vertex is moved by the lattice, it is moved either to the position of its nearest neighbor or a weighted average of the position of its neighbors (this is what search targets does)

 

Most of the time, you don't want that.  Instead, you want the tool to find non-obvious matches, such as matching breasts that are in different positions.

 

For that, there are several supplemental search options.  By far, the most powerful and reliable of these is the UV Search feature.  When enabled, the tool searches the UV map to help it find the best matches for each vertex.  As long as both the template and the target meshes use the same base texture and have good quality UV maps, you can generate a lattice that can accurately transform radically different meshes.

 

So, if you can, use the UV map.

 

What if the UV maps don't match, or are terrible?  Well...unfortunately that's where my crappier supplemental search algorithms come in.  The Vertex Group and the Edge Search.  These are vertex edge connectivity based, and kind of work, sometimes.  Mostly they are crap.  Don't use them unless you have to.

 

What other options are there?  Well there's search weighting.  This allows you to selectively weight the nearest neighbor searches along the X, Y, and Z axes, making distances for more or less along each axis.  It's a feature that is mostly useful for copying boneweights to skirts and things like that, but it has its occasional use with the lattice generator.

 

Most of the other options change the behavior of the lattice, rather than directly affecting the quality of the lattice.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use