Jump to content

Tutorial: Connection Points with NifSkope for Wall Items


Tenamil

Recommended Posts

Hey folks, I thought I'd give a quick tutorial on how to make Connection points with Nifskope. I couldn't find anything on the internet or YouTube when I was having trouble, but I figured it out after a couple hours and banging my head against the wall.

 

So first you need to open your custom made mesh and a vanilla mesh with Nifskope.

 

Select the line in the Vanilla block list called BS:ConnectPoint:Parent and right click on it then go to Block and copy.

Then that's it, you can minimize the Vanilla mesh. (The reason you have to do this, is if you create a new block as BS:ConnectPoint:Parent) NifSkope crashes).

 

Over in your Custom mesh right click on the blank white area of the block list and choose Block -> Paste

the BS:ConnectPoint:Parent will now appear on the bottom of your block list, and it will be given a number based on how many items it followed, but it will have the incorrect value for example mine says 10 BS:ConnectPoint:Parent BFX [2]

 

Now go into your header, scroll down till you see Strings and expand it, all those strings have a value for the mesh. Now select Num Strings. Edit that number after it by double clicking and add 1. So if it was Num Strings : 8, change it to Num Strings : 9.

 

After you've done that right click on the item below it called Strings. Choose Array -> Update (or you can click the little green arrows next to it)

Now you'll notice below in the Strings a new line has appeared but you can't edit it.. Don't worry we'll get to that later

 

Then go back to your block list and select 0 NifNode Scroll down till you find Num Extra Data List. (If your mesh is custom made with 3DSmax it should only have the number 1 after it (Num Extra Data List: 1) Expand it and double click on the 1 and change it to 2. Then right click on the line below Extra Data List. (Or again click the green arrows next it). If you look into your Extra Data List a new line will have appeared, but you can't edit it yet.

 

After you've done that, you'll have to SAVE so it refreshes the data list we just edited (Always best to use the Save As function, with different name so you can create a backup of the original)

 

Now go back into your header, down to strings and on that line you added double click and enter CPA (I believe it stands for ConnectPointAsset)

 

Now lets give your 10 BS:ConnectPoint:Partent a correct value. Select it in the block list and at the bottom of NifSkope, under block details, there will be a line says Name double click the area next to it and put in the number of the CPA string. So using my examples, I would put the number 8 in, but the easiest way to find out the string numbers is just count them starting from Zero. Once you put in the number hit enter and the
10 BS:ConnectPoint:Parent will automatically be given the value CPA. So the line should now look like this

 

10 BS:ConnectPoint:Parent CPA [8]

 

Once it looks like that, it's time to assign it to the Nif node and link everything together.

Select [0]NifNode and scroll back down to Extra Data List and expand it. Double click the line we made and add the number that's in front of BS:ConnectPoint:Parent (in my example it'll be 10)

 

After you've done that, your pretty much done. Your item should snap to walls no problem now, if it snaps backwards or sideways, Click block list item BS:Connect:Parent go to connections, in the Block LIst Details, you'll see >ConnectPoints with 2 submenus called ConnectPoints. You can expand either of them. The first one P-WS-Origin you don't need to worry about for wall items, but the second P-WS-Autoplace is the direction it'll face when it's placed. To change that, Right Click on the ConnectPoints submenu, go to Transform -> Edit and use the X Y Z to move it around till it lines up your object the right way. The back of the circle is where the wall would be. So in rotation under the A put 0, 90 or 180, you want to get it till the back of the circle is flush with the back of your object and the little dashed line that comes out of the circle goes through your object.

 

 

Well I hoped this helps the newbies like me and if you have any questions, please leave them in the forums and I'll try to answer them the best I can. Also if you did create a unique furniture or decor item in 3Dsmax there are more steps that need to be done. Let me know if you need help with that, and I'll try to walk you thru it as best I can.

 

Good luck and happy modding.

Link to comment
Share on other sites

Awesome to see people trying to help others, it makes it a lot easier for new modders to pick it up and become a part of the growing community. so, kudos, I thank you for your time and effort.

I do have a few things I can add to this later, that will save a lot of time, if you are alright with it. I don't want to step on toes or steal your thunder. Its awesome you took the time to share this regardless.

Link to comment
Share on other sites

@JujooGuppy Absolutely please add anything you can to help others, I'm not an expert myself, I just learned this and put it up and would LOVE to learn more especially if it makes it quicker and easier.

 

I also just learned today, when doing picture frames, they don't need 2 connect points, they only need one the P-WS-Autoplace. Having the other one messes up the placement and puts it in the wall

Edited by Tenamil
Link to comment
Share on other sites

Well, the P-WS-Origin actually adjust where the Bounding Box is originates (You define the bounding box in the .esp file, with FO4Edit. Or with the CK.). The bounding box actually effects how / where wall items / hanging items place, but doesn't seem to effect ground objects. Its kinda odd, not exactly sure the why behind that.

Anyway, I will post a bit later here.

Link to comment
Share on other sites

Thank you! I'm going to give this a shot later today.

 

I need connection points added to some nifs so I can make the rest of the bathroom items buildable.

(well, have that already, just can't put them where they belong)

 

"they only need one the P-WS-Autoplace"

 

That's also what I need. (eg: putting the bathroom radio on the wall)

Link to comment
Share on other sites

Nope, still wants to go into the floor. grrr. (that's with all zeros for axis. time to play with those, but I should be able to put anywhere on the wall. I grabbed the CPA from picture frames)

 

Aha!

 

Ok, after saving, it put an extra number after CPA.

had to go and put CPA a second time, then it go the numbers right.

 

In my case, for the radio, it's 5. But nifskope moved it to the right spot in the blocklist,

but put CPA [2] [5] which confused it.

The string had CPA [2] edit it back to just CPA and now it works.

No translation needed. Whoo-hoo!

 

Bathroom radio done!

 

Thank you!

 

Edit again: sigh. doing bathroom dispenser, it's in the floor. All the connection point info looks right.

I've redone it multiple times.

hmm, time to check version of nifskope etc.

 

BTW: when it doesn't work, the CPA is at the bottom of the list, when it does, it got moved automatically to slot 2, right after BSXFlags.

Not sure what made it automove though. Time to check nifskope version.

Edited by skubblebubble
Link to comment
Share on other sites

Thats perfectly fine for the CPA to move to the second spot. Best way I can describe it, is it's the load order for the model. The game wants to load the properties first before loading the graphical part. The important part is making sure the Number beside the CPA matches the correct line in Extra Data List

Link to comment
Share on other sites

Thats perfectly fine for the CPA to move to the second spot. Best way I can describe it, is it's the load order for the model. The game wants to load the properties first before loading the graphical part. The important part is making sure the Number beside the CPA matches the correct line in Extra Data List

 

It does. I'm going through the blocks, index, etc. All looks good.

I can even do block-insert and put the info in, all appears fine in nifskope.

Game mounts it in the floor.

CK doesn't see the connection point parent.

On the one that works, it does.

 

soo, issue is, what happened to make the first one work, that I cannot duplicate.

Has to be something stupid minor/weird that's making the game read the original nif

and not my modified one. sigh.

 

Why is something that should be so simple, so hard.

Link to comment
Share on other sites

Ok, here's what I'm doing, from the start.

 

 

copy the PlayerHouse_BahtroomDispenser01.nif to 000BB_PlayerHouse_BathroomDispenser01.nif

edit said dispenser in CK, but give it new name/formid. 000BB_PlayerHouse_BathroomDispenser01

Also edit it to use the 000BB nif.

edit a workshop item so I have that for preview.

 

open up 2 copies of nifskope.

1 has one of the pictureframes.

1 is dispenser.

Follow your directions.. OR

insert new block after BSXFlags.

 

Same thing. Won't see the connection point parent in CK or game.

 

nifskope sees it just fine.

 

BSConnectionPoint::Parents CPA[7]

 

Number for where it is in the list doesn't matter. Insert and it's 2.

Add and it's 10

 

extra data list, yup 2 items, (CPA) is listed.

grrrr.

 

Going to try copying a different block. Like I say, it has to be something stupid I'm missing/doing wrong.

(thanks for the help though)

 

EDIT: derp. looks like I did make a boo-boo. stay tooned.

EDIT2: ayup. I'm an idiot. I helps to make SURE that it's using the right nif!

Edited by skubblebubble
Link to comment
Share on other sites

Select the line in the Vanilla block list called BS:ConnectPoint:Parent and right click on it then go to Block and copy.

Then that's it, you can minimize the Vanilla mesh. (The reason you have to do this, is if you create a new block as BS:ConnectPoint:Parent) NifSkope crashes).

It only crashes because you mustn't have linked the "BS:ConnectPoint:Parent" node to the root node's ExtraData section correctly.

You can add a new block "BS:ConnectPoint:Parent" in Nifskope, but then you must rename it to "CPA", and then you need to select the root node, and look in the Details List for the "ExtraData" section. If it already has 1 extra data such as a BSX block, then change it to 2, click the refresh icon near it (two circular arrows) then hit the SAVE button (to make it editable) and type in the index number of your "BS:ConnectPoint:Parent" node. Now save the nif again. IMPORTANT: there must not be any empty "ExtraData" children or the nif will CTD when you try to load it in game. So if you have only two ExtraData entries (e.g. BSX and CPA) then the number of ExtraData must be 2 and no more, or it will end in tears. Some nifs will have a third ExtraData entry for the animation manager (I forget the name of that block), in which case the size of ExtraData will be 3.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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