Jump to content

How to export mesh shape with local transform from its parent node, using BGS official fallout 4 plugin?


Recommended Posts

20240326023235.thumb.png.a0d033b6030511857259310d702b7b73.png

 

As you can see in the pic, the mesh shape FatManLatch:0 is attached to the node WeaponExtra1 which has transforms of (-3.679178, 16.440010, 8.087007), but the coordinate transforms of the mesh shape itself and its vertices are very minimal. This method is very helpful to keep mesh fidelity, especially in Fallout 4's half-precision meshes. 

Could anyone tell me how to export such hierarchy or structure? Thanks in advance. 

 

Link to comment
Share on other sites

I didn't export weapons. But maybe it's a bone called WeaponExtra1. Accordingly, create a child bone (if you need to specify the direction precisely), or a helper (if you don't need the direction)... Call this bone WeaponExtra1. Right-click on the bone\Object Properties\User Defined, enter... sgoKeep = 1. We link the FatManLatch mesh to these bone. All specialized bgs nodes, such as bsValueNode or SoundNode, etc., are bones. I create these nodes in 3ds using the described method and export them to nif. Accordingly, you export your nif as pe weapon. You can import any nif into 3ds using niftools. niftools is in the f4ak package on the nexus.

Edited by South8028
Link to comment
Share on other sites

12 hours ago, South8028 said:

I didn't export weapons. But maybe it's a bone called WeaponExtra1. Accordingly, create a child bone (if you need to specify the direction precisely), or a helper (if you don't need the direction)... Call this bone WeaponExtra1. Right-click on the bone\Object Properties\User Defined, enter... sgoKeep = 1. We link the FatManLatch mesh to these bone. All specialized bgs nodes, such as bsValueNode or SoundNode, etc., are bones. I create these nodes in 3ds using the described method and export them to nif. Accordingly, you export your nif as pe weapon. You can import any nif into 3ds using niftools. niftools is in the f4ak package on the nexus.

Thank you again for your answer. Your suggestion is indeed useful when dealing with skinned meshes. I always use this node/bone method too, but the weapon shapes still turn out to be with world transforms. However, if I export these shapes separately centred in world space and later combine them in Nifskope manually, I can get the ideal result. I highly doubt whether the official plugin is also castrated in this function.🥲

Link to comment
Share on other sites

1 hour ago, dldrzz000 said:

Thank you again for your answer. Your suggestion is indeed useful when dealing with skinned meshes. I always use this node/bone method too, but the weapon shapes still turn out to be with world transforms. However, if I export these shapes separately centred in world space and later combine them in Nifskope manually, I can get the ideal result. I highly doubt whether the official plugin is also castrated in this function.🥲

Bones as nif nodes are not used for the skin modifier. Bones are pointers for the havok engine to attach points to meshes, effects, sounds, etc. For example, I link a bone to the parent mesh, calling it AddOnNode 777. When exporting, the bone is converted to bsValueNode with index 777. Those are linked to nif addOn from ck with index 777. For example, a light spot from a flashlight. The direction of the bone indicates where the light from the flashlight is directed. All bones with the name of specialized nodes bgs are converted to these specialized nodes when exported. This function does not require any additional bgs tools. Accordingly, the physical coordinates of the bone work in world space, indicating the exact location of the mesh, or effect.

https://disk.yandex.ru/d/ewBoaz4UzfwDDQ

Edited by South8028
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, South8028 said:

Bones as nif nodes are not used for the skin modifier. Bones are pointers for the havok engine to attach points to meshes, effects, sounds, etc. For example, I link a bone to the parent mesh, calling it AddOnNode 777. When exporting, the bone is converted to bsValueNode with index 777. Those are linked to nif addOn from ck with index 777. For example, a light spot from a flashlight. The direction of the bone indicates where the light from the flashlight is directed. All bones with the name of specialized nodes bgs are converted to these specialized nodes when exported. This function does not require any additional bgs tools. Accordingly, the physical coordinates of the bone work in world space, indicating the exact location of the mesh, or effect.

https://disk.yandex.ru/d/ewBoaz4UzfwDDQ

🐐GOAT!

Just an off-topic note if you don't mind... it amazes me how some modders get to put together that kind of information, probably just by deducing it on a trial and error. Or is it documented anywhere? I don't think so.

 

Link to comment
Share on other sites

41 minutes ago, DieFeM said:

🐐GOAT!

Just an off-topic note if you don't mind... it amazes me how some modders get to put together that kind of information, probably just by deducing it on a trial and error. Or is it documented anywhere? I don't think so.

 

No idea. I learned it here too. I don't remember from whom. Looks like it's from DiodLadder. About a year ago, he or someone else (unfortunately I don’t remember who it was) described that in this way he creates nodes for weapons using helpers. When I import nif into 3ds, all the bs specialized nodes open up as bones. I tried using bones using the same method. It worked.

  • Like 1
Link to comment
Share on other sites

3 hours ago, South8028 said:

Bones as nif nodes are not used for the skin modifier. Bones are pointers for the havok engine to attach points to meshes, effects, sounds, etc. For example, I link a bone to the parent mesh, calling it AddOnNode 777. When exporting, the bone is converted to bsValueNode with index 777. Those are linked to nif addOn from ck with index 777. For example, a light spot from a flashlight. The direction of the bone indicates where the light from the flashlight is directed. All bones with the name of specialized nodes bgs are converted to these specialized nodes when exported. This function does not require any additional bgs tools. Accordingly, the physical coordinates of the bone work in world space, indicating the exact location of the mesh, or effect.

https://disk.yandex.ru/d/ewBoaz4UzfwDDQ

Nice! I'll try it again!

Link to comment
Share on other sites

  • 2 weeks later...
On 3/27/2024 at 9:48 AM, DieFeM said:

🐐GOAT!

Just an off-topic note if you don't mind... it amazes me how some modders get to put together that kind of information, probably just by deducing it on a trial and error. Or is it documented anywhere? I don't think so.

 

Trial and error, error, error...smidge of success. It's like golf. I'm a terrible golfer but that ONE beautiful shot out of 100 strokes kept me coming back. Spent many hours digging into Nifskope figuring out how this and that works. Wish I'd been on the clock all that time.

Edited by ChuckYufarley
  • Thanks 1
Link to comment
Share on other sites

22 hours ago, ChuckYufarley said:

Trial and error, error, error...smidge of success. It's like golf. I'm a terrible golfer but that ONE beautiful shot out of 100 strokes kept me coming back. Spent many hours digging into Nifskope figuring out how this and that works. Wish I'd been on the clock all that time.

Hi Chuck. Have you found a way to run gamebryo sequences for furniture? I'm trying to find a simple way. Any sequence that switches furniture into an invisible state. For example, switching uv animation to the alpha channel. Then it would be possible to replace the furniture with an animObject... The actor uses the furniture > the furniture becomes invisible > the havok annotation launches an animObject as a model of the same furniture, but animated. I wonder if it is possible to somehow trigger a furniture sequence using the havok annotation?

https://disk.yandex.ru/i/RtbZHrHogMBe2w

Here I used the sequence from extractorchair. But unfortunately, the sequence is rendered exclusively in 1st person and does not work correctly. If there is a Done tag, the sequence is not looped. If there is no tag, the sequence loops forever.

Edited by South8028
Link to comment
Share on other sites

  • Recently Browsing   0 members

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