gerra6 Posted October 2, 2012 Posted October 2, 2012 This is a bit geeky, but it's pretty damn awesome. One of the big problems with Blender is that there is no way to modify vertex normals. Most of the time, this is just fine, but every so often, manually setting these normals allows you to do some very fun things. For example: http://wiki.polycount.com/VertexNormal#Foliage_Shading and: http://wypierpapier.blogspot.com/2010/02/vertex-normal-tutorial.html OK. So what does Blender do? Well, every chance it gets, it recalculates those normals. So not only is there no way to set the vertex normals, even if you could set them Blender would just recalculate them. Fortunately, a fellow named Anthony D'Agostino created a patch for Blender 2.49b that prevents Blender from automatically recalculating normals Get it here: http://home.comcast.net/~chronosphere/true-normals.htm That gets us half way. To get us the rest of the way I wrote a script that copies vertex normals from one mesh to another. The script copies normals from selected vertices on the source object to selected vertices on the destination object(s) that match location within .001 x, y, and z. This allows you to modify normals in a reference mesh and then copy those normals to a destination mesh. Here's how: 1. Create a new object. This object can be any shape at all. It must possess two characteristics. 1.a. It must have manipulable vertices 2.b. Those manipulable vertices must occupy the same location as the vertices that you wish to modify 3. Manipulate the normals on those vertices 4. Run the normals copy script 5. Export the nif I have attached a sample workspace showing what I mean. It is just a proof of concept to give you ideas. I created a 5 vertex square, made duplicates, and then snapped them onto the vertices that I wanted to modify. I use constrained rotation transforms (rx, ry, rz) to manipulate the normals into the desired orientation. A modified version of the niftools import script is also included in the package (thanks to the help from the good folks in the niftools irc channel) that gives the option to preserve modified normals when you import them into Blender. So, why did I do all of this? Well, making seams truly invisible has been a nightmare, particularly if the seams in question are interchangeable body parts. The seams in the current version of Setbody Reloaded, for example, are pretty crappy. Now that I can control vertex normals, I can make the mesh seam between any meshes completely invisible (texture differences will remain, of course), no matter how different the geometry. Look for the results in the 1.20 Setbody Reloaded release, coming soon.
gregathit Posted October 2, 2012 Posted October 2, 2012 You just keep pouring on the WoW factor! Thanks.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.