// =================================================================================================== // Tools // =================================================================================================== public void RecenterBonePivot(NPVoxBoneModel model) { NPVoxBone[] bones = NPVoxBone.GetRootBones(ref model.AllBones, NPVoxBone.GetBonesInMask(ref model.AllBones, boneMask)); if (bones.Length == 1) { Vector3 pivotOrigin = GetAffectedBox().SaveCenter; Vector3 pivotForSingleBone = model.GetAffectedArea(1u << (bones[0].ID - 1)).SaveCenter; PivotOffset = pivotForSingleBone - pivotOrigin; } }
// =================================================================================================== // Name // =================================================================================================== protected void RegenerateName(NPVoxBoneModel model) { if (regenerateName) { regenerateName = false; NPVoxBone[] bones = NPVoxBone.GetRootBones(ref model.AllBones, NPVoxBone.GetBonesInMask(ref model.AllBones, boneMask)); string name = ""; foreach (NPVoxBone bone in bones) { if (!string.IsNullOrEmpty(name)) { name += ", "; } name += bone.Name; } this.InstanceName = name; } }