Jump to content

Editing mesh position in Nifskope produces NO change?


Recommended Posts

Posted

I'm currently trying to align one of the SOS schlongs to my character's body.  Figured at the very least, I could just modify the schlong's position in Nifskope, see how I did, and repeat the process until the result was good.

 

What's making me draw a blank here is that no matter what change I make to the mesh's position, the in-game position remains identical, as though I hadn't changed anything.  I've tried repositioning the main NiNode.  I've tried repositioning the NiTriShape.  I have even repositioned every single node in the .nif manually.

 

See, this sort of thing has worked just fine for me in the past.  Reposition a mesh, and in-game its position is updated to reflect my changes.  For example I did this to force some New Vegas glasses to fit my char's head perfectly.  I literally don't have a single clue why this is not working.  I already confirmed that the mesh I'm editing is the one the game's using for the in-game schlong (by replacing it with a different mesh and noting that the in-game schlong was correspondingly different).

 

The only curiosity is that the one time I successfully managed to get both meshes in the same instance of NifSkope (eternally difficult because apparently NifSkope doesn't like certain things about Skyrim meshes), the body and schlong actually lined up quite agreeably.  In-game, however, the schlong actually hovers about two inches off the body.

 

I'll take anything on this.  At my wit's end. ;p

 

Posted

Here is the problem fallout New Vegas has only 1 nif file for outfits and stuff while skyrim has *2* nif files for almost all things what you do to one nif has to be done to the 2nd one as well or it will not change in game.

 

When changing a position there is only so much you can do without screwing up the mesh rigging. For translation you only use Y and Z if you use X for translation or Y P and R for rotation to adjust something it will screw up the mesh rigging and it will appear incorrectly in game or not at all unless you fix the mesh rigging. 

 

 

Posted

Here is the problem fallout New Vegas has only 1 nif file for outfits and stuff while skyrim has *2* nif files for almost all things what you do to one nif has to be done to the 2nd one as well or it will not change in game.

 

I probably should have mentioned that I am in fact making the changes to both .nif files.

 

When changing a position there is only so much you can do without screwing up the mesh rigging. For translation you only use Y and Z if you use X for translation or Y P and R for rotation to adjust something it will screw up the mesh rigging and it will appear incorrectly in game or not at all unless you fix the mesh rigging. 

 

Conveniently, the kind of adjustment I am trying to make only requires modifications of those two axes.  Again, though, I'd be happy at this point seeing any change to the mesh in-game.  I've done some crazy edits to the mesh's position and seeing zero change makes me feel like I'm in the Twilight Zone.

Posted

In my infinite ignorance, I'd say that the offset is somewhat just some kind of internal reference in nifskope and that you would need to actually move the vertices somehow. And how you do that?

 

I don't know :)

Posted

This just doesn't work with Skyrim.

 

I've had success moving a hat a few units higher using Bodyslide 2's Outfit Studio's Move Vertices function, using a project that only has an Outfit nif loaded and no reference, so perhaps you could try that?

Posted

I've had success moving a hat a few units higher using Bodyslide 2's Outfit Studio's Move Vertices function, using a project that only has an Outfit nif loaded and no reference, so perhaps you could try that?

 

I gave that a shot.  Outfit Studio did not reposition the additional nodes (related to the schlong's sliders) when I moved the vertices.  Its export gave the NiNode a new name ("[scene Root]").  Correcting that was not enough to prevent the mesh from causing an instant CTD in the game.  Still, this seems to be the way to do it, if an expert could offer insight as to why Outfit Studio's nif export is producing an unusable mesh.

 

Posted

i had an experience like this once with a mesh from oblivion  no matter what    nifskope only took the nitrishapdata with original position

-some time apply change works but no garanties

-some time save with change than open the saved one remove the the meshe than copy and past from one to another and save again  no garantie neither

 

-the best solution is to load the file in blender/3dsmax to make the change

Posted

Jeez.  I want to howl at the moon over how frustrating this is. ;p  All I want to do is tweak the position of a mesh.  I even already did this with a Skyrim in-game object, using NifSkope, and it worked fine!  :[

 

Here are my observations over what happens when I: 1) Use Outfit Studio to Import a .nif into an otherwise empty project, 2) move the vertices of said object, 3) export it, and 4) compare the result in NifSkope with the original.

 

1: When importing, as Lother says, Outfit Studio complains about unrecognized bones.

2: When moving the vertices, Outfit Studio gives two options: Either base the movement upon CBBE's default position, or specify a custom repositioning.  In the latter case, by default Outfit Studio helpfully puts in values which correspond, again, to CBBE's default position.  And as it turns out, this suggested new position seems to agree very well with the actual repositioning that is needed to get the schlong to fit my character (which is based on CBBE).

3: Exporting produces no errors or notifications of any kind.

4: In NifSkope, there are significant differences.  First, the schlong is successfully repositioned.  Second, the extra nodes, corresponding to the bones, are not repositioned.  Third, the name of the NiNode has been changed to [scene Root].  Fourth, and possibly important, the "Translation" variable of the NiTriShape for the schlong has been changed from "X:-0.0000, Y:4.5784, Z:62.4135" to "X:0, Y:0, Z:0", so that while originally there used to be a white vector extending from 0,0,0 to the middle of the schlong, now that white vector is reduced to a single point at 0,0,0, but the schlong is nonetheless positioned where it should be.  (Which is a position corresponding to the CBBE-based reposition performed in Outfit Studio - approximately 0.0, 2.0484, 65.6935.)

 

Posted

And how about that: open the original schlong in nifskope, click on the shape, and import / replace it with the shape from your exported nif from outfit studio.

That could work?

Posted

And how about that: open the original schlong in nifskope, click on the shape, and import / replace it with the shape from your exported nif from outfit studio.

That could work?

 

Neg.  Removing the original branch and pasting in the one generated by Outfit Studio did work, and did seem to produce a result pretty much identical to what Outfit Studio exported.  But then, if it's identical, it still isn't going to work.  (And doesn't.)

 

-the best solution is to load the file in blender/3dsmax to make the change

 

I've been trying.  Much as I detest the hopeless processes involved in migrating Skyrim objects to and from Blender, I have been trying.  Right off the bat, Blender doesn't like a property unique to this schlong object ("BSBehaviorGraphExtraData").  I can remove it and make Blender happy, but then what?  Just paste it back in once I'm done?  Somehow I have a feeling that there are intra-property references that will then need correcting, and that kind of esoteric knowledge is not only beyond me but also absent from any Skyrim Blender import/export tutorial.

 

Posted

there is no magic in this process just a pain in the ...    once you made the nif file compatible to blender and load it    you easily selecte the schlong go to 'edit mode' and adjust the position to your liking  nothing else is needed as it is already painted and rigged than you export and do the revert process to adapt it to skyrim

 

   you can even put the schlong in head position (just do not forget the weight paint fot it and bone rigging)

 

for the graphic extra data i do not know !   you need to try and see   normaly you can past it back as you did not change anything else   but sometime it can get complicated !

Posted

Change the reference skeleton in Outfit Studio from the default bugged xpms skeleton it came with to a more updated XPMS skelly or XPMSE (groovtama) skelly.

 

That should fix any and all missing bones when importing meshes into OS

 

But if you want to change the bone position, OS cannot do that. As suggested you'd need to play around with using 3DSMax/Blender to get it working.

Posted

But if you want to change the bone position, OS cannot do that. As suggested you'd need to play around with using 3DSMax/Blender to get it working.

 

I have made some modest progress on that front.  Through the use of three separate tutorials and a handful of "why isn't this working?" threads, I can produce a mesh that does not CTD.  Where I am currently stuck is the fact that Blender's .nif export is increasing the number of vertices from 696 to 3840.  It is also changing the "Has Normals" flag but I'll deal with that later.  Right now, Blender quintupling the vertex count is probably the reason why the in-game object is completely invisible.

 

And unlike with most "what gives?" problems I've encountered, this one doesn't seem to have a solution, or even really a known cause.

 

Posted

hmm,

 

I can't help you with blender stuff (I tried the program didn't like it too much and switched to 3dsmax)

 

What you could try to do though, is edit the skeleton_female.nif in Blender and export as 'skeleton' only

Then try using that skeleton as your reference in OS, load up the schlong and move the mesh.

 

I seriously dunno if the above would work and considering how much of a hassle it can be, probably save it for a last resort if you can't figure out the blender problems.

Posted

Are you trying to re-position all the schlongs?

 

If so why not just move the schlong bones of the skeleton themselves in nifskope?

Posted

I went back to blabba's suggestion of replacing the skeleton in BodySlide so it wouldn't complain, after recognizing that it was not in fact exporting the bones it complained about.  Even though the resulting export still repositions the translation to 0,0,0, I guess the game doesn't care, because it worked like a charm.

 

So I shall construct a prayer altar to blabba, my new deity.  And Blender and all its kludgy baggage can go retire. ;p

 

Now if I can import my character's body into Outfit Studio simultaneously so the repositioning stops being a guessing game, that'd be particularly convenient.  Going to see about it now.

 

Posted

Mesh Rigger has a fairly involved algorithm designed to correctly reposition re-rigged nifs. It was...shockingly difficult to implement.

 

Now that it's done I can fairly easily adapt the Mesh Rigger code to allow you to reposition geometry blocks at will within a given nif, if there is demand for that sort of tool.

 

The most straightforward approach would be to allow you to set scale, rot, and translation transformations and apply them to a geometry block. The tool would then apply those transformations to modify the positions of individual vertices within the block.

 

One thing to note about mesh positioning...the actual position of a given mesh depends on the transformations of the bones that it is rigged with. So, any time you change the bones or rigging of a given nif, the tool adjusting that rigging needs to accurately keep track of those changes and adjust the vertex positions accordingly. Mesh Rigger can do this...I'm not sure if other tools handle the adjustment between different rigs or not.

Posted

Now that it's done I can fairly easily adapt the Mesh Rigger code to allow you to reposition geometry blocks at will within a given nif, if there is demand for that sort of tool.

 

Thanks for allowing that I might be experienced enough to follow everything you said. ;p  Anyway, this particular function seems to be essentially absent as an option, at least in terms of practicality.  Producing a result with Blender is a touchy, lengthy, complicated process, for example.

 

My latest issue is that Outfit Studio is not repositioning the L Thigh, Pelvis and R Thigh bones along with the mesh and the other bones.  I did note this anomaly from within NifSkope but figured it came down to something I simply didn't understand about how such things interact in the game itself.  But it seems this is in fact a problem, because the in-game result is that the flaccid-to-erect sequence causes the schlong to change dimensions, shortening at the halfway point for example, rather than maintaining a natural-looking length for the entire transition as it normally would have.

 

I don't suppose anyone knows what I might try to force Outfit Studio to modify the above bones along with the rest?

 

Edit: Actually, the problems with the schlong in-game may be related to more than just the pelvis / thigh bones.  Take a look:

 

schlong_before_and_after.jpg

 

Outfit Studio is repositioning the schlong bones, but it seems to be doing so incompletely, like only halfway between the original and final position of the mesh.  Typically, the inexplicable nature of this problem basically means I'm at a brick wall until someone who knows what's going on can offer some insight.

 

Posted

I don't know anything about Outfit Studio. That said, it sounds like OS is using a different skeleton than the one that the schlong was originally rigged with. My guess is that OS does not compensate for differences in bone bind position when it does whatever it does, which would explain why you are getting the repositioning errors. Determining and Setting mesh location in a nif file is an incredibly complex affair...essentially you have to virtually render the entire geometry object... which means calculating the full transformation for every single vertex in the nif, which in turn means calculating the composite relative transformation matrices for every bone and geometry object and then calculating the bone influence on a vertex by vertex basis...it's gets ugly, particularly when trying to switch from one skeleton to another.

 

So, one thing you can do is take advantage of Mesh Rigger's ability to re-rig a nif with a different skeleton.

 

Run Mesh Rigger

Select the schlong nif as both your template and target nif.

Select whatever skeleton Outfit Studio prefers as your template skeleton

Set the vertex targets to 1 (we just want to re-rig the nif, not change the weightpainting)

Enable 'Delete Existing Rigging'. Disable all other options.

 

If all goes well, the tool will run, re-rig the nif using the new skeleton, and update the vertex locs, skinning, and bone binds so that the nif retains exactly the same in-game position with the new rig as the old.

 

Hopefully that should allow you to do whatever you were planning on doing with the nif in OS.

 

I should also mention seam mender. If the mesh is nearly in the right position, but not quite, you should be able to use Seam Mender to automatically mend the seam where the schlong meets the body.

Posted

Thanks for the suggestion.  I gave it a whirl.  There were some errors given during the process, and the result was just a little weird. ;p  The bones and mesh were repositioned and even scaled in indecipherable ways, resulting among other things in a slight distortion to the mesh.  But tellingly, the positions of the pelvic bones stayed put.  So maybe if there is anything that can be done to correct the problem with Outfit Studio, it may involve finding some other skeleton that doesn't tell apps to leave pelvic bones alone.

 

... Fun part about this whole business is that if I import both the body and the schlong into any of these apps - NifSkope, Blender or Outfit Studio - the two parts line up quite well indeed without me doing anything.  Something in the game is causing the schlong to wind up hovering a couple of inches out of place.  How in the world does anyone ever make use of this schlong in the first place?

 

Posted

The issue is probably that the mesh is rigged with bones in different bind positions. When the mesh is loaded into Skyrim, those bones are returned to the bind positions of the in-game skeleton, which causes the equivalent inverse transformations to be applied to the nif.

 

Send me the files, I'll take a look and see if I can update my tool to compensate for whatever is going on when you try and re-rig the mesh.

Posted

 

Today's a bust but tomorrow I'll study the CBBE version to see if it can help me figure out how I might successfully reposition the mesh in a way that Skyrim likes.  See, the default schlong used in Equipable and UNP actually does fit CBBE fairly well.  However, there is still a tiny gap.  And besides that, I have my own ideas about how the schlong should actually fit.  So even if the CBBE version does work great, I'll still want to tweak its position anyway.

 

Incidentally, I eventually determined that the reason Outfit Studio seems to just invent positions for all the schlong bones is because it's not actually moving them at all; it's grabbing their positions from the skeleton associated with BodySlide.  This produces a mesh with misaligned bones, and as far as I can tell, there is nothing one can do in Outfit Studio to force it to actually make the right adjustments.

 

Anyway thanks for the suggestion.  I'd forgotten all about the other version. ;p

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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