gerra6 Posted March 3, 2014 Posted March 3, 2014 The most important factor is to ensure that all of the meshes that you want to merge are rigged using exactly the same skeleton. For good measure, make sure that the skeleton you are using to rig the meshes is the same one that people using your mod are likely to have. Unfortunately, Skyrim is plagued by a multitude of mutually incompatible skeletons, each with different bone bind positions. Because of this, if you run a mesh rigged with one skeleton in a game using a different skeleton, you get mesh distortion. In the case of the schlongs, the different bind positions of the penis bones shifts the schlong all over the place.
b3lisario Posted March 3, 2014 Posted March 3, 2014 SOS animations reposition the genital bones. Delete the BGED node from the penis meshes.
Guest GuyWhoAbruptlyDisappeared Posted March 3, 2014 Posted March 3, 2014 Uhh, I might be wasting your time here, but I have been adjusting positions of animated meshes and such for a while now in NIFskope. I had the same problem you did - changing the position did nothing in-game. I was trying to change the position of the plugs from DD so that they would fit the dream girl, which has a larger, more human pelvis than the other bodies. I found that if I try to translate the entire thing, nothing happens, but if I change the translation for each trishape data instead of the scene location, it works great.
Fredas Posted March 4, 2014 Author Posted March 4, 2014 SOS animations reposition the genital bones. Delete the BGED node from the penis meshes. Thank you for the suggestion. This does two things. 1: Neutralize the position of the schlong, probably permitting the kind of positional control I seek (I did not investigate). 2: Eliminate the function of the erect slider, forcing the schlong to be at neutral erectness (same as mesh) regardless of cues from scripts or Race Menu. Perhaps obviously, this is not the final result I am hoping to arrive at. ;p Although I still do not fully comprehend the inner-workings of how the game treats the schlong with regard to bone and mesh position, I can at least offer some better elaboration of the problem. SOS / SOS UNP both come with a certain schlong model - let's call it "M". Equipable Schlong comes with both M and a second model I'll call "F". In-game, M is a close match for my body (CBBE-based) but still has a slight gap. F by default hovers a few inches away from the body. This difference is caused by the apparent fact that F was rigged to a skeleton that had its schlong bones too low - possibly related to this problem being discussed regarding Groovtama's skeleton. If I import F into Outfit Studio, using a corrected XPMS skeleton as the base, and move the vertices of the mesh to the CBBE-compliant location suggested by Outfit Studio, this fixes the bones (makes them identical to the bones in M), and the position of the schlong in-game is better, though still about a centimeter outside the body. In all three cases - M default, F unmodified, F modified as above - there is absolutely nothing anomalous about how the schlong actually looks when transitioning between flaccid and erect. So what is the solution to the fact that both schlongs still aren't positioned correctly? Unfortunately, moving the mesh's vertices in Outfit Studio to anything besides the CBBE-compliant spot (or just leaving F where it started, which corresponded to the badly-positioned bones) results in the schlong being off-kilter in-game; transitioning between flaccid and erect causes length distortions and the rotational axis is no longer where it should be. What it seems like is the only way to move the schlong to an agreeable position without distortions is to modify the actual skeleton used by Outfit Studio as a reference, tweaking the positions of the schlong bones themselves, so that when I import the schlong, Outfit Studio will superimpose the new (artificial) bone positions on the schlong's bones and I can adjust the mesh position accordingly. Even if this would actually work, there has got to be a better way.
nooblet123 Posted March 4, 2014 Posted March 4, 2014 You need to APPLY TRANSFORMATION for everything that you move/scale in nifskope... ........ ................ .............................................
Fredas Posted March 4, 2014 Author Posted March 4, 2014 You need to APPLY TRANSFORMATION for everything that you move/scale in nifskope... ........ ................ ............................................. Thanks. That does actually answer the question in the title of the thread. Unfortunately this problem has transcended that simple issue. I can move the mesh about with either Outfit Studio or "apply transformation" in NifSkope as you suggest. Both give the same result: Any deviation in mesh position from the skeleton rigging set up either in the unmodified schlongs or Outfit Studio's output (see previous post) causes length and rotational distortions in-game.
hryh23k9823u Posted March 4, 2014 Posted March 4, 2014 Hey Fredas, why don't increase a little the underbelly to eliminate the gap? Just a slight touch with outfit studio, you know.
Fredas Posted March 4, 2014 Author Posted March 4, 2014 Hey Fredas, why don't increase a little the underbelly to eliminate the gap? Just a slight touch with outfit studio, you know. Couple of reasons, the pertinent one being that it's a cop-out. Basically admitting defeat and settling for a fix that is not satisfactory. But aside from that, the new position of schlong F after exporting from Outfit Studio is actually more than just a little off the body. Yes, it's no longer 2 or 3 inches off, but it's still about a centimeter. If I morphed the belly to hide that, my character would look like she has a deformation down there.
nooblet123 Posted March 4, 2014 Posted March 4, 2014 You need to APPLY TRANSFORMATION for everything that you move/scale in nifskope... ........ ................ ............................................. Thanks. That does actually answer the question in the title of the thread. Unfortunately this problem has transcended that simple issue. I can move the mesh about with either Outfit Studio or "apply transformation" in NifSkope as you suggest. Both give the same result: Any deviation in mesh position from the skeleton rigging set up either in the unmodified schlongs or Outfit Studio's output (see previous post) causes length and rotational distortions in-game. Then you need to rePAINt weights for it. If you skin it to pelvis only it might work if it's not too long
Fredas Posted March 4, 2014 Author Posted March 4, 2014 Then you need to rePAINt weights for it. If you skin it to pelvis only it might work if it's not too long Man, I wouldn't even know where to begin. I'm going to hinge my hopes on my recent discovery of this thread, wherein the concept of per-race offset files seems to have been conceived. Those files exist in SOS as SOSOffset.hkx files. It sounds compellingly like they exist solely to account for the differences in body nif shape, while using the same exact schlong nif. If that is the case, then presumably those files can be tweaked. As it stands, though, I don't possess the tools / knowledge to even take a look at .hkx files, so I'm hoping the folks involved in their creation can step in. I've managed to crack open those hkx files. Unfortunately, the data which may or may not be responsible for the schlong's offset amounts to at least 18 separate variables among a giant list of some 154. So that's out. I know it is possible to get the schlong offset to where I want, without distortions, through the mesh itself. I know this, because that is exactly what the "F" schlong does. It may hover three inches out of place, but its flaccid / erect transition is completely fine! My efforts to reproduce this success have been entirely in vain, though.
Fredas Posted March 4, 2014 Author Posted March 4, 2014 (Possible solution on hold. May have been premature.)
JohnHead444 Posted March 4, 2014 Posted March 4, 2014 Moving bones in blender or any other program is a big job. You would need to for blender as a example. Move the skeleton penis bones. OK easy enough so far. Then once your settle with that you have to export the bone and the mesh in one nif file. Then export the bones without the mesh to get the bone set up as they would be in the skeleton .nif. Then you need to copy and paste all the bones out of each nif file into the nif that you are using and delete out the current ones. Also making sure all the bones pasted are name exactly the way they where in the exported nif file. Once all that's done now you need to open up the hkx skeleton in xml format. Scroll down to where you see .... <hkparam name="referencePose" numelements="120"> (0.000000 -0.000000 -0.000000)(0.000000 -0.000000 0.000000 1.000000)(1.000000 1.000000 1.000000) (-0.000000 -0.000000 -2.000000)(-0.000000 0.000000 0.000000 1.000000)(1.000000 1.000000 1.000000) All these need to be changed to the new positioning that you moved the bones to. so you would need to find out which ones are the position for the bones you moved. Then change them to the new positions. Now in the skeleton.nif at the top click on view and turn on inspect. A new window will pop up and click show local transform on to get the right measurements. The first at the top XYZ are for the first 3 positions. Every thing under Quaternion rotation are for the next for positions. The trick is the first one W is actually the last one you put in. so you would start at X. Any way I'm just trying to tell you how much is involved with just trying to move even one bone and have it work. BUT! There is another solution that's pretty easy and might work for you. Open up the skeleton.nif and right click on the pelvis bone or any bone actually. And go down to block and insert then scroll down to NINode. Once you have your New NiNode copy and paste all the penis bones to this node. Then delete the penis bones you just copied. Then copy the new NiNode and paste it to the pelvis. Then you can move the NiNode around and it will change in game. Dont apply or any thing after moving it though. just move it to where you want it and save. Done! I don't no much about sos so this may or may not work. Hope I didn't come off as a dick and hope this helps.
Fredas Posted March 4, 2014 Author Posted March 4, 2014 BUT! There is another solution that's pretty easy and might work for you. Open up the skeleton.nif and right click on the pelvis bone or any bone actually. And go down to block and insert then scroll down to NINode. Once you have your New NiNode copy and paste all the penis bones to this node. Then delete the penis bones you just copied. Then copy the new NiNode and paste it to the pelvis. Then you can move the NiNode around and it will change in game. Dont apply or any thing after moving it though. just move it to where you want it and save. Done! I don't no much about sos so this may or may not work. Hope I didn't come off as a dick and hope this helps. Hey, thanks for taking the time to help a guy out. In the end, I think I have hit upon a solution that seems to be working. It is a terrible, terrible kludge, and is going to require a lot of back and forth to get the right tweaking (nothing that can be done accurately from within NifSkope for example), but at this point I am beyond seeking elegant solutions and will take what I can get so I can move on. (Been in that position a number of times over the last few months, come to think of it.) My process actually shares some similarities with what you suggest. Edit Bodyslide's skeleton: Make an adjustment to the Schlong node. Let's say Y -> +5. Load schlong* mesh up in Outfit Studio. Move vertices with the same value. (Y -> +5) Export. The final trick is to replace the skeleton used for one's character with the modified skeleton. And that's it. A displaced schlong that Skyrim and SOS like, without distortions. Be sure to swap Bodyslide's skeleton back to what it was before being modified. *"Schlong" in this case is case sensitive and depends on its bones having been in the same position as the skeleton's prior to having modified the skeleton. I hit upon this dumb idea yesterday but felt it was so stupid that it either wouldn't work or didn't deserve to work. It means using a skeleton that has its schlong bones out of position. I have yet to see if this has any negative effects beyond merely functioning as a Havok object and as something animated by SOS, but those two things, at least, seem to work fine. Knock on wood. I'll finalize my tweaking once I'm no longer mentally exhausted. ;p
b3lisario Posted March 4, 2014 Posted March 4, 2014 Hi again, I rescued some info from the mailbox. These were the steps I took to adapt the penis to the female skeleton and UNP body mesh. At the end VectorPlexus edited the SOS animations. 1. adjust the skeleton in nifskope Here I pasted the bones from SOS male skeleton to a female one, and moved (via translation property) the genitals base bone (y = 1.5, z = -1) 2. load the skeleton, body and penish meshes in 3ds max 3. remove the skin modifier from penis 4. move the penis closer to the body (up and back). Now the genitals bone are inside the penis mesh 5. skinwrap as normal to get the pelvis and thights weights on the penis mesh 6. then I import the original mesh, and copy the weights of penis bones, but not the genitals base, as I plan to weight paint the base area of the mesh, near the pelvis and thigh weights 7. refine weights by scaling / rotating some bones and seeing what the reaction is Here we figured out there was an issue with the animations. The base of penis was attached to the body and the rest was following the genital bones to the male position, related to the pelvis bone. Disabling SOS animations made the penis go in place. VectorPlexus kindly did an "offset" hkx file to adapt the animations for the female skeleton (and later for vampire lord and werewolf as he had planned to do) If the body mesh you are using is more similar to the UNP mesh than to the SOS mesh, consider using the female files (mesh and havok files)
Guest Posted March 4, 2014 Posted March 4, 2014 one more easy solution, penisroot bone weighted to hip, and the rest goes to nilagbone, it will move naturally along the body movements, any additinal erection u need to animate yourself since lagbone only behaves like a ragdoll matter of speaking(perfect for balls)
Fredas Posted March 4, 2014 Author Posted March 4, 2014 one more easy solution, penisroot bone weighted to hip, and the rest goes to nilagbone, it will move naturally along the body movements This sounds like the process I outlined in my last post. There's a little more involved in getting it to work, but yes, this is the one. B3lisario's directions point the way to the elegant solution that would eliminate the need to modify the character skeleton - a solution which would be very much needed, were I interested in including this modification as part of a mod, but finetuning the schlong position is a process that would be different for everyone, so strictly speaking this was a personal project. (Conceivably, though, a set of sliders in RaceMenu for making such adjustments would probably be well-received, assuming it's even technically possible given the concerns over mesh weighting.) His directions are also rather above and beyond my capabilities. I'm happy with my three-minute process. any additinal erection u need to animate yourself since lagbone only behaves like a ragdoll matter of speaking(perfect for balls) Speaking of the scrotum, I have noticed that the ragdoll physics on it has a tendency to shut off just as it does for the schlong portion of the mesh. This can be observed during the crouching idle; as the character subtly sways back and forth, the scrotum swings accordingly, but at a certain point it stops dead, before resuming. Likely it was mistakenly assigned the same Havok characteristics as the schlong portion.
Guest Posted March 4, 2014 Posted March 4, 2014 last part Speaking of the scrotum, here u prolly need a a collision so the balls dont get sucked into any other part pf body, like hips thigts or whatever, so its not an easy solution cus it wont fix clipping without collision detection, also, if character sit down the "parts needs to sink down to" so collision to penis aswell or it will clip and it get real ugly "having my husband being model as of speak " lol one more easy solution, penisroot bone weighted to hip, and the rest goes to nilagbone, it will move naturally along the body movements This sounds like the process I outlined in my last post. There's a little more involved in getting it to work, but yes, this is the one. B3lisario's directions point the way to the elegant solution that would eliminate the need to modify the character skeleton - a solution which would be very much needed, were I interested in including this modification as part of a mod, but finetuning the schlong position is a process that would be different for everyone, so strictly speaking this was a personal project. (Conceivably, though, a set of sliders in RaceMenu for making such adjustments would probably be well-received, assuming it's even technically possible given the concerns over mesh weighting.) His directions are also rather above and beyond my capabilities. I'm happy with my three-minute process. any additinal erection u need to animate yourself since lagbone only behaves like a ragdoll matter of speaking(perfect for balls) Speaking of the scrotum, I have noticed that the ragdoll physics on it has a tendency to shut off just as it does for the schlong portion of the mesh. This can be observed during the crouching idle; as the character subtly sways back and forth, the scrotum swings accordingly, but at a certain point it stops dead, before resuming. Likely it was mistakenly assigned the same Havok characteristics as the schlong portion.
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