Jump to content

A quick (And probably bad) tutorial on copying collision to new NIFs


JuJooGuppy

Recommended Posts

EDIT: A quick note, when doing things like this, it is a GREAT idea to save often, but as different names to mark progress, in case you need to go back a step or 2 but not redo the entire thing. For example, I will name something like NewObject WIP1, then next save NewObject WIP2, 3 and so on. This can save you a LOT of time if you mess up. Just be sure to clear out the old NIF's when you have it working and finished.

 

Also of note, we can now create brand NEW collision, by using a combination of tools included with the CK & 3ds Max 2013 64-bit. Unfortunately other years of 3ds max should NOT work, or at least work extremely poorly. This tutorial doesn't cover NEW collision.

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Hey all. I have seen questions about adding collision a few times, and specifically about trying to add collision to new NIF's with odd shapes. This is the process I personally use, at it allows me to see where I am placing the collision as I go. Note that this is only relevant while we can't properly make our own new collision. Once that happens, this will be a thing of the past.

I hope someone finds this useful and follow-able, I admittedly made this pretty quickly as I have things to do. This tutorial does assume SOME familiarity with NIF's and Nifskope, but not much. Feel free to comment / post feedback, and also reference people to this post if people find it useful. Thanks and happy modding!

 

 

 

 

Copying Collision between meshes, and using the geometry to help position the collision.

First, have your new NIF already ready. Example NIF that I am putting collision on:

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial01_zpssqzqu7je.jpg

Then, find the object or objects you need the collision from for your mesh. In this case, I am using this barrel for the post collisions:

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial02_zpsddzxwhhq.jpg

First thing I am going to do is ready the barrel collision for transfer into my new nif.

I start by removing all texture properties from the trishape, so that its easier to remove later. This is done by selecting the BSTriShape. Then finding the BS Properties in the Block Details, as highlighted:

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial03_zpsuggdzhks.jpg

I then double click on each line of BS Properties (Click where the number 5 / 7 are), which selects said property, and hit backspace to clear it. DO this to both, and your result will look like this:

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial04_zpsyza9sqkh.jpg

Note in the above Screen, you can now see the properties that used to be assigned to the BSTriShape are loose in the NIF, no longer assigned to the main parent NiNode (0). This is good and fine for what we are doing. (Properties I am referring to are marked in green.)

 

Now, I right click the BSXFlags, select block -> remove block to remove it as this is not something I need for the collision. Note that you need to do this for anything else that is not the collision and the basic BSTriShape. Examples include things like animation controllers, or connection points, addon nodes, etc.

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial05_zps1zhk1mth.jpg

 

For what we are doing, we only want the bhkNPCollisionObject and the main BSTtrishape still attached to the main NiNode, as seen here (Note that the BSLightingShaderProperty, which used to be applied to the BSTriShape, is NOT part of 0 NiNode. This is what we want.):

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial06_zpsp15trepc.jpg

Now, I right click the 0 NiNode that has the collision / BSTriShape, and select Block->Copy Branch:

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial07_zpskcclz6ox.jpg

Then, going back to my NEW NIF, I right click on THAT 0 NiNode and do Block -> Paste Branch:

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial08_zpsy8bomyww.jpg

(Gotta break it up due to image count)

Edited by JuJooGuppy
Link to comment
Share on other sites

Continued:

 

 

This should result in something like this, with our new Collision NiNode in our new NIF (Highlighted.):

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial09_zpskxo1g6f5.jpg

At this point you can close the NIF you are copying the collision from, as it is no longer needed, unless you need multiple copies of the collision.

 

So, first, I want to rename the new NiNode (39 NiNode in my example). I generally use something to indicate what portion of my collision it is. In this case, its going to be my CollisionLeftPostLower. To set this, I first left click on my new NiNode, then find the “Name” line under Block Details, right click and Edit String Index:

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial10_zpso1mhwmdl.jpg

 

In the popup window, I now type my new name and click Ok.

 

Now, to position the collision, I right click the NiNode, and select Transform->Edit (NOTE: in the case of moving collision around, you actually do NOT use Transform->Apply after moving it, as it will not work properly. Simply use Transform->Edit to place it, then click ok. No need to do more.):

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial11_zpszjrwlwjx.jpg

Now I use the various tools to move the collision to where I want it. Note that you CANNOT use scale on collision, as it will not properly translate, unfortunately. After moving the collision where I want it, I click accept, resulting in something like this:

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial12_zpsefhdnovg.jpg

With the collision in place, I can now remove the BSTriShape that I used to position it, as its no longer needed. Simply click the small arrow to the left of your collision NiNode to expand it, then right click on the BSTriShape and select Block-> Remove:

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial13_zpsfsr5dtig.jpg

With this done, your collision is now in place. In my example, I needed to do this multiple times. Just repeat the process and add in all the collision as needed. You can wait until the end to remove the BSTriShapes, so you can see what all has collision. As an example, here is my NIF with all of my collisions, with the BSTriShape still intact to visualize it:

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial13-2_zpsjwtq2jlx.jpg

Before you save, be sure to right click in the black area of the viewport, and select Sanitize, and do all 5 options in the sanitize section. This is a good habit to get into:

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial14_zpswcouiojc.jpg

With that done, your collision should be good to go. While Sanitize should address this automatically, you can left click on your collision NiNode, then scroll down the Block Details to where it says “Num Children”. This should be set to 0 at this point. If it isn’t, set it to 0, and hit the green arrows below it. NOTE: If this is NOT set to 0, you may be using an out of date nifskope, so be sure to grab the latest update!

 

http://i76.photobucket.com/albums/j11/TDGaming-JuJooGuppy/CollisionCopying/Tutorial15_zpsw3bft2fk.jpg

Congrats! If you followed this through, your object now has collision. Please note that you still need to add in BSX flags, connect points, etc etc. This is ONLY for the collision. Also note, that if you copy collision from an object that is moveable, or objects that block your path but you can shoot through (Chainlink fence as an example), that property should be applied to your mesh. I used the collision from chainlink fencing on my barbwire fencing so that it would block movement, but allow you to shoot through.

I hope this admittedly sloppy tutorial still helps someone at least. I cranked it out in a bit of a hurry as I have plenty of work to do, but I really like helping my fellow modders. Feel free to ask questions, make suggestions, etc. I will probably refine this a bit in the future.

Edited by JuJooGuppy
Link to comment
Share on other sites

No problem, I especially appreciate you taking the time to take pictures. I'm a visual learner and following just text is a pain for me sometimes, haha. I'm actually using it right now to clean up and better collision the item I did a few days ago.

Link to comment
Share on other sites

Yep, used it as a reminder. I could follow along pretty well.

(Meant to say "good job" a few days ago...but got stuck on something else...so,)

 

Good job. =)

Awesome, ty. Kinda wanted a feel for how it came out due in part to me considering doing a few more in the near future as long as this one came out alright, and if I find the time / desire to do so of course. So thanks again!

Link to comment
Share on other sites

  • 2 weeks later...

After much frustration, searching, and fighting with 3DS max and NifSkope this was the first thing that worked for me! Thank you so much for this. I had to tweak a few more settings based off the original but eventually it worked. I followed a few other guides for 3DS but I could never get it to recognize collisions on export. The Fallout 4 3DS plugin does not appear to import collision data currently. I'm a hack of a user not fully understanding all of the functions and basically wanting to perform some simple functions, but this guide (with pictures) was excellent. Thanks again.

 

EDIT: Just to document what other stuff I did to get it to work:

 

1) Inserted in BSX Flags and setting those (clicking a flag by integer data brought up a box that had a check mark to enable collision) - most of you are probably saying "yeah, duh!" - told you I'm a hack. :)

 

2) Ensuring each reference was properly assigned to the number, since they were not the same as before. I basically went line by line looking for anything that didn't look correct.

 

3) Not sure if this was one of the requirements or if you already said it and I miss it in my delirium: under the NiNode, Collision Object was not set to anything. I changed it to bhkNPCollisionObject to match the template object.

 

4) On copying the block branches in a few of them didn't go under NiNode, so I had to copy / remove / repaste them back in. Not sure if I was just pasting in the wrong area or my computer hates me but it has been rectified and I now have a new keyboard.

Edited by PHAFmods
Link to comment
Share on other sites

  • 1 month later...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...