struct in UnityEngine
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.Close
For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.Close
Describes 4 skinning bone weights that affect a vertex in a mesh.
Bone weights must be in descending order, and add up to 1. If a vertex is affected by fewer than 4 bones, each of the remaining bone weights must be 0.
This struct, and the associated Mesh.boneWeights and Mesh.GetBoneWeights APIs, can only describe 4 bone weights per vertex. The newer BoneWeight1 struct and associated [Mesh.GetAllBoneWeights]], Mesh.SetBoneWeights and Mesh.GetBonesPerVertex APIs, can describe any number of bone weights per vertex.
For meshes that have more than 4 bones per vertex, you must use BoneWeight1. For all other meshes, there is no performance disadvantage to using BoneWeight1, and it might result in small performance benefits as Unity does not have to perform unnessary conversion operations to describe vertices with exactly 4 bone weights.
See Also: Mesh.boneWeights, Mesh.GetBoneWeights, Mesh.GetAllBoneWeights, Mesh.SetBoneWeights, Mesh.GetBonesPerVertex, ModelImporter.maxBonesPerVertex, QualitySettings.skinWeights, SkinnedMeshRenderer.quality.