public void AddSkeletonTransformer() { Undo.RecordObjects(new Object[] { this, animation }, "Add Skeleton Transformer"); NPVoxSkeletonTransformer transformer = (NPVoxSkeletonTransformer)NPVoxSocketTransformer.CreateInstance(typeof(NPVoxSkeletonTransformer)); int index = SelectedFrame.AddTransformerAt(transformer, selectedTransformationIndex); InvalidateOutputMeshes(); SelectTransformation(index, true); }
public void ToggleBoneMask(uint mask, bool includingDescendants) { NPVoxSkeletonTransformer t = ((NPVoxSkeletonTransformer)SelectedTransformer); NPVoxBoneModel transformedModel = CurrentModelFactory.GetProduct() as NPVoxBoneModel; NPVoxBone[] allBones = ((NPVoxBoneModel)transformedModel).AllBones; uint toggleMask = includingDescendants ? NPVoxBone.GetMaskWithDescendants(ref allBones, mask) : mask; if ((mask & t.BoneMask) != 0) { SetBoneMask(t.BoneMask & ~toggleMask); } else { SetBoneMask(t.BoneMask | toggleMask); } }