Jump to content
Lord Hayden

Blender 2.7+ Nif Exporter Tutorial

Recommended Posts

Still haven't had a chance to review the issues that are in the tutorial. Been busy with implementing bug fixes(weird situation) and getting them through the review process. The review process generally a large amount of time to iterate through to a full & final solution, (coding, writing tests and documentation) to the level of quality that we are now aiming for. What has been happening in generally what happens is the bugs are worked on concurrently, while the first is in review, the next is being having an initial implementation. So its kinda been a bit of a cycle of fixes in for review, coding more, the result being builds not getting created.

I still believe that setting the bar high to ensure quality is the right thing to do, as we sift through years maintainance. But in most of the cases for users interested in using the plugin at the moment, are willing to just get their hands on it and in most cases the initial implementation is "good enough" to work through their problem. This tutorial reflects that.

So what I am trying out is a new branch which will be used to make builds available all the time. This branch is basically a dump of all the latest fixes that are under review, with no guarantee of quality. We will also try and get more frequent development build created. 

TLDR; all builds are going to be made available via - https://github.com/niftools/blender_nif_plugin/releases

The next thing is feedback, everything from usability to bugs - we encourage people first and foremost to drop by the IRC - www.niftools.org/chat.html (no registration required) for a chat about your issues.

  • If there are issues with the in-progress bug fixes, those can be addressed immediately as part of the open issues.
  • If new issues are found and are features we want to support as part of they current milestone (see below), then they will be prioirtised first - (current milestone focus, object, textures & materials)
  • If issues are found, out of scope, (eg, armature support) they will be prioritised as part the corresponding milestone in the roadmap.

This is the backlog of issues, - https://github.com/niftools/blender_nif_plugin/milestones
Each milestone has a "theme" of feature support as some new feature were added ad-hoc, which is any of the latest bug fixes generally are easy to fix, but the full solution requires re-implement entire features. That said, the roadmap is flexible as we want to meet user needs.

\Neo
 

Edited by neomonkeus
  • reaction_title_1 2

Share this post


Link to post
Share on other sites

I'm not familiar with exporting anything other than static meshes. I'd suggest looking into tutorials for 3DS Max or something if you want to start playing around with that stuff. I'll make a tutorial for it once I'm sure of the processes and the possible bugs throughout the process, but that won't be soon.

Share this post


Link to post
Share on other sites

 Sorry too necro this topic, but how do you export armor, boots with BSDismemberSkinInstance  and skinpartitions?

This guy's videos show how with 3ds Max: https://www.youtube.com/playlist?list=PL584C2169F65490DF

I haven't heard of a way to do this with Blender

Share this post


Link to post
Share on other sites

Hello,

First, I am sorry if I make mistakes as english is not my native langage, and I also apologize if I ask stupid questions, but I am quite new to blender, and although I followed a few tutorials on modeling and texturing, there are still a lot of things that I don't understand.

I did as you say but I am having some issues. I tried to make a simple cube without collision just to see if I could export it. I didn't get any error message and thought it was a good sign but when I load it in the creation kit something strange happens: I can see it if it's in the void, but it's totally invisible if there's a surface behind it. 

Cube.png            Cube2.png

Any idea what I'm doing wrong? 

I also tried to make a collision nif, but I'm a bit confuse as how to do it. I used the same mesh as my cube but didn't add any material or texture, instead I used the rigid body properties and calculated the mass for it to be stone. But when I export it in nif it shows a cube in the window while there's nothing in yours.

CubeCollision.png

What could the problem be? Is it the rigid body?

 

Share this post


Link to post
Share on other sites

Hello,

First, I am sorry if I make mistakes as english is not my native langage, and I also apologize if I ask stupid questions, but I am quite new to blender, and although I followed a few tutorials on modeling and texturing, there are still a lot of things that I don't understand.

I did as you say but I am having some issues. I tried to make a simple cube without collision just to see if I could export it. I didn't get any error message and thought it was a good sign but when I load it in the creation kit something strange happens: I can see it if it's in the void, but it's totally invisible if there's a surface behind it. 

Cube.png            Cube2.png

Any idea what I'm doing wrong? 

I also tried to make a collision nif, but I'm a bit confuse as how to do it. I used the same mesh as my cube but didn't add any material or texture, instead I used the rigid body properties and calculated the mass for it to be stone. But when I export it in nif it shows a cube in the window while there's nothing in yours.

CubeCollision.png

What could the problem be? Is it the rigid body?

 

By the looks of the first problem, it might be a shader flag you're missing or have ticked accidentally. Open up your .nif and look at the BSLightingShaderProperty, it should have 2 lines called Shader Flags 1 and Shader Flags 2. If you can't solve the issue post a screenshot of your BSLightingShaderProperty.

As for the second problem, I can't really see what you have done due to the low quality screenshot.  By the looks of it you havn't used ChunkMerge to add in your collision files. Is this for a static mesh or a movable prop like a bowl?

 

Share this post


Link to post
Share on other sites

Thanks for your answer!

I checked the BSLightingShaderProperty , and Shader Flags 2 value was 0. So I added some properties (I used a skyrim static nif as a model), and now my cube looks consistant, but it's all black...

Cube3.png

Could it be because I didn't add vertex color? 

As for my collision file, I didn't add it to my cube because the file itself didn't look right. It has a cube mesh in it but it is supposed to be empty, right?

Here is the link to the files, maybe it will be easier for you to determine what's going on.

https://dl.dropboxusercontent.com/u/69069406/Cube PB/StoneCube3.nif

https://dl.dropboxusercontent.com/u/69069406/Cube PB/StoneCube_c.nif

And here are the blend files as well, just in case you need them.

https://dl.dropboxusercontent.com/u/69069406/Cube PB/StoneCube.blend

https://dl.dropboxusercontent.com/u/69069406/Cube PB/StoneCube_c.blend

This is just for a simple static mesh to begin with, is there much differences for movable props?

Share this post


Link to post
Share on other sites

Thanks for your answer!

I checked the BSLightingShaderProperty , and Shader Flags 2 value was 0. So I added some properties (I used a skyrim static nif as a model), and now my cube looks consistant, but it's all black...

Yeah it is black because it is missing vertex colors. If you don't want to add vertex colors, uncheck SLSF2_Vertex_Colors und Shader Flags 2 in the BSLightingShaderProperty

As for the collision file, its not supposed to be empty, it just has to contain the geometry of the collision you want, which it does. So thats fine. :)

Share this post


Link to post
Share on other sites

If you receive an AssertionError because you have n-gons in your mesh you may get around this error by editing your object and triangulating it  [CTRL-T]. I doubt this causes any issues since the export process triangulates the mesh anyway.

Someone with more experience may correct me if I am wrong.

 

Edited by cunningmoss6833
clarification

Share this post


Link to post
Share on other sites

I'm having another problem, but I am not sure this is the right topic. If not tell me and I will ask where appropriate.

I'm trying to modify an existing static mesh, and it used to import correctly in blender but I had to reinstall everything and now I'm having errors when importing:

blender%20error%20report.png

And this is what the mesh looks like in blender:

blender%20dome%20import.png

The texture path is set in nifskope, and looks fine

Nifskope%20dome.png

What am I missing?

 

Share this post


Link to post
Share on other sites

Nevermind, I manually reopened all the textures in blender and it's working.

As for the bhkCompressedMeshShape, I guess I can just make a new collision mesh and add it later in the new nif file.

  • reaction_title_1 1

Share this post


Link to post
Share on other sites

ChunkMerge takes the NiTriShape information from your collision file and puts it into your input .nif. All the template does is tell ChunkMerge what the file structure should look like. Assuming you're using a valid template it should all go smoothly, and I have not come across any kinds of issues regarding it merging a template instead of your collision file. Which file are you using as your template and what does your collision file look like?

Share this post


Link to post
Share on other sites

The first item I created was a snow pile and I believe the collision is working for that but I am not 100% positive.  The cookware set collision is not working at all.  For all the clay objects, I've been using the glazed bowl as the template.  For the ladle, the wooden ladle.  I noticed very odd collision behavior when I tested in game and that is when I started digging into it further.  I've been fighting this for about 1 week and have not had much success.  Attached should be a picture of my NifSuite settings, a Blender import of my final Nif, and a Blender import of my collision Nif that should be the same size as the bowl.

Let me know if you want to see something else.

Thanks for the help.

NifSuite.jpg

Collision.jpg

DesiredCollision.jpg

Share this post


Link to post
Share on other sites

The snow pile probably worked fine because it's a simple static model, which is what this tutorial is aimed at. Things like bowls and cutlery have to react and move using the physics engine as opposed to simple static meshes. It's been a long time since I've added Havok collisions to something like that, and I'm not entirely sure if it's possible yet with the new exporter, I'd have to look into it when I have the time.

Share this post


Link to post
Share on other sites

So, after a ton of research ....

Apparently ChunkMerge only works with STATIC objects.  The general concussions is to use 'barrel01' as the template to avoid errors. For those new to ChunKMerge, directions can be found here: <http://niftools.sourceforge.net/wiki/Skyrim/Adding_Collision_Mesh_using_ChunkMerge>. 

  • Run your ChunkMerge as if your object is a STATIC
  • Open your newly created NIF in NifSkope and open a similar stock NIF for comparison purposes.
  • Set your BSXFlag to 194 (Clutter object)

Set the following fields in your created object to the same as your reference object or modify accordingly

bhkRigidBody:
    Havok Col Filter > Layer = CLUTTER
    Havok Col Filter Copy > Layer = CLUTTER
    Inertia > m11 =
    Inertia > m11 =
    Inertia > m11 =
    Mass =
    Penetration Depth =
    Motion System = MO_SYS_SPHERE_INERTIA
    Deactivator Type =
    Solver Deactivation =
    Quality Type =

I tested in-game and the results appear favorable.

Please let me know if there is a better method.

Thank you, Lord Hayden, for taking the time to look at this.

 

  • reaction_title_1 1

Share this post


Link to post
Share on other sites

So, after a ton of research ....

Apparently ChunkMerge only works with STATIC objects.  The general concussions is to use 'barrel01' as the template to avoid errors. For those new to ChunKMerge, directions can be found here: <http://niftools.sourceforge.net/wiki/Skyrim/Adding_Collision_Mesh_using_ChunkMerge>. 

  • Run your ChunkMerge as if your object is a STATIC
  • Open your newly created NIF in NifSkope and open a similar stock NIF for comparison purposes.
  • Set your BSXFlag to 194 (Clutter object)

Set the following fields in your created object to the same as your reference object or modify accordingly

Hidden Content

I tested in-game and the results appear favorable.

Please let me know if there is a better method.

Thank you, Lord Hayden, for taking the time to look at this.

 

Excellent work, I'll have to look over this tomorrow, thank you for posting this. I'll also look into alternative methods.

Share this post


Link to post
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

×