Jump to content

3dsmax collision export finally a success BUT.....


greekrage

Recommended Posts

I successfully exported a few nifs with collision but mostly single element stuff...

 

Now im stuck doing some more complicated objects that have 5,10,20 parts...

I do the collision successfully and export BUT...the textures are all tied together...

Example:

lets say its a ship....

I assign textures to the hull and it effects all the parts of the boat... Then if i assign textures to another part the hull changes as well...etc etc..

 

What am i doing wrong ?

Link to comment
Share on other sites

When you already have 20 different meshes and you have aligned them uv to unvrap uvw (without unvrap uvw the textures will be crumpled). Then you just add 20, or whatever you need bsLightingFx/bsEffectFx. Assign your textures/bgem/bgsm to each material. Now assign a different material to each mesh. Edited by South8028
Link to comment
Share on other sites

MasterRootNode [ie.e., a dummy node]

Componet001

c_component001

Component002

c_component002

 

In the export view, you're assembly could look something like that where component001 is a mesh and c_componet001 is the collision component for the mesh. I typically make the names of the materials match the names of the mesh so I can keep track of every thing. So I would make a material named component001 and apply it to the component001 mesh. I generally wait towards the end of my work flow to do the havok collision stuff. When you export, you would select the masterrootnode and everything underit, and export selected.

 

Note 1: The more you do properly in 3ds max, the less you have to do in nifskope.

Note 2: Not everything will need a collision. Artistic liberty applies.

Note 3. The example above is simplistic. It gives you the means to track the assembly and assign different havok materials to different components (wood to wood part; metal to metal parts, etc).

Edited by pepperman35
Link to comment
Share on other sites

basically what youre saying is that i have to create a collision mesh for each part and link the collision to each...

 

Like this...

I tried this before posting but was hoping for a simpler method...because i have models that are many more parts...

Here i only did collision on stuff that the player comes into contact with..

 

NE5yrC.jpg

 

https://snipboard.io/NE5yrC.jpg

Edited by greekrage
Link to comment
Share on other sites

There are multiple ways of doing it. For example, let’s say I was making a set a saloon type doors. I would create two static posts, and two movable doors. I could either combine the two posts into one, or keep them separate. Either way will work. However, if animation is involved, these collision need to be separated out.


FO4_SaloonDoorRootNode [DummyNode]

PostRIGHT [Mesh]

c_PostRIGHT [Collision, using box primitive]

PostLEFT [Mesh]

c_PostLEFT PostRIGHT [Collision, using box primitive]

DoorPivotRIGHT [DummyNode] You’d setup the keyframe rotation for the right door.

DoorRIGHT [Mesh]

c_DoorRIGHT [Collision, using box primitive]

DoorPivotLEFT [DummyNode] You’d setup the keyframe rotation for the right door.

DoorLEFT [Mesh]

c_DoorLEFT [Collision, using box primitive]


Or


FO4_SalonDoorRootNode

Posts [Mesh]

c_PostRIGHT [Collision, using box primitive]

c_PostLEFT [Collision, using box primitive]

DoorPivotRIGHT [DummyNode] You’d setup the keyframe rotation for the right door.

DoorRIGHT [Mesh]

c_DoorRIGHT [Collision, using box primitive]

DoorPivotLEFT [DummyNode] You’d setup the keyframe rotation for the left door.

DoorLEFT [Mesh]

c_DoorLEFT [Collision, using box primitive]


Either of the above will work and both are animation friendly. If the saloon doors were static in nature it could all get condensed to something like


FO4_SalonDoorRootNode

SaloonDoorAssy [Mesh, consisting of posts and doors]

c_PostRIGHT [Collision, using box primitive]

c_PostLEFT [Collision, using box primitive]

c_DoorRIGHT [Collision, using box primitive]

c_DoorLEFT [Collision, using box primitive]


or simply

FO4_SalonDoorRootNode

SaloonDoorAssy [Mesh, consisting of posts and doors]

c_ SaloonDoorAssy [Collision, using box primitive which covers the posts and the doors]


Note 1: When creating collisions use primitives such as box, cylinders, etc whenever possible as they are the least expensive option performance wise. Using mesh is the most expensive option.

Note 2: You might consider naming the meshes to represent the respective component. In the materials screen, I'd name the materials to match the meshes so I can keep track of them.

Note 3. If using external models, but cautious of the poly count for these models. Not everyone makes models that are game friendly.

Edited by pepperman35
Link to comment
Share on other sites

basically what youre saying is that i have to create a collision mesh for each part and link the collision to each...

 

Like this...

I tried this before posting but was hoping for a simpler method...because i have models that are many more parts...

Here i only did collision on stuff that the player comes into contact with..

 

NE5yrC.jpg

 

https://snipboard.io/NE5yrC.jpg

No, you don't have to create a collision for every part. It's pointless. Only for those parts with which the characters interact. But it was about materials. Not about collisions. You must assign a separate material to each mesh that has its own texture in the model. How many textures you use - how many materials you have to assign. Or do one unwrap for all parts of the model on the same texture. To do this, select all the meshes. Apply the unvrap uvw modifier. Gather uv. Before Reset xForm, separate all meshes from each other, or reset xForm in sequence from child mesh to parent.Collisions have nothing to do with materials. Collisions do not have materials and it makes no sense to assign materials to them.
Link to comment
Share on other sites

 

basically what youre saying is that i have to create a collision mesh for each part and link the collision to each...

 

Like this...

I tried this before posting but was hoping for a simpler method...because i have models that are many more parts...

Here i only did collision on stuff that the player comes into contact with..

 

NE5yrC.jpg

 

https://snipboard.io/NE5yrC.jpg

No, you don't have to create a collision for every part. It's pointless. Only for those parts with which the characters interact. But it was about materials. Not about collisions. You must assign a separate material to each mesh that has its own texture in the model. How many textures you use - how many materials you have to assign. Or do one unwrap for all parts of the model on the same texture. To do this, select all the meshes. Apply the unvrap uvw modifier. Gather uv. Before Reset xForm, separate all meshes from each other, or reset xForm in sequence from child mesh to parent.Collisions have nothing to do with materials. Collisions do not have materials and it makes no sense to assign materials to them.

 

I see...

I made the mistake of assigning a default texture to the whole model for the purpose of exporting the collision and change the textures later...but i guess the result is what im facing now.... Cool will try it the right way now... ;)

Link to comment
Share on other sites

  • Recently Browsing   0 members

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