Jump to content

NifSkope 2.0 Dev


Jon

Recommended Posts

Crazy thing is, those render fine for me (minus the material issue) with shaders enabled, so Arthmoor and myself don't even have the same problems (when I tried the cube mapping thing earlier, it was with a different mesh).

 

But then something with glass (flight helmet here) looks like this:

post-5538-0-06341900-1461072222_thumb.jpg

 

EDIT: And if I launch a new instance with something it likes first (used the batting helmet) then load it in that instance, it totally knows how to render it:

post-5538-0-85126900-1461072782_thumb.jpg

Link to comment
Share on other sites

Is there a way to select vertices for something other than XYZ translation, like for vertex coloring?

Link to comment
Share on other sites

Bear in mind the last time I touched vertex colors was FO3 and I'm having to relearn crap as I go (and learn the new stuff too)...

 

You should just be able to check the flag "VF_Vertex_Colors" under VF in the shape's block details, then you can edit the vertex color entries. You'll probably have to add the FSF2_Vertex_Colors shader flag to the shader property block's details (I have no clue if materials need anything set, since there's nothing in there about vertex colors). (There's also FSF1_Vertex_Alpha under shader flags 1 that I just noticed. I need to examine this, because if that's actually rendered... heh heh heh.)

 

EDIT: Oh I did think of a feature request that I know would be really handy for me, so other people might get use out of it, too. Is it possible to have some way to edit translation of the entire BSConnectPoint::Parents block that would then go through and apply your change to each entry?

 

Or (maybe more importantly) applying translation to its parent node applies it properly to the entries in there too, because right now if you do that, you get a broken NIF. I wasn't trying to edit it specifically, since I noticed it doesn't get translated, so I thought just pasting it in, then translating the node to match it would save me some time. Nooooooope  :facepalm: (Of course, doing that before pasting in the connect point block you totally didn't steal from a vanilla mesh works just fine).

Link to comment
Share on other sites

No, MadCat was asking if my new Vertex Selection mode could choose the arrays besides the Vertex array itself.   Right now if you click a vertex on pre-FO4 meshes it goes to the Vertex array.  For pre-FO4 meshes, the normals, tangents, and vertex colors are all in separate arrays, so MadCat was asking if there was a way to make it choose those instead.

 

Unfortunately there's not.  I could however make some spells like "Go to ____ for this Vertex".  You click a vertex and then right click will give you options to move to that vertex's other properties.

Link to comment
Share on other sites

Ohhhh, yeah I totally misunderstood the question. Don't mind me  :wallbash:

 

Oh my god, vertex selection mode. I keep forgetting it's there when I really need to be using it. Agh.

Link to comment
Share on other sites

NifSkope 2.0 Pre-Alpha 5 (2016-04-20)

  • Material files (BGSM/BGEM) will no longer crash NifSkope if they are in JSON format. Note: They will still not be read if in JSON format.
  • Fixed several bugs caused by the partial data model refactor.
Link to comment
Share on other sites

NifSkope 2.0 Experimental Build (2016-04-23)  **Not an official release**
 
I'm looking for testers to report their experience with a new feature.  It's the replacement for "Hide Version Mismatched Rows" which I disabled due to it slowing down general block operations and even block selection.  For most people this was already off.  The goal is to hide all the non-applicable rows and reduce visual clutter, while being much faster than the previous implementation.  The previous option also did not hide every non-applicable row.
 
Examples:
 
https://i.imgur.com/yX0oGZr.png vs https://i.imgur.com/LC5ZLbZ.png
https://i.imgur.com/WaPMOO3.png vs https://i.imgur.com/lgxpyRA.png

 

To turn it off and on,  View > Block Details > Show Non-applicable Rows.   (Row hiding is on by default)

 

I'm looking for a few things for feedback:

 

1. Do general operations work incorrectly or feel any slower with the option on e.g. clicking meshes, changing translation, scale, colors, vertices.

2. Do block operations work incorrectly or feel any slower with the option on e.g. Copy/Paste, Ctrl+Del.

3. Do spells work incorrectly or feel any slower with the option on.

4. Does the render window or block details not update as expected when you do any of the above things.

 

Basically, I'm just making sure there are no outstanding issues with this feature before I put it into the next release and have it on by default.

Edited by Jon
Link to comment
Share on other sites

Operations seem to run smoothly and responsively. I honestly can't tell you if it's faster or slower, because I'm a horrible judge of that, but at the very least nothing is slow to where I'd notice. Things seem nice and quick at least, and I haven't noticed it delaying any so far.

 

The only thing I spotted just messing around with it, is using the shortcut to remove branch doesn't trigger marking the file as edited, where as using the menu does.

 

And of course, you've fixed the bug with moving branches that I mentioned earlier :) (That operation does seem faster, actually. It just.. happens, as soon as I hit the shortcut. There's no delay whatsoever). (Now I can number the connection points blocks "properly" again because it was bugging me, nevermind that they worked fine without doing so. I just need to remember to rename the damned things to CPA every time, now :wallbash: )

Link to comment
Share on other sites

I can't really tell, partly because I don't do a lot of mesh editing, and partly because I have a beast of a PC, but it does feel smoother than before. Even seems to have loaded stuff a bit faster than before.

Link to comment
Share on other sites

Finding bugs by doing something stupid:

 

Open ~\Meshes\Architecture\DiamondCity\ShackRV_Ext\DiamondPowerCloth01.nif

 

Open ~\Meshes\Architecture\DiamondCity\ShackRV_Ext\DiamondClothTarp01.nif

 

Paste the static tarp base node into the power cloth nif (ctrl+v). Wait year (this is the only operation so far that's obviously sloooowwwww). Decide after it's done that it was a stupid idea and delete it with ctrl+del. Change my mind again because I want to see what it'd look like positioned correctly so I can decide if I want to reposition the power cloth properly (I want to make a buildable tent tileset :( ). Ctrl+v.

 

Nifskope kicks a fit and crashes. Whoops.

 

Redid it a few times and it's repeatable. It just really doesn't want me waffling back and forth with this. I mean, it's a pretty edge-case, no sane person does this kind of scenario ( :innocent: ), but hey.

Link to comment
Share on other sites

>The only thing I spotted just messing around with it, is using the shortcut to remove branch doesn't trigger marking the file as edited, where as using the menu does.

 

Thanks, the Spells system is spread over several files and it's so convoluted I didn't even know that the shortcut-triggered spells were handled in another file.   :P   I did test Spells both via shortcut and menu, but not Ctrl-Del via shortcut.   I prevent a certain signal from emitting now during deletes so it wasn't telling the window to update.

 

>Redid it a few times and it's repeatable.

 

It's easier to reproduce than that (doesn't need two files) so it's pretty important.  The issue is again because of keyboard shortcuts using a spell cast function in a different file where I didn't do something afterward.   Tl;dr I believe it's fixed now. 

 

Edit:  Updating the package in the post above.   Also I'll be looking into why exactly pasting a branch is slower now than in the build two days ago and hopefully fix it.

 

Edit2:  I know of one issue with just doing Ctrl + C marking the file as modified.  It's not a critical issue so I don't care about it right now.  I will be fixing it though.

 

----

 

Edit3:  Just updated the build above.   I took out marking the file as modified for all spells because some spells do not modify the file (like Copy).

 

Edit4:  Updated again.  

Link to comment
Share on other sites

Oh my god, that sounds like hell to maintain :o

 

Grabbed the newest update and will be messing with it to report back later!

 

Also, I was wondering about that ctrl+c thing, but thought maybe I bumbled something, so blamed myself for accidental editing.

 

EDIT: Got one for you! Transform->Apply removes the transform without applying it.

Link to comment
Share on other sites

> EDIT: Got one for you! Transform->Apply removes the transform without applying it.

 

I downloaded the above build just to be sure, and it Applies fine for me.  Are you sure you understand what it's doing?   It's zeroing out all the parent transforms and adjusting the vertices to compensate, so the end result is Translation/Rotation all zeroed out and the mesh doesn't move anywhere.   Not applying the transform would result in the mesh actually moving when you run that spell.  If this is happening to you I'd need a specific file example because the ones I have tested are just fine.

Link to comment
Share on other sites

Okay, it seems to be the collision data forking it up. It could also be me not entirely understanding how to use one thing's collision data on another thing :( I've been doing a lot of trial and error experiments when I should probably be seeing if anyone has posted a how-to (except.. they're always goddamned youtube videos and I hate those).

 

What I was wanting to do was use the WelcomeMat5 collision data on the closed display box, as I have made an unbroken glass pane for it that I'd like to be able to put stuff under (and snap display pads under for that extra fancy touch).

 

Open ~\Meshes\Props\WelcomeMat\WelcomeMat5.nif

 

Open ~\Meshes\SetDressing\FederalistFurniture\FederalistDisplayBoxSmall01.nif

 

Copy the root node of the display box into the welcome mat nif. Translate it Z: -2, then Apply it. It should pop back up those two units. Delete the collision object that hitched a ride with the display box node and it moves back down to where it's supposed to be. I didn't even think of removing all the crap that came along (as I would be doing before saving the end product...), I just saw it was moving back up when I don't remember it doing that before even with extra collision flotsam, so I came here :(

Link to comment
Share on other sites

Oh, I don't even support Apply Transform on FO4 meshes yet..   The trishape also needs to support Apply Transform or doing Apply at the node level does nothing.   Since I haven't updated the spell for FO4, this is what you're witnessing.   If you right click on BSTriShape > Transform, you'll see there is no Apply option.

 

I guess I assumed this would be noticed, but really it's pretty obscure.  It's why the Spells system needs to have a proper version check so that I can turn off Spells by version.  So you wouldn't have gotten the option on the NiNode either.

Link to comment
Share on other sites

Well that explains a few things (including maybe 50% of my crashes while testing stuff...). I guess this is why I had to bite the bullet and mess with connection points to rotate stuff  :facepalm: (As opposed to just pasting the same damn set in everything without having to edit it).

 

Sometimes I miss the blatantly obvious, I swear...

 

EDIT: For the record, the 04.20.2016 build of Nifskope lets me do this and doesn't spit any errors (and seems to actually apply it since it stays the same), which is why I just assumed I was messing stuff up and not that it wasn't supported.

Link to comment
Share on other sites

You're right.  There's a difference with the spell in the newer builds, but it's just a "viewport not updating" issue.   I guess when doing Apply on a NiNode it may just adjust the BSTriShape transform, which it's able to do (that part is unchanged since Skyrim).  I assumed it would cascade all the way down to the vertices (which are now different) but I didn't actually check the logic.   The reason it snaps back is that the viewport isn't updating correctly.  If you do *anything* which updates the viewport correctly it will snap back into the right location.   I'll look into it.

 

As for crashes, the only crash you mentioned (copy/paste/del/paste) I fixed, yes?  That was a legitimate issue with my test build.  You shouldn't be getting any crashes other than the longstanding known issue where editing shader flags randomly crashes.

Link to comment
Share on other sites

Ahhh okay, makes sense.

 

Yeah, that one is fixed :) I just tested it a few times and no crashes.

 

The only crash I'm still getting that's repeatable is the one I blathered about a while ago in here, but I have a feeling I'm the only idiot who actually does things that way, so...

 

EDIT: I think that might be it for the transform apply. I looked back through the files I did a while back and the trishapes have transforms set, which is something I usually don't do. Or I set them myself and have no recollection of it (a possibility, sadly enough).

 

EDIT2: Speaking of transforms, going into the transform edit window marks the file as changed, even if you don't enter anything. I'm guessing that's working as intended though, but I thought I'd mention it.

Link to comment
Share on other sites

I don't recall if I made this feature request or not, but... can havok hulls have a transform apply spell?  Chunk Extractor or Chunkmerge (don't recall which) doesn't account for this, and the hulls are zeroed out in position.  A prime case of this is the Jorrvaskr grounds mesh (meshes/architecture/whiterun/wrterrain/wrcompanionbase01.nif).  I want to fix some conspicuous lack of stairs in the hull on some parts parts that make actors on that part look like they're floating, but since the transforms aren't zeroed out, and positional values don't seem to be 1:1 between havok and the NiTriShapes, things get outta positionally.

Link to comment
Share on other sites

Is there a way to get NifSkope to output a list of meshes and their BSXFlags values?

 

Or can you tell me the hex address of the BSXFlags value? I can just parse the files myself in that case.

Link to comment
Share on other sites

Someone sent me here from beth.net,

 

'Materials I save in Bethesda's material editor don't open in nifskope.  I made sure this was the cause:

 

I can open the mesh in nifskope just fine and it loads a material I copy paste from Bethesda's .bsa's I've renamed and moved to another directory.  Then, all I have to do to break it is load up the material in the material editor, hit save (without changing anything), and when nifskope tries to open the material again it crashes.

 

Ideas?  Is this a common issue?'

 

I'm running Nifskope 2.0.0 Pre-Alpha 5.  The material I'm looking at is BldDecoSmFlrOnly01 from Fallout 4.

Link to comment
Share on other sites

Because their editor saves them in JSON format, which honestly it shouldn't.  The engine can read both binary and JSON formats.  I don't support reading of JSON-format materials.  In the meantime you can simply open them up in the latest Material Editor (by ousnius) and re-save them as binary.  I would suggest you do this for anything you release anyway.

Link to comment
Share on other sites

Is there a way to get NifSkope to output a list of meshes and their BSXFlags values?

 

Or can you tell me the hex address of the BSXFlags value? I can just parse the files myself in that case.

 

This is very rudimentary, but it works-ish.

class Program
{
	static void Main(string[] args)
	{
		using (BinaryReader b = new BinaryReader(File.Open(args[0], FileMode.Open)))
		{
			b.BaseStream.Seek(500, SeekOrigin.Begin);
			byte[] byteArray = b.ReadBytes(500);

			string sHex = ByteArrayToString(byteArray).ToUpper();
			if (sHex.IndexOf("C200", StringComparison.CurrentCulture) > 0)
				Console.WriteLine(args[0]);
		}
	}

	static string ByteArrayToString(byte[] ba)
	{
		string hex = BitConverter.ToString(ba);
		return hex.Replace("-", "");
	}
}
Link to comment
Share on other sites

Because their editor saves them in JSON format, which honestly it shouldn't.  The engine can read both binary and JSON formats.  I don't support reading of JSON-format materials.  In the meantime you can simply open them up in the latest Material Editor (by ousnius) and re-save them as binary.  I would suggest you do this for anything you release anyway.

Does this mean there are no plans to make the two compatible?

Link to comment
Share on other sites

I asked this question on the Geck beta forums, but being what they are, focused around the Geck beta, I thought here would be more appropriate to refrain:

 

In my experience using earlier NifTools versions for 3dsMax Design 2009 and currently for modding Fallout 4 for 2012, consistently accurate vertex color export has always been and remains an issue. It was stated that this issue only exists with specific tools versions and incorrect export settings.

 

What versions of NifTools are recommended and which export settings are recommended for achieving the best results where it concerns handling vertex colors?

 

Thanks, and I do apologize how it looks and may be interpreted asking the same question twice.

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...