Maya Fallout 4 Support

A place for to discuss the development of our tools for Maya.
No active developers

Re: Maya support

Postby Cold Blood » Tue Mar 22, 2016 11:06 am

I understand now, it all makes sense, why you need an array for passing arguments. I don't know why the code generated in niflib doesn't pass the arguments.
Cold Blood
NifTools Developer
NifTools Developer
 
Posts: 106
Joined: Mon Mar 14, 2011 3:33 pm

Re: Maya support

Postby neomonkeus » Tue Mar 22, 2016 4:35 pm

Our version just might not be able to handle them....yet ;)
- Please post bugs and feature requests on the forum.

Latest Blender Nif Plug-in News
Blender Nif Plug-in - Dev Version
Blender Nif Plug-in - Dev - Milestone/Issues

A diffuse map is a piece of paper which tells you where the bomb is so that you can diffuse it.
Please avoid using the .obj format, it usually ends in tears :D.
User avatar
neomonkeus
NifTools Developer
NifTools Developer
 
Posts: 1629
Joined: Wed Jul 14, 2010 12:14 pm
Location: whatever couch I can find, Ireland

Re: Maya Fallout 4 Support

Postby jonwd7 » Thu Mar 24, 2016 1:40 pm

@Cold Blood

For a little more clarity, it's important to note that there shouldn't be multiple "Vertex Data" <add> at all. The real way to do it is with array-based ARG[] and one big compound. However before getting around to implementing it for NifSkope, and since ARG is so slow to parse (for me at least) I decided to split it up into several optimized compounds and that nightmare catch-all compound you referenced.

So all the cond="" in each "Vertex Data" add is to try to sort between these cases + the fallthrough for the catch-all. The BSVertexData catch-all is also very inexact. I don't think 100% of FO4 NIFs that fall through to this catch-all will parse.

If you want to see more exact XML, check out figment's

https://github.com/figment/nifxml/blob/ ... .xml#L1610
and
https://github.com/figment/nifxml/blob/ ... .xml#L6150

Obviously way nicer, but it's going to be really hard to implement into NifSkope I think. The way he changed niflib to support parsing this syntax is somewhere in here: https://github.com/figment/niflib/commits/master
jonwd7
NifTools Developer
NifTools Developer
 
Posts: 284
Joined: Thu Nov 08, 2012 3:10 pm

Re: Maya Fallout 4 Support

Postby Cold Blood » Tue Mar 29, 2016 9:55 am

Actually I was thinking of adding dynamic parameters passed to the compound, like arg1="value1" arg2="value2" and so on. And in the compound you would have cond="arg1 == 1 and arg2 == 2". And is seems similar to the arr attribute. And it seems more flexible to me and easier to implement :). Also I think I can get it to work with arrays too. So instead of arg3="value" you can have arg3="array[2]".

This seems pretty easy to implement. All in all I want to code in a way that is compatible with the rest of the stuff, like nifskope and niflib and to make the nif.xml compatible with everything as much as possible.

I think I know the problem with nifskope, you pass the arguments for each vertex and if you have 15 thousand vertices, it might take a while.
Cold Blood
NifTools Developer
NifTools Developer
 
Posts: 106
Joined: Mon Mar 14, 2011 3:33 pm

Re: Maya Fallout 4 Support

Postby jonwd7 » Tue Mar 29, 2016 10:06 pm

See: https://github.com/jonwd7/nifxml/commit ... 193c8434bd

We finally formalized our understanding of VF6 and VF7 and realized they alone describe the vertex data layout, and that when you actually take endianness into account the order the bits are in are the same as the order the features occur in the layout. I combined the two and treat as a ushort bitflag.

I still leave the optimized cases (large majority of FO4 trishapes use the optimized ones) for NifSkope speed. If you want the bare minimum XML definition, it's this: https://gist.github.com/jonwd7/6dc3b7cc ... e4000e3c07

It doesn't need array-based ARG syntax this way.
jonwd7
NifTools Developer
NifTools Developer
 
Posts: 284
Joined: Thu Nov 08, 2012 3:10 pm

Re: Maya Fallout 4 Support

Postby neomonkeus » Wed Mar 30, 2016 11:05 am

I have synch'd the niftools nifxxml repo with your branch.
- Please post bugs and feature requests on the forum.

Latest Blender Nif Plug-in News
Blender Nif Plug-in - Dev Version
Blender Nif Plug-in - Dev - Milestone/Issues

A diffuse map is a piece of paper which tells you where the bomb is so that you can diffuse it.
Please avoid using the .obj format, it usually ends in tears :D.
User avatar
neomonkeus
NifTools Developer
NifTools Developer
 
Posts: 1629
Joined: Wed Jul 14, 2010 12:14 pm
Location: whatever couch I can find, Ireland

Previous

Return to Maya Plug-in Development

Who is online

Users browsing this forum: No registered users and 1 guest