public static void MoveEndZ(this GuideObject go, float dist) { if (go.IsLimb() || go.IsArm()) { FkJointRotater(go).MoveTo(go.transformTarget.position + new Vector3(0, 0, dist)); } }
public static void MoveEnd(this GuideObject go, Vector3 pos) { if (go.IsLimb() || go.IsArm()) { FkJointRotater(go).MoveTo(pos); } }
public static void Normals(this GuideObject go, float angle) { if (go.IsLimb() || go.IsArm()) { FkJointRotater(go).Normals(angle); } }
public static void Tangent(this GuideObject go, float angle) { if (go.IsLimb() || go.IsArm()) { FkJointRotater(go).Tangent(angle); } }
public static void Revolution(this GuideObject go, float angle) { if (go.IsLimb() || go.IsArm()) { FkJointRotater(go).Revolution(angle); } }
public static void Forward(this GuideObject go, float dist) { if (go.IsLimb() || go.IsArm()) { FkJointRotater(go).Forward(dist); } }
public static void Normals(this GuideObject go, float angle) { if (!go.IsLimb()) { return; } var rotater = FkCharaMgr.BuildFkJointRotater(go); if (rotater == null) { return; } rotater.Normals(angle); }
public static void Forward(this GuideObject go, float dist) { if (!go.IsLimb()) { return; } var rotater = FkCharaMgr.BuildFkJointRotater(go); if (rotater == null) { return; } rotater.Forward(dist); }
public static FkLimbRotater BuildFkJointRotater(GuideObject go) { //var chara = FkCharaMgr.BuildChara(go.transformTarget); var chara = FkCharaMgr.BuildChara(go); if (chara == null) { return(null); } var point = chara.DicTransBones[go.transformTarget]; if (go.IsLimb()) { return(new FkLimbRotater(point.Parent.Parent, point.Parent, point)); } return(null); }
public static IFkJointRotater FkJointRotater(GuideObject go) { var chara = FkCharaMgr.BuildChara(go.transformTarget); var point = chara.DicTransBones[go.transformTarget]; if (go.IsLimb()) { return(new FkLimbRotater(point.Parent.Parent, point.Parent)); } if (go.IsArm()) { // var root = new TransformFkJoint(point.Parent.Parent.Transform, point.Parent.Transform); // var end = new TransformFkJoint(point.Parent.Transform, point.Transform); // return new FkLimbRotater(root, end); var ano = point.Parent.Children.Filter(c => c != point)[0]; return(new FkArmRotater(point.Parent.Parent, point.Parent, point, ano)); } return(null); }