public void SwitchAllEx(params Bone[] bones) { foreach (var t in UIDOFEditor.I.avatar.data.asts) { if (ClipTool.IsLeftBone(t.dof.bone)) { var rightBone = ClipTool.GetPairBone(t.dof.bone); if (rightBone > 0) { var right = GetAstFromAvatar(rightBone); if (right != null) { var left = t.euler; t.euler = right.euler; right.euler = left; } } } else { if (ArrayInclude(bones, t.dof.bone) || ClipTool.IsRightBone(t.dof.bone)) { continue; } else//middle { t.euler.y = -t.euler.y; t.euler.z = -t.euler.z; } } } }
public void FlipRight2Left() { foreach (var t in UIDOFEditor.I.avatar.data.asts) { if (!ClipTool.IsRightBone(t.dof.bone)) { continue; } var leftBone = ClipTool.GetPairBone(t.dof.bone); if (leftBone > 0) { var left = GetAstFromAvatar(leftBone); if (left != null) { left.euler = t.euler; } } } }
public void SwitchLeftAndRight() { foreach (var t in UIDOFEditor.I.avatar.data.asts) { if (!ClipTool.IsLeftBone(t.dof.bone)) { continue; } var rightBone = ClipTool.GetPairBone(t.dof.bone); if (rightBone > 0) { var right = GetAstFromAvatar(rightBone); if (right != null) { var left = t.euler; t.euler = right.euler; right.euler = left; } } } }