Vertex Weight Limitations - Kizari/Flagrum GitHub Wiki

Update 6 February 2022: Due to an additional limitation discovered in how the game engine handles binmods, information that previously stated 8 weights per vertex limits has been amended to 6 weights per vertex.

What are the limitations and why do they exist?

Prior to Flagrum, binmods have been limited to a maximum of 4 vertex weights per vertex due to limitations built into the old modding system. The old tooling handled this by throwing away all but four of the weights on each vertex, which has caused many issues for the community over the years as rigging would always appear differently in-game than it did in the modelling software used to create the mod. It would also make rigging areas with high vertex density very difficult due to having a lot of overlapping weight groups.

Flagrum improved upon this by ensuring that the 4 weights that were retained per vertex were the 4 with the highest influence. However, Flagrum 1.1.3+ now introduces an increase to this limit on materials that are able to support it. The game engine itself can support up to 8 weights per vertex, but unfortunately due to the way binmods are handled by the engine, the highest that is possible is 6 weights per vertex on eligible materials. Because Flagrum currently only supports binmod models, we are also hard capped at 6 weights per vertex.

What are the limitations after the increase?

In Flagrum 1.1.3+, the limitations have been lifted to the max that the respective materials will support. These will be displayed in Blender beneath the material when it is selected, but here is a list of the updated limitations. For any materials that do not appear in this list, they are still limited to 4 weights per vertex.

Named Human Outfit   6 weights per vertex
Named Human Skin     6 weights per vertex
Named Human Hair     6 weights per vertex
Named Human Eye      4 weights per vertex
Named Human Glass    6 weights per vertex

Please keep in mind that these limits are set by the shaders and the game engine so they cannot be increased any further currently.

How can I ensure what I see in Blender is what I will see in game?

Quite simply! We have updated the "Normalise Weights" function on the Flagrum tool panel in Blender to handle this scenario. This function cuts the weights of the selected meshes back to the limits defined on their selected Flagrum materials, prioritising the most influential weights (in the same manner as the FMD exporter) and normalises the remaining weights. If the button is disabled, make sure you have selected Flagrum materials for each mesh you are trying to normalise, and make sure you have selected the meshes themselves.

This process is performed by the exporter to ensure the model is compatible with the game engine, but by activating it manually during the modelling process, you can ensure that the posing you see in Blender is true to what will appear in-game.

⚠️ **GitHub.com Fallback** ⚠️