Jump to content

Help with .nif editing


Naetholix

Recommended Posts

Hey guys!

 

I've been around on this site for a long time, and this is my first post. Hello to all the great people here! I really appreciate all the hard work people have done in this modding community. :)

 

My question is for people who know a thing or two about editing meshes.

 

My dilemma is that I love Brevi's Moonlight Tales skins, but I also love the werewolf canine penis in the Adult Real Werewolves mod. I want to combine the best of both worlds by editing the mesh in BMT to add just the genitalia from ARW. The werewolf skins in BMT are just too damn beautiful to be without after you've seen them. :P

 

I was successful in this, somewhat. I copied the branches from the ARW "MaleBodyWereWolf.NIF" and pasted them into BMT's "Werewolf_TheHowling_Glow.nif" (after saving backups of course!) I updated the texture links and copied the texture files over from ARW folder to the BMT texture folder.

 

I am able to occasionally make it work, as proven in the screenshots I am posting.

 

The problem I have: I frequently get CTD immediately after the werewolf transformation sequence, when it finally slaps the new werewolf skin onto the player. I can get the transformation to happen correctly sometimes if I switch the skin in the MCM to any skin other than the one I've modified, transform, revert back to my Agonian, switch back to the Howling, and transform again.

 

I'm wondering why it works sometimes, but only if I use this roundabout method of skin-swapping in-game. Even with that, I'll still sometimes get a CTD right at the end of the transformation. It seems to only work when it wants to.

 

I never have any problems when I replace the .nif with the original file. The mods themselves are working flawlessly. It only happens when I make changes to the .nif after adding the two branches which include the canine genitals data.

Are there extra steps I can take in Nifskope to make the .nif more stable? Have I missed anything?

I can upload my modified .nif on request if you want to take a look at it.

 

Modified .nif is here: https://www.dropbox.com/s/z74sfnmp7ti0cy5/Werewolf_TheHowling_Glow.nif?dl=0

 

POST SOLUTION EDIT

 

The above Dropbox link is a working file (on my setup), thanks to theFirstHeretic for making tweaks and helping me make further adjustments to get it working.

 

NOTE - if you want to try it out for yourself, you need to have the appropriate .dds textures from Adult Real Werewolves placed in the MNT Textures\Actors\Character\Werewolf\MoonlightTales folder.

I'm using Mod Organizer, so my meshes/textures folders are in Steamapps\Skyrim\ModOrganizer\Moonlight Tales - Werewolf and Werebear Overhaul\

 

The original skin credits go to:

 

Thanks for taking the time to read this.

post-762454-0-04963000-1478656311_thumb.jpg

post-762454-0-48137300-1478656326_thumb.jpg

post-762454-0-58436400-1478656384_thumb.jpg

Link to comment

attachicon.gifWerewolf_TheHowling_Glow.nif

Check if this works.

Oh and don't give the full texture path in the BSShaderTextureSet. This works for you but only for you... always begin from the textures folder like this: "textures\actors\character\werewolf\moonlighttales\werewolf_animalpenis.dds"

Hey, thanks! I'll give this a shot when I get home from work.

 

Could you run me through what you changed? I might not notice it right away. I only just started playing with .nif files literally yesterday. Haha.

Link to comment

So I loaded your mesh and it's the same result. I get a CTD at the very moment the transformation finishes and the new skin is applied. Again, I can sometimes work around it by transforming into the vanilla skin, reverting back, selecting the modified skin, and transforming again.

 

I realize I've embarked into new territory with editing .nif files, but conventional troubleshooting makes me wonder why this causes a CTD when all I've done is add branches to the mesh. My texture links check-out, so it's not trying to skin it with something that isn't there. And the fact that it works sometimes but not others is somewhat confusing. There must be other variables at play here.

 

Could this be a skeleton issue?

 

Here are the last few lines of my Papyrus log. I believe these are the last few seconds just before the crash.

 

 

[ (1) on (00000000)].FNIS_aaNPCLoad.OnUpdate() - "FNIS_aaNPCLoad.psc" Line 26
[11/09/2016 - 06:03:43AM] ERROR: Cannot call bConvDataReady() on a None object, aborting function call
stack:
[ (1) on (00000000)].FNIS_aaNPCLoad.OnUpdate() - "FNIS_aaNPCLoad.psc" Line 26
[11/09/2016 - 06:03:43AM] ERROR: Unable to call GetReference - no native object bound to the script object, or object is of incorrect type
stack:
[ (1) on (00000000)].SwapJobAliasScript.GetReference() - "" Line ?
[ (1) on (00000000)].SwapJobAliasScript.OnUpdate() - "SwapJobAliasScript.psc" Line 35
[11/09/2016 - 06:03:43AM] warning: Assigning None to a non-object variable named "::temp5"
stack:
[ (1) on (00000000)].FNIS_aaNPCLoad.OnUpdate() - "FNIS_aaNPCLoad.psc" Line 26
[11/09/2016 - 06:03:44AM] ERROR: Unable to call UnregisterForAllModEvents - no native object bound to the script object, or object is of incorrect type
stack:
[None].XPMSEWeaponStyleScaleEffect.UnregisterForAllModEvents() - "" Line ?
[None].XPMSEWeaponStyleScaleEffect.Unregister() - "XPMSEWeaponStyleScaleEffect.psc" Line 380
[None].XPMSEWeaponStyleScaleEffect.OnUnload() - "XPMSEWeaponStyleScaleEffect.psc" Line ?
[11/09/2016 - 06:03:44AM] ERROR: Unable to call UnregisterForCameraState - no native object bound to the script object, or object is of incorrect type
stack:
[None].XPMSEWeaponStyleScaleEffect.UnregisterForCameraState() - "" Line ?
[None].XPMSEWeaponStyleScaleEffect.Unregister() - "XPMSEWeaponStyleScaleEffect.psc" Line 382
[None].XPMSEWeaponStyleScaleEffect.OnUnload() - "XPMSEWeaponStyleScaleEffect.psc" Line ?

 

Link to comment

So I loaded your mesh and it's the same result. I get a CTD at the very moment the transformation finishes and the new skin is applied. Again, I can sometimes work around it by transforming into the vanilla skin, reverting back, selecting the modified skin, and transforming again.

 

I realize I've embarked into new territory with editing .nif files, but conventional troubleshooting makes me wonder why this causes a CTD when all I've done is add branches to the mesh. My texture links check-out, so it's not trying to skin it with something that isn't there. And the fact that it works sometimes but not others is somewhat confusing. There must be other variables at play here.

 

Could this be a skeleton issue?

 

 

Have you tried both bodies you merged and checked if anyone of those causes a CTD on its own sometimes? The only difference between the nitrishapes you added and the ones that already were inside the nif are settings in the BSLightingShaderProperty. You might want to copy a BSLightingShaderProperty from one of the original shapes, paste it to the penis shape and change the textures paths. Apart from that, the nif looks fine.

The thing I changed was converting NiSkinInstances in the added shapes to BSDismemberSkinInstances and changed the partition to 32(body) since the thing is a body replacer and this might cause issues.

Link to comment

 

Have you tried both bodies you merged and checked if anyone of those causes a CTD on its own sometimes? The only difference between the nitrishapes you added and the ones that already were inside the nif are settings in the BSLightingShaderProperty. You might want to copy a BSLightingShaderProperty from one of the original shapes, paste it to the penis shape and change the textures paths. Apart from that, the nif looks fine.

The thing I changed was converting NiSkinInstances in the added shapes to BSDismemberSkinInstances and changed the partition to 32(body) since the thing is a body replacer and this might cause issues.

 

Yes. I have run both ARW and BMT by themselves without a single problem. This issue only began happening when I copied the two branches from ARW's mesh to The Howling mesh from Brevi. Trying out the other skins in the Moonlight Tales MCM produces no ill effects, and when I put the original, non-edited .nif back in the folder, no CTD. Only my edited .nifs.

 

I'm gonna experiment with my load order and try to find out if any other mods are conflicting to cause this. If you think of anything else in the meantime, please let me know!

 

And thank you for lending your time! <3

Link to comment

 

 

Yes. I have run both ARW and BMT by themselves without a single problem. This issue only began happening when I copied the two branches from ARW's mesh to The Howling mesh from Brevi. Trying out the other skins in the Moonlight Tales MCM produces no ill effects, and when I put the original, non-edited .nif back in the folder, no CTD. Only my edited .nifs.

 

 

I'm gonna experiment with my load order and try to find out if any other mods are conflicting to cause this. If you think of anything else in the meantime, please let me know!

 

And thank you for lending your time! <3

 

 

I highly doubt that your load order has anything to with it. But as both werewolf meshes seem to be the same, why not just use the textures you want on the body that already has the penis mesh?

Btw I noticed that the meshes you added have the same name as the rootnode. This might be the cause of the crashes, every node should have a unique name.

Link to comment

 

I highly doubt that your load order has anything to with it. But as both werewolf meshes seem to be the same, why not just use the textures you want on the body that already has the penis mesh?

 

Because the ARW mesh is crude and jagged compared to the BMT one. The triangles are a lot smoother and there is more detail on the overall mesh. Somebody refined it quite a bit for use in Moonlight Tales.

 

I actually tried moving the whole ARW mesh into the Moonlight Tales folder and updating the texture links. The UV maps didn't wrap properly around it and it looked horrible. Seams did not line up, etc. Looked like he was wearing a patch-work body suit.

 

 

Btw I noticed that the meshes you added have the same name as the rootnode. This might be the cause of the crashes, every node should have a unique name. 

 

 

 

That's just how it imported and I don't know how to change it. The nodes did have their own unique names in the original file but upon being pasted into the new one that's the name they adopted.

 

I've tried to change the name but when you double click it, all it shows is a number string. I'm not sure how to fix that.

 

The tooltip in NifSkope (when you hover your mouse over "Name" in the block details) says that the names are linked to a string in a .kf file. Oh boy. This sounds like it's getting even more convoluted. I can't find a .kf file in either mod folder or the Skyrim data folder. I assume each node in this .nif is referencing something out of another file.

Link to comment

 

That's just how it imported and I don't know how to change it. The nodes did have their own unique names in the original file but upon being pasted into the new one that's the name they adopted.

 

I've tried to change the name but when you double click it, all it shows is a number string. I'm not sure how to fix that.

 

 

Click on the small "txt" icon left to the name.

Link to comment

 

 

Click on the small "txt" icon left to the name.

 

 

Yes, and it prompts me to enter a number string. It won't actually accept any input other than a number.

 

Shit, sorry! I just did what you said in the Block Details window instead of the left pane. I can enter my own name through the popup! I'll give this a shot!

Link to comment

 

The tooltip in NifSkope (when you hover your mouse over "Name" in the block details) says that the names are linked to a string in a .kf file. Oh boy. This sounds like it's getting even more convoluted. I can't find a .kf file in either mod folder or the Skyrim data folder. I assume each node in this .nif is referencing something out of another file.

 

 

Don't worry about it, the text states that this name gets used to refer to this node in a kf file not the other way arround. FYI, .kf (keyframe) files are the raw format of hkx animation files so this basically says you can control this node in a kf file if you refer to it by this name.

Link to comment

Holy shit IT WORKED!!!

 

Oh my gosh thank you so much! I tried transforming in a few different conditions to make it crash and after about 20 separate instances, no CTD!!!

 

Transform - revert - transform.

Transform - revert - quicksave - quickload - transform.

Skin swap - transform - revert - skin swap back to the edited one - transform.

Fast traveled to another location - transform.

Etc.

 

Everything seems to be working. Seriously, I absolutely appreciate you helping me out with this. I think I'll update the file in my dropbox folder so if anyone wants to try it out they can.

 

I learned something new and got the desired result, all thanks to you. Take care, friend. :)

 

My dog-dicked werewolf buddy thanks you, as well. :P

 

 

post-762454-0-27673300-1478737889_thumb.jpg

post-762454-0-87459800-1478737890_thumb.jpg

Link to comment

To recap how this .nif file was made to work:

 

  1. Created backups of any .nif files I was planning to modify.
  2. Copied dog_part23male.dds, dog_part23male_n.dds, dog_part23male_sk.dds, werewolf_animalpenis.dds, werewolf_animalpenis_n.dds, werewolf_animalpenis_sk.dds from \Adult Real Werewolves\textures\actors\character\werewolf\ to \Moonlight Tales - Werewolf and Werebear Overhaul\Textures\Actors\Character\Werewolf\MoonlightTales\
  3. Opened \Adult Real Werewolves\meshes\actors\werewolfbeast\character assets\MaleBodyWereWolf.NIF
  4. Opened \Moonlight Tales - Werewolf and Werebear Overhaul\Meshes\Actors\Werewolfbeast\Character Assets\MoonlightTales\Werewolf_TheHowling_Glow.nif
  5. In the MaleBodyWereWolf.NIF Block List, expanded "0 NiNode < 1 NiTriShape WereWolfAnimalPenis [83] < 3 NiSkinInstance"
  6. Right-clicked "0 NiNode Scene Root," selected Block < Remove. This must be done or you cannot copy the information to the new file. This restructured the block tree.
  7. Right-clicked "0 NiTriShape WereWolfAnimalPenis [83]," selected Block < Copy Branch.
  8. In Werewolf_TheHowling_Glow.nif, righted click the top parent node (0 NiNode MaleBodyWereWolf_1.NIF [0]), selected Block < Paste Branch.
  9. Repeated steps 6 and 7 for "44 NiTriShape WereWolfAnimalPenis1 [82]" from MaleBodyWereWolf.NIF to Werewolf_TheHowling_Glow.nif
  10. The meshes had been properly added. The new "equipment" was now visible between the model's legs. I clicked on the sheath and balls and it highlighted the appropriate branch in the tree (45 NiTriShape MaleBodyWereWolf_1.NIF). With that node selected, I looked in the "Block Details" window at the bottom for "Name - string - MaleBodyWereWolf_1.NIF." Double-clicked the "Txt" icon next to the value and a popup opened. At the bottom, I specified a new name "Werewolf Sheath and Balls," and clicked OK.
  11. Repeated step 10 for the other branch (selected by clicking on the canine penis on the character model). I named it "Werewolf Canine Penis."
  12. Under each new branch, I expanded 50 BSLightingShaderProperty and clicked on BSShaderTextureSet. In the Block Details window below, I expanded the Textures dropdown. In each entry BELOW the parent branch, I updated the path to Textures\Actors\Character\Werewolf\MoonlightTales\*.dds. For example: on the sheath and balls, the first path was Textures\Actors\Character\Werewolf\MoonlightTales\werewolf_animalpenis.dds. The second is the same path, but the file is werewolf_animalpenis_n.dds, and the third is werewolf_animalpenis_sk.dds.
  13. Repeated step 12 for the Werewolf Canine Penis. Used the paths to my dog_part23male.dds, dog_part23male_n.dds, dog_part23male_sk.dds files.
  14. Save As < Werewolf_TheHowling_Glow.nif
  15. Selected the appropriate skin in Moonlight Tales MCM. Everything is a go!
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