Jump to content

Adding collision (convex or box) to a mesh will make it invisible in game until I shot at it (and other condition) plz help


3Liquid

Recommended Posts

I tried to ask on reddit but without success, but maybe here someone will know why.

My goal is to add a custom static mesh in the game with functioning collision.

With my process i have no problem, but the mesh don't display decals when it is shot (NitriShape), so when i decide to Stripify and convert it into a NiTriStrip, the collision and decals appear, except for the mesh, that is invisible until it's shot, and than became visible only on specific angle/distance, leaving the decals floating!  😮

Here my process:

  1. I made a mesh in Blender (4.1), a very simple wall. I unwrap the UV on a vanilla texture, and extract it as OBJ.
  2. I open OutfitStudio (OS) and import the OBJ, and added the texture (the mesh require only one texture).
  3. Once finish, I've extracted the mesh from OS as NIF in a new folder located in the meshes directory of the game.
  4. I opened the new nif with Nifskope and convert the Ninode into BSFadeNode (so i can use the GECK to work with)
  5. I Attach Extra Data > BSXFlags to the BSFadeNode and set the Integer Data to 2 (Havok)
  6. I right-click on the mesh from the render window and Create Convex Shape, this add the bhkCollisionObject > bhkRigidBody > bhkConvexVerticesShape as a root of BSFadeNode
  7. On bhkConvexVerticesShape I cheeked the radius to be 0.1 and set the material FO_HAV_MAT_METAL
  8. On bhkRigidBody I set the Process Contact Callback Delay to 65535, set the Mass and Inertia Tensor to 0, and set the Motion System to MO_SYS_FIXED.
  9. Than I Sanitize this thing in this order: Update All Tangent Spaces, Stripify all TriShapes, Fix Invalid Block Names, Fix Geometry Data Names and Reorder Blocks.
  10. Than I save.
  11. I open the GECK (Extender), from the folder dropped my NIF into the static object section of the GECK.
  12. I picked my mesh from the library of the GECK and added into the game, save the plug in as ESP and close the GECK.
  13. I opened the ModOrganizer2 (MO2), I see my plugin is present and I fire the game (In my case NVSE).
  14. Once in the game, my mesh is invisible until i shot it, as i stated at the beginning.

After try and error i was able, more or less, to understand where the problem might be, it is the switching from the Shape to Strip? I honestly don't know...

Thanks to the "Bits of Nifskopy" and "How To Make Collision For FNV" I was even able to add a custom collision using an older version of blender with the nif-plugin, and an older Sniff that can support x64... 😵‍💫

Hopefully I have transmit you my deeper rage/stress, but let's take a deep breath and let's hope for the best, other wise i'll make every things in NiTriShape and game-end my self.

My older post on reddit with some picture of the problem:

 

Link to comment
Share on other sites

Seems like a very weird and overly convoluted way to make a nif.

Here's how I do it, using Blender 2.49b.

1. Create the mesh and UV map it, as above.

2. If the mesh is simple enough, duplicate it to create the collision mesh. If it's not so simple, create a simplified collision mesh. Something like a wall is usually simple enough that you can just duplicate it. To change your copied mesh from a regular mesh into a collision mesh, do the following:

2a. Select the Object panel (the three arrows), under Draw Type select Bounds, under Draw Extra select Wire.

2b. Select the Logic panel (the pacman-ish symbol). Click on Bounds a the bottom and select Triangle Mesh. Click Add Property and change the default of Float to String. In the empty box next to Name:Prop type in the havoc material type (i.e. HAV_MAT_METAL).

3. Go back to Object Mode, select all objects, and export directly to nif. Make sure that you select the correct output options.

4. Open the GECK and do all the GECK things listed above.

And that's it. No fiddling with Outfit Studio, obj files, no fiddling with flags in NifSkope. Just export and it works.

I don't understand why people continue to attempt to use newer versions of Blender when all I ever see are problem after problem after problem. Use 2.49b. That's the version that actually works and you don't have to use Outfit Studio and do all the other nonsense just to create a simple static. Just create the mesh, copy the mesh, turn the copy into a collision mesh, export, and done.

Link to comment
Share on other sites

By the way, since you already have your wall as an obj, you can probably directly import the obj file into Blender 2.49b, add the collision mesh, and export it as a nif. You don't need to re-create your mesh in 2.49b. I often use obj as a format to transfer things from newer versions of Blender back to 2.49b to convert them into nif. It works well to port meshes in formats that 2.49b can't read to convert them into nifs. For example, it's a great way to convert fbx into nif. 2.49b claims to be able to handle fbx files but it's buggy as all heck. It's much easier to use a later version of Blender to convert the fbx to obj, then import the obj into 2.49b and export as nif.

Don't ever take a .blend from a newer version of Blender and try to open it in 2.49b and then convert it to nif. You'll just run into all kinds of headaches.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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