Jump to content

NifSkope 2.0 Dev


Jon

Recommended Posts

Can someone please help me?.. I'm no PC wizard, I only make followers and a few other small things in Skyrim.. But after a hardware upgrade my drive was wiped clean of the versions of nifskope I used. When I reinstalled nifskope it doesn't matter which version I'm using this is what I get in the picture.. No BSlighting, bsshaders no way to access the texture paths etc.. 

The only obvious thing I can come up with is that i'm missing something but I been trying different solutions with no luck whatsoever.. I'm so sad :(

Any suggestions would be greatly appreciated. 

thanks..

Untitled.png

Link to comment
Share on other sites

Look at the top of that section. There's 2 tabs called "Name" and "Value". Move the "Value" tab further to the right.

Link to comment
Share on other sites

3 minutes ago, Kisuke said:

Look at the top of that section. There's 2 tabs called "Name" and "Value". Move the "Value" tab further to the right.

omg... lol 

wow just wow.. I can't believe I missed that... i just face palm... 

thank you..

Link to comment
Share on other sites

  • 2 weeks later...

Good morning sir!

 How time consuming would it be to make it to where you could see your mouse x,y coords from the 3d area somewheres? Just had the idea, figured i would ask ya.

Thanks

 

Also Since i can't seem to PM you. Ill just say this here.

PS. We appreciate your time man. It's really cool to be able to speak 1 on 1 with you. Most programs... you don't get that privilege. Thanks for every second you spend on this project, we all know you have a life and a day job to worry about, and family/friends etc.. With out your work we would be screwed. Thanks again. And many apologies for my nonsense before.

Link to comment
Share on other sites

  • 2 weeks later...

EDIT: having added my custom texture with alpha channel to a vanilla mesh, I discovered that it worked.  The reason was that when I selected the texture with the purple flower, i navigated to a separate folder outside of the Fo3 data folder.  this caused the custom mesh to read the file as only the file name, whereas putting the custom texture onto a vanilla mesh caused the target destination to be rendered as E:/__my_folder/__mytexture.dds

typing a direct link to the file fixed the problem.  the Fo3 directory was mapped, so that's probably the "bug" if you could call it that.

 

i seem to be having some problems getting transparency to work on a fo3 nif; its a simple plane, i'm using the pre-fo4 intel photoshop dds plugin, i made a simple solid black color on my background, added an Alpha Channel, then made a number of dots from white to black and varying degrees of grey, this is just a test.  It should be showing up.  I've tried the default niAlphaProperty value of 237, then 4844, 4333, 4109, 4845, 4846, and i've gone through most of the options one by one with blending and testing on and off.

 

I cannot figure this out.  i've never had this problem before but its been awhile, i may have missed something entirely; the BsLightingPPShaderProp comes from a vanilla mesh, as well as the NiAlphaProperty, just copied over so idk.  i've messed with turning all the render elements on and off (textures, glow, specular, etc).  i've tried with and without random normal maps.  any ideas?

___nif_noAlpha.PNG

___nif_yesAlpha.PNG

Link to comment
Share on other sites

  • 2 weeks later...

Hey Jon, I Partially Decode some more of the Nif. BSSubIndexTriShape, 

Unknown Int 2, Is a Hex represents the Body Part Association for the Dismemberment system in the game. Which is linked to Selected Groups of Vertices

Array Indices = Partition

wsXUbRI.png

SSF File is regular String Relative File Path, Ie.  92=\ for 77=M, 101=e, 115=s, 65=A, 114=m 46=. ETC.

T5X4Tgm.png

This is Meshes\Armor\ScienceScribe\FHelment.ssf

HKNlHUz.png

Just getting started

Note "-" means through

Ill keep working on that list there are around 100 of them

 

Link to comment
Share on other sites

I don't mean to detract from your work in any way -- it's always good that there are many people working on a certain thing --  but so far that stuff is already known. :P

The SSF File is that way simply because nif.xml doesn't have a string type which can handle it as no other string type uses a short (16-bit) value to hold the length.   Basically, it boils down to laziness.

The 0-6 is a bit more complicated than that, and the values don't strictly associate with a particular area across different Actors.  Look at Deathclaw for example, or Radscorpion.  Anyway those values are readily apparent as that's what I use to highlight the segment in the viewport when you select the Segment in the Segments array. 

The hashes are believed to be a hash of a string for the body part.  Strings can be found in the SSF files which loosely associate with each hash, but we've already tried Bethesda's own string hashing functions on the strings and don't get the same hashes.  Bethesda has their own CRC32 called BSCRC32 and it can be used case insensitively or not.  Also there aren't 100 of them, there are about 264 going from ousnius's collection of them.  I think we have other various analyses and data dumps floating around somewhere, but no real motivation/reason to compile this knowledge.

And going through various outfits you'll notice that there are a few different hashes used for the same areas of the body and IIRC looking at the strings didn't really reveal why the hash would be different.  Also across species sometimes what is considered a "head" has a different hash even though the associated strings in the SSF file still say "Head" and some NIFs don't even have an SSF file at all (e.g. BaseMaleHead) or the SSF file only lists a few of the actual body parts.  So the SSF file is only part of the picture. 

The CK lets you see a lot of this data btw:

5RfggxI.png

9pmyERd.png

DnV344X.png

 

In my testing just now I realized that the skeleton.nif has to be alongside the mesh before you load the CK Preview or the Bone dropdown doesn't propagate properly.  You can't just load a new reference skeleton it seems.   Anyway, the dropdown would appear to give all the strings that could possibly be associated with the hashes in the NIF files.  But since we tried turning these strings into hashes a few different ways and didn't get any matches,  the association would have to be made by hand for every single one.  That was the point where I gave up. :)

Some things to note:  

The "Biped Object" acts a lot like the enum from previous games.  Stuff involved with dismemberment is 100+,  there is some stuff between 30-60.  Basically this:

gZm6MSH.png

Except some of the values are off. 

Anyway, I suppose I will try to re-analyze the hashes against the bone strings some time in some bulk fashion.  I could compile the hashes and the strings in each file, and for each file that has a specific hash, I would be able to intersect all their strings and if they all have a certain string in common, it will show.   Of course a lot of outfits and things all have the same dummy bones so it wouldn't narrow it down fully.   This is also assuming the dummy bone strings are enough.  If I need to load the reference skeleton to get all the bone names then it will be hard to automate. 

I could also just reapproach the hashing.  Originally I had someone on the F4SE team actually run Bethesda's own hashing functions via the engine DLLs that come with the FO4 exporter and they didn't match.  I've since reversed the hashing function into my own program which I'm 100% sure is correct because they use the hashing functions in the BA2s, so I will retry them on the bone strings again just to be sure. 

Link to comment
Share on other sites

  • 3 months later...

Hi Jon,

Thanks for the work on 2.0, it looks and feels great! But there is  a minor problem with rendering textures on my side. I've read the previous posts here and did some experimenting, and I think I know the culprit.

Is there currently a way to disable appending the texture paths with "/texture/"? It breaks texture rendering on models that don't actually contain a path to texture, only a filename (I don't know if that is a bad practice in modding Bethesda's games, but it works well for Civ 4, which is what I'm using Nifskope for). Basically, if there is no path, Nifskope currently assumes the texture is located in "nif folder"/texture, instead of just "nif folder". Therefore, if not specifically put into /textures folder one level above the model, the texture won't render, which isn't how it worked in 1.x versions. 

Link to comment
Share on other sites

@WalterHawkwood  You're right,  I ran into this issue recently while looking at non-Bethesda things for something and was already planning a fix.   You should come to the NifTools Discord, as I am more likely to throw up a build with the fix as I have been releasing test builds there fairly often.   You can get to it from the niftools.org homepage or the niftools.org forums.

Sorry for not responding sooner.  I don't come around here very often anymore with the advent of Discord and the new site and revamped forums. :)

Link to comment
Share on other sites

2 hours ago, Jon said:

@WalterHawkwood  You're right,  I ran into this issue recently while looking at non-Bethesda things for something and was already planning a fix.   You should come to the NifTools Discord, as I am more likely to throw up a build with the fix as I have been releasing test builds there fairly often.   You can get to it from the niftools.org homepage or the niftools.org forums.

Sorry for not responding sooner.  I don't come around here very often anymore with the advent of Discord and the new site and revamped forums. :)

No problem, that was actually a pretty quick answer. :-)

This forum just came first in Google for Nifskope 2.0, so I used it to post. Will migrate.

Link to comment
Share on other sites

NifSkope 2.0 Dev 7

NifTools Discord

Reddit post

The changelog is massive so I won't even summarize it here. You can see it in either of the GitHub or Reddit links above, though I removed some non-Bethesda specific stuff from the Reddit changelog. 

Re: the NifTools Discord, I regularly provided new builds there as I developed Dev 7. If you want more frequent updates than the GitHub releases, you should join the server.

Admittedly, the time between Dev 6 and Dev 7 was far too long. However, after Dev 6 I didn't even work on NifSkope for 6 straight months. That still leaves 7 months of feature creep while making Discord-only builds, and I will try to make more public GitHub releases going forward.

Link to comment
Share on other sites

  • 2 weeks later...

 Hi I have tried to use your new Nifskope builds past couple of weeks and just downloaded and tried to run your Dec 27 x64 but i keep getting the same errors "The application was unable to start correctly (0xc000007b)" yes i have the vc_redist.x64.exe installed.

Google doesn't help as I have no other problems launching exe other than this one, I've tried the Dec 17 and 23rd I believe- from the Discord site, with the same error.

Link to comment
Share on other sites

I'm no pro but have been using those builds on windows 10 x64 with zero issues running them. Have you made sure to delete Everything in the nifskope folder before dropping in the new content? 

Link to comment
Share on other sites

  • 4 weeks later...

It's fine in the test build on Discord.  I had found another rendering issue I haven't released the fix for to GitHub yet, as I wanted to test more thoroughly this time. :P 

The next build I will upload also introduces an error color option for missing textures, so it looks like this for me:

image.thumb.png.56614e359663c78ecf29332ed2eb3c5c.png

As I do not have all the textures for this face. 

Link to comment
Share on other sites

  • 2 weeks later...
19 minutes ago, Leonardo said:

Maybe a dumb question.  I assume, I need to use this NifSkope tool for the Nerevars Greybeard Robe Replacer V2 mod for SLE, if I want to convert it to SSE.

I'm not sure if NIFSkope is at a stage where it can convert from LE to SE yet .. Wait for Jon to answer :

But meanwhile, most peoples weapon of choice for converting meshes to SE has been SSE Nif Optimizer

Link to comment
Share on other sites

A correctly structured Oldrim NIF does not need any changes to work in SSE.  There was never any intent on allowing conversions in NifSkope, and there is still not.  I helped ousnius make his tool,  which we're finding more every day that converting to SSE is the opposite of optimizing...  Most recently we've found the half float precision on UV coordinates to be woefully unforgiving for anything outside of the -2.0, 2.0 region, the worse the further out it gets.   Arranging UV islands in different regions outside the unit square is fairly common. 

The only thing that is ridiculous about the old NIF format is using four floats to store vertex colors instead of 4 bytes,  but everything else in the SSE format change destroys the precision of your model. 

Link to comment
Share on other sites

6 hours ago, Jon said:

The only thing that is ridiculous about the old NIF format is using four floats to store vertex colors instead of 4 bytes,  but everything else in the SSE format change destroys the precision of your model. 

Does that mean vertex 3D positions could potentially be slightly out of place if passed through SSE Nif Optimizer ?

Link to comment
Share on other sites

Actually, the vertex positions are still full precision.  The new vertex format was introduced in FO4 and supports half and full precision.  But SSE doesn't support the half precision format for positions for whatever reason even though it's part of that new class.  Probably because of Havok/animation stuff.  Or because BSTriShape was actually made for SSE first because it's NIF version 100, and half precision for vertices wasn't added until version 130 (FO4). 

But the normals, tangents, bitangents, UVs, vertex colors and bone weights all get moderately to severely compressed. 

Link to comment
Share on other sites

Does this result in something an end user playing with a mod run through Nif Optimizer would notice?

Link to comment
Share on other sites

On 2018-02-10 at 7:38 PM, Jon said:

A correctly structured Oldrim NIF does not need any changes to work in SSE. 

I guess I need to test the mod, just to see if I notice any oddities.

Link to comment
Share on other sites

  • 1 month later...

I'm new to 2.0, but just downloaded NifSkope_2_0_2018-02-22-x64.7z, and it won't run. When I click on it, the progress thingy spins, and nothing happens. Win10 had already updated the C++ runtime to something slightly newer than available on their website, so I downgraded. Still nothing. Is there a load log that I could check?

Link to comment
Share on other sites

  • 1 month later...

anyone else have a problem opening more than one Nif at a time and if so how can I fix it.    I can only open one and only one at a time which means I can't do most of the work I need to do for a mod.

Link to comment
Share on other sites

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
×
×
  • Create New...