Guinefort1 Posted February 9, 2014 Share Posted February 9, 2014 Hi. I am trying to make some nif changes to resources from Tamira's New Plants mod. For example, one of the meshes is a bamboo stalk, a single bamboo stalk to be precise. As a labor saving device, I am trying to change the nif so that there is more than one. Unfortunately, I can get everything to work fine in Nifskope, but the changes are invisible when loaded into the CS. My step-by-step process: 1. Copy and paste branch of mesh in the Nifskope (v1.1.3) model viewer2. Adjust position of cloned bamboo mesh to make it visible3. Save, put the mesh in the correct data folder, verify texture-pathing, etc.4. Fire up the CS, load the modded bamboo nif and...5. Changes are invisible! Only one bamboo stalk appears Any ideas about why this is happening? While I deeply appreciate feedback, please do not link to a how-to-edit-armor-meshes-in-Nifskope generic tutorial. I have already read several, and none of them have helped thus far. Please understand that I am a novice modder who is still getting the hang of Nifskope, so i you are able to explain what is going on, please explain step-by-step and use small words. Thanks for reading. Link to comment Share on other sites More sharing options...
IkeCoast Posted February 9, 2014 Share Posted February 9, 2014 Hey, Guinefort! Usually, a mesh rendering invisible in game or the CS means the texture path for the mesh is incorrectly set in the nif file. Have you checked the NiSourceTexture line in your assembled nif? Also, after making ANY change to a NiTriShape or NiTriStrip, it's advisable to Update All Tangent Spaces (Spells menu - Batch option - Update all Tangents Spaces). Let's see if this fixes something. Cheers! Link to comment Share on other sites More sharing options...
Guinefort1 Posted February 9, 2014 Author Share Posted February 9, 2014 Thanks for the feedback. I tested out both of your suggestions to see what would happen: 1. The NiSourceTexture entry should be fine. In the Nifskope viewer, I can see the textures applied to both the original and the cloned stalks. When I put the nif and textures into the data folder, repath them appropriately, and load it in the CS, the texture appears fine on the original stalk but its clone is a non-entity. I even relocated the textures after pathing them just to how the CS would respond. The original bamboo stalk appeared purple; the clone stalk was, as always, completely invisible. 2. I also tried the Update All Tangent Spaces feature. Is something supposed to happen whe I click that anyway? Whenever I clicked it, I got no visible indication of any changes. Is that supposed to happen? Regardless, the invisible sister stalk persisted in the CS even after using the update feature. If you have any further ideas, then please share them. If not, thank you anyway. Link to comment Share on other sites More sharing options...
IkeCoast Posted February 9, 2014 Share Posted February 9, 2014 Hey, Guinefort! When you apply Update All Tangent Spaces, nothing visible happens in NifSkope viewer. It's something that only the game engine will notice. Since using it didn't solve your issue, then it's not related to Tangent Space. I have done a quick experiment to reproduce your try with the bamboo stalk and see what happens. I opened in NifSkope the gauntlets of one of my armors, right-clicked the bracer mesh part, Block - Copy Branch. Then went to the NiNode Scene Root, right-clicked it, Block-Paste Branch. Then positioned the clone below the original bracers, and saved the file without Updating Tangent Spaces to see what would happen. I did not change the texture paths because I saved the new nif right where the original was, so no path had changed. The nif with the cloned bracers shows ups perfectly fine in CS, and shows up perfectly fine and works perfect in-game. The cloned bracers appear just below the original ones and move in perfect synchrony with the original. So, summarizing, my steps were: In the NifSkope Preview Window on the right, Right-click the mesh I want to clone: Block - Copy Branch. In the Hyerarchy Tree on the left, Right-click the NiNode Scene Root (the uppermost one, Father of Them All), Block - Paste Branch. In the Block Details tree for the cloned mesh, Extra Data List - Translation change the Z value to position the cloned bracers below the originals. Save overwriting the original nif file (I back-up-ed it previously). NO changes to texture paths. No Update All Tangent Spaces, looks like I was wrong and Updating is required only when importing an obj file into NifSkope. The new nif works perfect both in CS and in-game. This is literally ALL I made. By the way, if in the Preview Window of NifSkope you can see the mesh textured, with the textures applied, then the NiSourceTexture IS NOT CORRECT. You have hard-coded the texture path into the mesh and the game usually will ignore this hardcode, but more often than once it will give you troubles. My additional ideas are: Set the NiSourceTexture property to relative, not absolute: the path MUST be textures - folder - subfolder - dds file. So, for instance, in my bracers file, the path is: textures - armor - lbayleid - ayleid.dds not C: - Program Files - Oblivion - Data - Textures - Armor - LbAyleid - ayleid.dds The mesh appears white in NifSkope when the texture path is relative. But it apperas textured in CS and in-game. My version of NifSkope is 1.1.1, by the way. Never found the need to upgrade it because it still works flawlessly for me. I don't know if this makes any difference. Cheers! Link to comment Share on other sites More sharing options...
Guinefort1 Posted February 9, 2014 Author Share Posted February 9, 2014 So far I haven't been able to replicate the trick that you described, even though I've been following your instructions to the letter. Obnoxious to say least. Incidentally, I checked the Nifskope wiki page, which notes that version 1.1.3 will not export .obj files correctly. I have no idea if this is the source of my problem or not, but I'll try installing 1.1.1 to see if that changes anything. I hope it works, because this is getting ridiculous. I'll let you know when I get the results. Btw, how do you set textures to relative, as opposed to absolute? I learned how to apply textures in Nifskope by following a very basic tutorial I found, which pretty much forced me to hardcode texture paths to something like C:/Games/Oblivion/Data... Oh, the joys of modding. Thanks again. Link to comment Share on other sites More sharing options...
mhahn123 Posted February 9, 2014 Share Posted February 9, 2014 (edited) So far I haven't been able to replicate the trick that you described, even though I've been following your instructions to the letter. Obnoxious to say least. Incidentally, I checked the Nifskope wiki page, which notes that version 1.1.3 will not export .obj files correctly. I have no idea if this is the source of my problem or not, but I'll try installing 1.1.1 to see if that changes anything. I hope it works, because this is getting ridiculous. I'll let you know when I get the results. Btw, how do you set textures to relative, as opposed to absolute? I learned how to apply textures in Nifskope by following a very basic tutorial I found, which pretty much forced me to hardcode texture paths to something like C:/Games/Oblivion/Data... Oh, the joys of modding. Thanks again. Just make sure before you package it for release to the public that your texture paths all start with "textures". Everything that comes before that should be discarded. So instead of c:/games/oblivion/data/ textures/ and so on...crop everything in front of textures, and then save it that way. This ensures that textures will display properly for anyone. Hardcoded textures only display properly for those who have their game installed in exactly the same folders as you. If you have nifskope set up properly it will set an abbreviated texture path for you...saving you all that manual hoo ha. Load up your plant in nifskope. Before doing anything with it..clik on Render, settings, add folder. Then down below click folder. This should open a drop down menu where you can select files. Select your main mod file (the folder which contains meshes and textures). Once you do this you can now assign textures in nifskope without all the extra file path garbage being added in. Nifskope will auto abbreviate your file path to start with "textures". Edited February 9, 2014 by mhahn123 Link to comment Share on other sites More sharing options...
mhahn123 Posted February 9, 2014 Share Posted February 9, 2014 Hi. I am trying to make some nif changes to resources from Tamira's New Plants mod. For example, one of the meshes is a bamboo stalk, a single bamboo stalk to be precise. As a labor saving device, I am trying to change the nif so that there is more than one. Unfortunately, I can get everything to work fine in Nifskope, but the changes are invisible when loaded into the CS. My step-by-step process: 1. Copy and paste branch of mesh in the Nifskope (v1.1.3) model viewer2. Adjust position of cloned bamboo mesh to make it visible3. Save, put the mesh in the correct data folder, verify texture-pathing, etc.4. Fire up the CS, load the modded bamboo nif and...5. Changes are invisible! Only one bamboo stalk appears Any ideas about why this is happening? While I deeply appreciate feedback, please do not link to a how-to-edit-armor-meshes-in-Nifskope generic tutorial. I have already read several, and none of them have helped thus far. Please understand that I am a novice modder who is still getting the hang of Nifskope, so i you are able to explain what is going on, please explain step-by-step and use small words. Thanks for reading. I think what may be happening here is a result of not pasting additions in properly. Once you have copied a branch, be sure to paste it into the 0 ni node of your target nif. In other words always paste onto the main branch at the very top. Failing to do this will cause the problem you are describing. If you paste in anywhere else in the file tree your new branch is basically not attached properly to the main branch. It will show up in nifskope, but not in CS or game. Link to comment Share on other sites More sharing options...
IkeCoast Posted February 10, 2014 Share Posted February 10, 2014 Guinefort, in addition to what Mhahn123 has said, setting texture paths to relative is easy: just double click the line in the branch where you can read the path for the texture, and delete all that comes before the word "textures". Hit Enter (the one in the main keyboard, not the one in the numeric pad) and save. And be TOTALLY SURE you paste your copied branch into the 0 - NiNode Scene Root at the very top of the tree. If not, as Mhahn said, you will not see the pasted branch outside NifSkope itself. Cheers! Link to comment Share on other sites More sharing options...
DrakeTheDragon Posted February 10, 2014 Share Posted February 10, 2014 (edited) Just one thing I'd like to correct: If your NifSkope is setup correctly and the textures you're using are not inside a BSA, using proper relative texture paths will NOT turn your meshes white!This Game Folder setting in NifSkope exists for a reason, and this is so the relatively defined texture paths can translate to the actual absolute position of the files and they'll work fine again. Oh, and it isn't 'always' the right thing to paste the copied branch into the Scene Root branch either. It depends on the type of object one's working on. They all have their very special NIF structures and requirements other types don't have.However, in case of plants like here I 'think' you're safe to paste them where told. But on the same line I don't think it was a good idea to prove the process by replicating it with an entirely different type of object (armor != plant). For example I encountered cases (types of objects) where modifying the translation properties was all that's needed and everything was working fine already,but I also encountered cases where such modification had to 'applied' first before it was used correctly by the game,...and there are cases where it MUST NOT ever be applied as well (In head NIFs the mesh has a non-applied translation so the heads are in place above your shoulders correctly but the coordinates of the vertices are relative to its center/origin, more or less. 'Apply' the translation here and nothing will change visually, but all head/face morphs are done for and will never work again!). P.S.: The results of Update Tangent Spaces 'can' be seen in NifSkope already. If you select a NiTriShape/Strips and then its ExtraData Tangent Space, you'll see a bunch of small white arrows pointing away from the surface. If an update of the tangent spaces 'was' required, then you'll also see these rearrange and correct their directions at least slightly while doing it.Tangent space is used for texture mapping, normalmaps, light&shadow calculations. All of this will change when you update them. Edited February 10, 2014 by DrakeTheDragon Link to comment Share on other sites More sharing options...
IkeCoast Posted February 10, 2014 Share Posted February 10, 2014 Whoa, Drake, you have provided us (at least, me) tons of valuable information at once. Thank you very much! Cheers! Link to comment Share on other sites More sharing options...
Recommended Posts