示例#1
0
    // ===================================================================================================
    // 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;
        }
    }
示例#2
0
 // ===================================================================================================
 // 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;
     }
 }