...
Danglymeshes are surprisingly easy to set up and can be a very effective means of adding a feeling of presence and life to your models.
...
- change your mesh type from (trimesh/skinmesh/animmesh/whatever it may be) to Danglymesh (in Blender this is done via a dropdown menu in the Object Properties - Aurora Mesh Properties - Trimesh Properties rollout)
- select all the verteces of your object (you will need to use Edit Mode if using Blender), and assign them to a vertex group (this is done in the Object Data Properties rollout in blender)
- set the weight of your vertex group to 0.0, in order to set yourself up properly to start painting verteces - in Blender make sure to click 'assign' so that the weight is applied to your vertex group
- paint your vertex weights; in Blender this is done in the Weight Paint mode
- after having painted your vertex weights, make sure you have set the object-wide danglymesh properties (Period/Tightness/Displacement) as you wish them to be set (in Blender this is done in the Object Properties - Aurora Mesh Properties - Danglymesh Properties rollout)
- that's it!
A note on danglymesh collision animations (aka what to do if your danglymesh is flying everywhere when a character is near it)
Danglymesh is animated not only by the wind in an area, or the movement of the danglymesh object itself or its parent, but also by collision with creatures and possibly other in-game objects (perhaps even placeables; not known by this author), as well as by explosions and other such forces.
This can cause issues; for example, you may find that if a creature runs into a placeable or tile object, or door, that has danglymesh, then the danglymesh starts flapping around wildly when the creature's bounding box makes contact with the mesh.
You need to be aware that NWN seems to work out whether something is colliding with a danglymesh based on where that danglymesh object's pivot point (or in Blender terminology, Origin) is located. Whether the pivot/origin is just taken as the centre point of a bounding box of some sort, or whether it only detects when a creature or object intersects with the actual position of the origin/pivot, I do not know.
For example, if you have a curtain door which uses danglymeshes for the curtain objects, but the origin/pivot point of those danglymesh curtains is not within the curtain meshes themselves somewhere but is instead sitting at the central point of the entire door object (i.e. on the floor in the middle of the doorway space)... you will probably see the danglymesh curtains flap around wildly any time a creature passes through the open doorway. Why? Because the creature is making direct contact with the origin/pivot of the danglymeshes, so NWN believes the creature has essentially crossed through the danglymesh.
How to avoid creature collisions causing wild flapping danglymeshes
I have found that with a door I made, I could simply put the origin/pivot of the danglymeshes up at the top of the danglymesh objects - the locations of the origin of all the danglymeshes for the door were all therefore some height above ground level; at least 2.3 metres in fact. This seems to prevent the danglymesh going wild even if a creature runs directly into the danglymesh door objects. This may be because the origins are not on the ground so a creature could never be standing on top of/be essentially in the middle of or surrounding the pivots/origins of the danglymeshes. Or it could be because no part of the bounding boxes of the creatures I tested with were ever able to actually come into contact with the pivot/origin of the danglymeshes. In any case, making sure the pivots/origins were not on the floor where a creature could walk over them or into them, seemed to prevent the problem.
Object-wide danglymesh properties
...
Here is how the above looks in-game when the placeable (and another, slightly different one behind it) is moved using SetObjectVisualTransform:
https://images-ext-2.discordapp.net/external/NmD035KOGXaFoJh9PIl1zrcJl4IDrO57JqmSlaDB5Ag/https/giantthumbs.gfycat.com/WhirlwindQuarrelsomeCollardlizard-mobile.mp4
How to quickly paint your vertex weights
...
This is why the gradient tool, the use of which I have described above, is such a good way to paint your vertex weights - if, that is, your danglymesh is for an organic or fully flexible type of object such as hair, loose leaf foliage, loose rope, or flowing cloth. However, if you wanted to have, for example, a chain that was mostly in-flexible and only flexes in specific places, you could do that by having uniform weights for all the verteces in each rigid section.
Problems with danglymesh
Performance
Note that Clippy warns on the Vault discord on 22/02/2022 that danglymeshes are handled inefficiently by the engine, so can be very performance-heavy. Be cautious in your approach to how many danglymesh objects you will have in an area.
Crashes
Note that if you set an object as danglymesh but do not set a vertex group under the 'Constraints' field in Blender (in the NeverBlender 'Danglymesh Properties' part of the Object Properties rollout) then you are liable to experience NWN client crashes when you try to load into an area with your danglymesh object. Follow Black Rider's tutorial to quickly set up your vertex group, then sort out your vertex weights and object-wide attibutes. You should no longer experience any crashes if your danglymesh is set up properly.
...