Example #1
0
 /// <summary>
 /// 旋转限制器 : 本地范围限制 【注:需要自由半径值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_EulerAngle Constraint_Angle_Local_Scope()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_EulerAngle(MotorSave, -Limit_RadiusFree, Limit_RadiusFree, Constraint_X, Constraint_Y, Constraint_Z);
     }
     return(this);
 }
Example #2
0
 /// <summary>
 /// 旋转限制器 : 本地限制【注:需要限制数值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_EulerAngle Constraint_Angle_Local()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_EulerAngle(MotorSave, Limit_Min, Limit_Max, Constraint_X, Constraint_Y, Constraint_Z);
     }
     return(this);
 }
Example #3
0
 /// <summary>
 /// 欧拉角约束
 /// </summary>
 /// <param name="Limit_Min">最小值</param>
 /// <param name="Limit_Max">最大值</param>
 /// <param name="Limit_X">X轴限制激活</param>
 /// <param name="Limit_Y">Y轴限制激活</param>
 /// <param name="Limit_Z">Z轴限制激活</param>
 /// <param name="space">坐标系</param>
 public static void SE_EulerAngles_Constraint(this Transform transform, Vector3 Limit_Min, Vector3 Limit_Max, bool Limit_X = true, bool Limit_Y = true, bool Limit_Z = true, Space space = Space.World)
 {
     if (space == Space.World)
     {
         transform.eulerAngles = SS_VectorConstraint.Constraint_EulerAngle(transform.eulerAngles, Limit_Min, Limit_Max, Limit_X, Limit_Y, Limit_Z);
     }
     else
     {
         transform.localEulerAngles = SS_VectorConstraint.Constraint_EulerAngle(transform.localEulerAngles, Limit_Min, Limit_Max, Limit_X, Limit_Y, Limit_Z);
     }
 }