Jump to content

NifSkope 2.0 Dev


Jon
 Share

Recommended Posts

Actually this is a mesh generated by FNVLODGen, source code for segment

https://code.google.com/p/skyrim-plugin-decoding-project/source/browse/LODGen/NifMain/BSSegment.cs

Yes, that decoding appears to be inline with this commit.  You can make those edits to your own XML, but there are other changes to the XML in other commits which I need to actually update the source code of NifSkope for, hence I haven't included the most recent XML.

I was crashing on load as well but when I built from source, it seems to run fine. Could you try rebuilding and making a new download package?

 

Edit: Never mind I was building the 1.2 branch.

Yeah, I made an actual mistake with the settings migration between dev1 and dev2. I didn't properly reset my registry settings to a dev1-like state when testing the migration between versions and so I didn't catch a bug.

 

-----

 

Edit:  Updated package.  Should be fine now.

Link to comment
Share on other sites

The new package runs but there is an issue with rendering with alphas it looks like. The vanilla ice wraith from Skyrim is completely invisible with the texture applied.

 

Meshes\actors\icewraith\character assets\icewraith.nif

 

It works in my builds of the dev/2.0 branch however. It looks like you might have some local work that hasn't been pushed to github? The dialog doesn't seem to be completed in this branch but looks mostly functional in the package you provided.

 

Edit: Never mind about the pushes. I had a fork from your version on github and was pulling against that fork. I updated remotes and now I have your latest commit. Somewhere in the last few months, render of that nif has been broken, however.

 

Yet another edit: It's because in the animation the nif starts out as transparent.That is very interesting. I see how to select a node in the animation to view it now. Thanks for putting up with my questions. :D

Link to comment
Share on other sites

Small request - is it possible to add into Inspect view a bounding box coordinates of selected shape?

Also some way to view coordinates of a vertex in render window. Right now the only way I know is to select a point in vertex array and it will be highligheted in render window. I'd like the opposite - select vertex with mouse to check it's coordinates somehow.

Link to comment
Share on other sites

Yet another edit: It's because in the animation the nif starts out as transparent.That is very interesting. I see how to select a node in the animation to view it now. Thanks for putting up with my questions. :D

 

Yes, the NIF is fine. It's now that the shader animations work it starts off as invisible.

 

If you want to see a mesh without its shader animations taken into account you can always toggle off the shaders briefly (Alt + S).

 

 

Small request - is it possible to add into Inspect view a bounding box coordinates of selected shape?

Also some way to view coordinates of a vertex in render window. Right now the only way I know is to select a point in vertex array and it will be highligheted in render window. I'd like the opposite - select vertex with mouse to check it's coordinates somehow.

 

Vertex selection - It's planned but so are a lot of other basic modeling features.  I'll get around to cleaning up the Trello roadmap and make it public so that you can see what I already have planned.

 

Bounding box coords, I don't exactly see the point.. can you explain the use case to me?  If it's about using them to generate BSMultiBound* shapes I have bounds generation Spells planned anyway.

Link to comment
Share on other sites

Bounding box coords, I don't exactly see the point.. can you explain the use case to me?  If it's about using them to generate BSMultiBound* shapes I have bounds generation Spells planned anyway.

I needed to know the size of a model in game to create a proper tree billboard for FNVLODGen. Unfortunately object bounds were zero in esm and GECK doesn't have "Recalc bounds" menu like CK for individual objects.

Link to comment
Share on other sites

A bug and a feature request...

 

1: When I completely delete a material property set (like BSLightingShaderProperty), the mesh disappears in the render.  Previously, it'd just go all white.

 

2: Can you implement a "Copy/paste Color" right-click dropdown menu choice for anything involving the color picker wheel? To get exact colors, I have to copy the individual channels' values, and not in a hex format like I can with Photoshop's color picker setup.

Link to comment
Share on other sites

1: When I completely delete a material property set (like BSLightingShaderProperty), the mesh disappears in the render.  Previously, it'd just go all white.

 

Not a bug.  Completely intentional.  This is how the game engine handles such a circumstance.  If you look at SalmonRoe01 in BYOH you'll see that they use NiTriShapes with no shader property as a way of doing invisible boxes.  The point of this, I'm not sure exactly.

 

If you would like to see it you can check Show Hidden.

 

As or the feature request, that's already on the roadmap, but more generally.   I would like for there to be a generic Ctrl+C/Ctrl+V action when you select one type of row/column value and try to copy/paste it over another row/column value with the same type.

Link to comment
Share on other sites

Every single Oblivion and Fallout mesh technically renders incorrectly,  as I haven't even begun to look at them and currently the shaders are a bit Frankensteinian.  I was originally modifying the shaders for Oblivion, Fallout, and Skyrim all in one file (per shader type), but I finally decided to split Skyrim off from the rest and focus just on Skyrim in its own shaders.  So the shaders that are left for Oblivion/Fallout are essentially just the product of my Skyrim work, and any time they display correctly is just coincidental.

 

TL;DR -  You should probably be viewing Oblivion/Fallout meshes with the shaders toggled off (Alt + S).

 

I will soon be reverting the Oblivion/Fallout shaders to their pre-Skyrim state since all the Skyrim shading is handled in new files now,  and maybe eventually get around to adding in support for the shader properties like I did with Skyrim.   But the setup in pre-Skyrim files is entirely foreign to me, and there are several different blocks that shading properties get strewn across.

Link to comment
Share on other sites

Yes, well, normals should work fine, and that's about it.  I'm not sure specular even works correctly, and it definitely doesn't follow any specular properties in the NiBlocks.  Stuff like emissive/glow might kind of work, but again won't follow any properties set in any of the blocks.

 

Luckily the majority of Fallout NIFs probably only do normals and specular.

Link to comment
Share on other sites

Another feature request, if possible...

 

Some animation key data is not positional data of any kind, but color data.  Could an option be added to the right-click drop-down for such bits of data to treat it as such?  A sort of "Interpret as color" that goes to the color wheel interface.  Altering the values of those keys as-is is really clunky.

 

For example, the soul gems I'm working on have a gradually color-shifting glow shader (which was part of the vanilla mesh, actually).  I've figured out the keys, but altering them involves figuring out the specific RGB values, then dividing each value by 256 to get a decimal value, and then typing them in.

 

An example would be in one of my soul gem meshes (http://www.afkmods.com/index.php?/files/file/1538-multilayer-parallaxing-soul-gems-wip/), in any given gem NiTri's BSLightingShaderProperty is a BSLightingShaderPropertyColorController.  In its NiPoint3Interpolator is a NiPosData block, which are the key timings and the XYZ values that are actually RGB color values.

Link to comment
Share on other sites

Hey, I have a suggestion for UV editor: Maybe It would be possible to add a pixel-snap or something like that, because if you need to edit UV Map, you can't really do it properly for exact size needed. Also maybe it'd be able to make the texture in UV Mapping window render more pixelated than blurry? :)

Also, maybe it'd be able to export nif to another nif version? (It takes too long to go thru 3ds max)

Thanks :)

Link to comment
Share on other sites

  • 4 months later...

If you could please answer this poll:
 
OpenGL Version Poll

 

I'm curious what kind of spread on supported OpenGL level the NifSkope user base has.   You can download OpenGL Extensions Viewer, or more simply GPU Caps Viewer:
 
GPU Caps Viewer  Easier; no-installer version available. (Screenshot)
OpenGL Extensions Viewer  Make sure in the dropdown that you DO NOT have any "Forward Context X.X" selected (Screenshot)
 
OR, alternatively, if you know your exact graphics adapter (and also driver version) you can possibly find the information in this database:
 
OpenGL Hardware Database
 
If you have a laptop or any kind of integrated graphics, I recommend not bothering with the database and using one of the applications.  
 
---

If you are an outlier in any way (super old computer, or a laptop user) please respond here with the data that either application can export. In OpenGL Extensions Viewer, that is copy/pasting the "Report" area in the Details panel.  In GPU Caps Viewer that is Tools tab > Export Data (Screenshot).  You can just include the TXT export in a spoiler tag.   
 
I'm particularly interested in Intel integrated graphics, because those guys basically seem to pick extensions at random which they bother to support. 
 
I know this thread isn't exactly a mecca for NifSkope users, so if you could also please ask people you know who use NifSkope to take the poll, I'd appreciate it.

---
 
I'm not planning on requiring a very recent OpenGL version at the moment.  Probably 3.3, maybe 4.0, which were both released in 2010 btw.   The reasoning is that while I managed to tack on some additional functionality to the renderer, I'm stuck using positively ancient code and it's inhibiting my ability to add new features.  OpenGL 2.1 is what NifSkope currently uses and it's nearly 10 years old.   Anyway, the way the renderer is currently written, it performs so poorly that I can't do some things I'd like to, and some things are basically out of the question like supporting post effects such as Refraction.  In those cases, not because of poor performance but because the renderer is still largely pre-shader (fixed function) meaning from a time before fullscreen post effects were a thing. 
 
And FYI, I will be keeping the old renderer intact so that it can be switched to if needed.  In the event that super-old or non-Bethesda NIFs don't get supported right away, the old renderer will still be there for those.

Link to comment
Share on other sites

Isn't 4.4 supported by anything that isn't a potato?

 

You'd think, but OpenGL support can be quite shaky on computers without dedicated graphics or computers with outdated drivers.  It's usually all down to driver support, which I have found Intel's driver support to be questionable in the past.   Like despite defining the shaders as using an ancient shader language ('#version 120' which is OpenGL 2.1) I have had some people's laptops crash and burn at this because they were for some reason trying to treat it like modern OpenGL, despite the language definition.   Now, this is sort of the reverse problem,  because the code is so "old" that the drivers might not bother to correctly support older GL versions.

 

Even then I'm kind of shocked at the level of OpenGL support from fairly new Intel CPUs...   A laptop with Sandy Bridge i5-2400 (HD 2000 graphics) and the latest drivers can only support up to OpenGL 3.1.  The CPU was released in 2011, but OpenGL 3.1 is from 2009.  I guess the hardware *was* in development for 2 years, but still.

 

On the other hand, Nvidia's 500 series is from 2010/2011 and has managed to retroactively support up to OpenGL 4.5 through driver updates. 

 

--

 

Anyway, just to repeat my last post,  you only need to make a reply here if you are using a potato.  In which case I'd like the TXT export from the GPU Caps Viewer.  Otherwise you can just fill out the poll.  

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
 Share

×
×
  • Create New...