Jump to content

"GOC Method" -> Armor "World Object" Tutorial (3DS MAX 2012 and Nifskope)


Chupy

Recommended Posts

1. Importing in 3ds Max 2012

1. Import an existing World object (or "GO" or "WO" or Ground Object) from Beth, take boots "dragonbonebootsgo.nif" -> for boots, for clothing "prisonerragsgnd" is what I use the most, even for other parts of armor, like helmet.

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

9f199be69c5d80b11905b397ac866a89.png

When Importing check the "Collision" checkbox!!!!!

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

 

2. Import your mesh (you want to convert into GO object) the normal way. (same as the above, but don't need the "Collision" checked.)

 

 

2. Modifying in 3ds Max 2012

1. Delete from the Modifier Stack, "BSDismemberSkin Modifier" and "Skin", so the only left is "Editable Mesh" you can put "Smooth" on the mesh with Smoothing Groups "2"-> as Nightasy says it keeps the vertices count

 

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

Delete all Actual Body Parts! We don't need that for a World Object

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

 

2. Deform your mesh like you want. You can keep it the vanilla way, by putting the armor just above the Grid, leaving "almost no space" and keep it in the center,

 

rotate it for 90 so that it is lying on the floor.

Clothing: shrink it from above (using uniform scale),

Heavy Armor: keep it as it is, just make sure the non heavy parts are somehow in one place together with the rest of the armor, not to much in a distance, keep near as possible.

 

3. You see a "Box", named 'bhkRigidBody', put that in the absolute center of the Grid if it isn't already.

 

4. Now, select the Hollow Box named 'bhkConvexVerticesShape', in modifier list select the "Editable Mesh", yes on all warnings, and select Vertex. Move the

 

vertices, so that the hollow box covers the whole Mesh. If the armor is complicated, you can make a box for the armor where it lays inside and maybe shrink it a little bit.

It doesn't have to be perfect. It only has to be near the form as possible.

My examples:

2c5d30e8f1c061164ee6120219344bfe.jpg

 

3. Exporting to NIF

You can now export: keep the settings like this

b59219603916b9067c3acc8af15c2f07.png

 

4. Nifskope - 1. From two to one object

1. Open your exported GO objects and the one you used from Beth as your collision box in Nifskope.

I will use from the "Cute Knight Armor" the beret (helmet) and from Beth the "prisonerragsgnd.nif", but the procedure is the same for every combination.

 

2. Now arrange the windows, you see them both.

Look the window with "your exported mesh".

With the right mouse button click on the "NiTriShape", a menu will popup select "Block -> Copy Branch"

--OR--

Select it with the left mouse button and press "CTRL+C" on your keyboard (shortcut for Copy Branch)

049613ffe42f22e17c811a1d47eaa676.png

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

Don't try to use just "Copy" in the "Block menu", cause it won't copy the whole "Branch" only the root, but we don't need only the root,

same for "Paste" and "Remove"

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

 

3. Go to the other window "Prisonerrragsgnd.nif" and select the Main Node "BSFadeNode" and press "CTRL+V" (or the right button "Block -> Paste Branch" ).

b2e57084c1655d3a5841265c9d11f671.png

 

You will notice that the name of the armor part isn't cannon with the other names of the armor:

a69cd95381f92ca0592498c8a0fb50da.png

We will change that later.

 

And do the same thing with other "NiTriShape" in your Exported GO object, this example has only one, but most armors are in more parts.

 

4. In your "Exported GO object" window, with the left mouse button click on "+" next to bhkCollisionObject -> "+" bhkRigidBody, and then your will see "bhkConvexVerticesShape", and copy that, like normal "CTRL+C"

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

!! don't forget click with the left mouse button !! and then pressing CTRL+C, being selected isn't enough, cause if your in some other window it won't be Copied

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

 

5. Go to the vanilla beth GO object -> again click the main node, and press CTRL+V

 

6. Close "Your mesh export" window, we don't need that anymore.

 

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

Don't close before you copy, because it won't paste the armor!

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

 

7. Now you see something like this

46f79f92d63cd5d9d0e5b5a37cc4ae54.png

 

 

4. Nifskope - 2. Clean the mess

1. Delete the "Beth mesh" by click on it and press "CTRL+Del" or right mouse button "Block -> Remove Branch", and do that for every mesh that is vanilla Beth! In this example we have only one.

581616312962e50861e5d061fe9065c6.png

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

You could have deleted the Beth Mesh before everything else, so that you don't mix it up with your mesh

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

 

2. Rename all your mesh to something you like, just keep the root BSFadeNode with a different name.

 

Here is how to do this:

Click on your mesh, then in the bottom window you will see the "Name" variable which is a String under "Value" right click on the name itself, a menu will popup,

 

select the "Edit String Index"

90de494dc89e6f01531003fb8a05427a.png

 

After that, a window will popup, it will give you a existing list of name, but under that you can give a new name. I will write "berretGND:0"

08fd7eb96799ff30892b68ecfefd4a45.png

 

Do the same thing for the "BSFadeNode" and every other armor part.

 

And you will see something like this.

5abc2bc293ec4e5e944cf8cc4006b677.png

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

Beth style is to name the root "blablaGND" and the armor parts from top to bottom "blablaGND:0", "blablaGND:1" and so on.

 

You don't have to do it the same way. Cause you will sometimes see in a beth armor that every armor part has the same number ":0", and named different.

But always the BSfade Node has a different name then other parts.

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

 

4. Nifskope - 3. Basic Shader settings

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

Here is a bit tricky part, and you have to be very careful, if you don't do this PROPERLY your GO object WILL cause CTD to your game!

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

 

Click on "+" to next to your first "NiTriShape" and select BSLightingShaderProperty

 

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

-> this is the most important in every armor.

It tells the engine: how will the armor presents itself in game, does it have skin modifier, is it double sided, does have alpha channel, does have environment map,

 

how it should glow and so on.

 

In short: All the settings in this part, should be the same as the ORIGINAL armor that the player wears.

!!!THE ONLY DIFFERENCE!! should be that it has no SLSF1_Skinned FLAG!

 

So, you can open your original ARMOR, copy all the numbers and settings and change the disable the SLSF1_Skinned FLAG.

 

But I will give you here the basics, for more advance shader settings you will have to see another tutorial, or when I finish my WIP mod, I will try to make one.

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

 

You will see something like this.

50a90d954d2ab6ec38538933a0b64790.png

 

Notice in the far right side of the picture a red circle and a line under that circle - this line shows where is going to show the arrow for selecting of list of objects.

 

I circled the parts, that is going to be modified.

For everything you want to change you have to double click on name or number.

-----

1. Circle: For a Basic armor, it should be "Default", cause 3ds max will export the same setting as the import was. But if it is something other like "Environment Map"

 

-> then it needs more advance settings -> it is better to copy all the existing settings from the ORIGINAL armor or check under Textures if there is actually an

 

environment texture present, if it isn't then just change to Default

 

2. Circle: MUST DO THIS! Double click this and a arrow will show up, click it so you see a list with check boxes.

a125dc38496527d691218f3208c29a99.png

Uncheck "SLSF1_Skinned"

 

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

If the "SLSF1_Environment_Mapping" flag is checked and you just saw that there isn't an Environment texture then you have to uncheck that too.

 

So for an "Environment Map" to Work:

1. It must have an environment texture assigned

2. Skyrim Shader Type: Environment Map

3. Shader Flags 1: "SLSF1_Environment_Mapping"

 

If something of this is missing, it won't CTD with only 1 piece present, but if a room full of this stuff is present 100% CTD!

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

 

3. Circle: it has to be "X 1.0000" and "Y 1.0000" -> and this for every armor the law!

 

4. Circle: "for basic no neon lights"

-> keep at: R 0.000 G 0.000 B 0.000 OR #000000

 

5. Circle: "for basic no neon lights"

-> keep at: 1.0000

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

Yes, if you want to make neon lights this is the part you have to change!

Choose any color you want in the 4. circle and in the 5. circle you give how much strong it will glow.

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

 

6. Circle: change to "WRAP_S_WRAP_T", it is the law for every armor!

(actually, every armor part has the same settings, and i don't know why :), just keep at this and you won't have problems )

 

7. Circle: keep at R 1.000 G 1.000 B 1.000 or #ffffff

For every armor it should be like that and skin. Can't tell specifics, but when I write a more advance nifskope tutorial I will learn more about it.

-----

and that should be all for the shader settings.

 

4. Nifskope - 4. Collision Settings

1. Click the "+" next to "bhkCollisionObject" -> "+" bhkRigidBody

And you will see the "bhkConvexVerticesShape", select it.

Now you will see something like this.

b611ea0bc50b17f99479eb3a00e71665.png

Did you notice it is the same object, that we copied! Our copied object is the last thing in our list, even it isn't under the root node "BSFadeNode" (it has to be like that).

 

And you are guessing right!

We have to replace our "bhkConvexVerticesShape" with the vanilla "bhkConvexVerticesShape" but before that, from the original copy the "Radius" value ( look the for third Circle in the last screenshot ).

In this example it is 0.0271

 

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

Always it should be 0.0XXX, even if it is 0.1 it WILL cause CTD.

But I think i didn't saw more than 0.04

 

Average should be 0.01 till 0.03

 

But ALWAYS copy from the vanilla which you have taken as reference.

So that the collision is precise as possible.

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

 

2. Now, remove the Vanilla "bhkConvexVerticesShape", by selecting it and press "CTRL+Del" (it is the only object under the "bhkRigidBody")

 

3. Select your "bhkConvexVerticesShape"

--

1. Circle: double click "HAV_MAT_STONE" and change to "SKY_HAV_MAT_SOLID_METAL" -> this is for now the only known working and not causing CTD

2. Circle: change what ever number to which you copied number -> for this example "0.0271"

3. Circle: change "0.0000" to "-0.0000" -> sounds stupid, but believe me, if you don't do this, it will CTD

4. Circle: change "0.0000" to "-0.0000"

--

 

4. Select the "bhkRigidBody" under the "bhkCollisionObject".

a72496f922059829377060f1267a2717.png

Check the number next to your "bhkConvexVerticesShape".

 

Write that number next to "Shape" under value, where it is now "None". Just double click and put that number and Enter.

 

And that's all for the collision. And one last step.

 

4. Nifskope - 5. Inventory Marker Settings

This one tells you, how should be the armor presented on the inventory screen. You can rotate it in all 3 directions and zoom it, and thats all.

 

Select the BSInvMarker, and you will this:

61503a4467bd55341cfe7c42ed61b3ae.png

 

You can see that under the "Rotation X" is some number "1570"

-> that means the beret will show from top, but I want to be like it shows in nifskope, and put it to "0"

 

So if you like how it looks in nifskope, then just put in every direction "0",

but for most armors, which are laying down you have to use "Rotation X".

And to see the results you have to go ingame and see it for yourself.

 

 

4. Nifskope - 6. Save Your Work

File -> Save As -> somethingGND.nif or somethingGO.nif, or whatever you want and save.

 

And now you have a complete working non causing CTD World Object or Ground Object.

 

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

Info:

 

Tutorial:

This Tutorial explains how to do the "GOC Method" of making World Objects. I named it so that you know what are you doing and when you need help you can ask me for help.

 

"GOC Method":

This Method gives non-causing CTD World Objects, but is it the best way to make them? I don't know. As for now, the exporter in 3ds max, can't export working World Objects for Skyrim, but it can export ConvexShape which can be imported in a Vanilla World Object.

 

I made about at least 30 different items with this method, and I did tested them in game with at least 100 pieces at my screen. So it is working.

 

If you think, something could be better done (with practical proof), please tell me.

OR

If you don't understand some part of the tutorial, I will gladly explain it better.

 

Any Comments/criticism are welcome!

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

Link to comment
  • 2 months later...
  • 6 months later...

I had to register for two reasons:

 

  1. Great tutorial. It helped me out a lot.
     
  2. The part about making the bhkConvexVerticesShape cover the entire mesh is very wrong. If you do that, the mesh bounces around the room when it's dropped on the ground. I can confirm this because it just happened to me. I figured Bethesda made theirs small for a reason, and I was right. I made mine small like theirs and it worked like a vanilla piece of clothing when dropped on the ground.

    tl;dr: Don't make your bhkConvexVerticesShape as big as your entire mesh. Make it small like the vanilla ones or it will bounce around and act all crazy.

Oh, also, you can make your material something other than SKY_HAV_MAT_SOLID_METAL now. I set mine as cloth and didn't get a CTD.

 

 

Anyway, thanks again for the tutorial. I had no idea how to do this before I read it and you helped me a lot.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use