Example #1
0
 /// <summary>
 /// 旋转限制器 : 目标范围限制【注:需要半径值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Angle Constraint_Angle_Target_Scope()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Angle_Complete_Scope(MotorSave, MotorTarget, Limit_Radius);
     }
     return(this);
 }
Example #2
0
 /// <summary>
 /// 移动限制器 : 目标范围限制【注:需要半径值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Vector1 Constraint_Vector_Target_Scope()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Vector1_Scope(MotorSave, MotorTarget, Limit_Radius);
     }
     return(this);
 }
Example #3
0
 /// <summary>
 /// 移动限制器 : 本地限制【注:需要限制数值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Vector3 Constraint_Vector_Local()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Vector3(MotorSave, Limit_Min, Limit_Max, Constraint_X, Constraint_Y, Constraint_Z);
     }
     return(this);
 }
Example #4
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 #5
0
 /// <summary>
 /// 移动限制器 : 目标限制【注:需要限制数值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Vector1 Constraint_Vector_Target()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Vector1(MotorSave, MotorTarget + Limit_Min, MotorTarget + Limit_Max);
     }
     return(this);
 }
Example #6
0
 /// <summary>
 /// 移动限制器 : 本地限制【注:需要限制数值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Vector1 Constraint_Vector_Local()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Vector1(MotorSave, Limit_Min, Limit_Max);
     }
     return(this);
 }
Example #7
0
 /// <summary>
 /// 移动限制器 : 本地范围限制【注:需要半径值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Vector1 Constraint_Vector_Local_Scope()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Vector1_Scope(MotorSave, 0, Limit_Radius);
     }
     return(this);
 }
Example #8
0
 /// <summary>
 /// 移动限制器 : 本地范围限制(自由范围限制)【注:需要自由半径值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Vector2 Constraint_Vector_Local_Scope_Free()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Vector2(MotorSave, -Limit_RadiusFree, Limit_RadiusFree, Constraint_X, Constraint_Y);
     }
     return(this);
 }
Example #9
0
 /// <summary>
 /// 移动限制器 : 目标范围限制(自由半径范围限制)【注:需要自由半径值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Vector2 Constraint_Vector_Target_Scope_Free()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Vector2(MotorSave, MotorTarget - Limit_RadiusFree, MotorTarget + Limit_RadiusFree, Constraint_X, Constraint_Y);
     }
     return(this);
 }
Example #10
0
 /// <summary>
 /// 移动限制器 : 目标限制 【注:需要限制数值】
 /// 注:需要限制范围值
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Vector3 Constraint_Vector_Target()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Vector3(MotorSave, MotorTarget + Limit_Min, MotorTarget + Limit_Max, Constraint_X, Constraint_Y, Constraint_Z);
     }
     return(this);
 }
Example #11
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 #12
0
 /// <summary>
 /// 旋转限制器 : 目标限制【注:需要限制数值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Angle Constraint_Angle_Target()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Angle_Complete(MotorSave, MotorTarget + Limit_Min, MotorTarget + Limit_Max);
     }
     return(this);
 }
Example #13
0
 /// <summary>
 /// 旋转限制器 : 本地全面角度限制【注:需要限制数值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Angle Constraint_Angle_Complete_Local()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Angle_Complete(MotorSave, Limit_Min, Limit_Max);
     }
     return(this);
 }
Example #14
0
 /// <summary>
 /// 旋转限制器 : 本地范围限制【注:需要半径值】
 /// </summary>
 /// <returns>电机</returns>
 public SD_Motor_Angle Constraint_Angle_Local_Scope()
 {
     if (MotorConstraint)
     {
         MotorSave = SS_VectorConstraint.Constraint_Angle(MotorSave, -Limit_Radius, Limit_Radius);
     }
     return(this);
 }
Example #15
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_Position_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.position = SS_VectorConstraint.Constraint_Vector3(transform.position, Limit_Min, Limit_Max, Limit_X, Limit_Y, Limit_Z);
     }
     else
     {
         transform.localPosition = SS_VectorConstraint.Constraint_Vector3(transform.localPosition, Limit_Min, Limit_Max, Limit_X, Limit_Y, Limit_Z);
     }
 }
Example #16
0
 /// <summary>
 /// 三维向量球形范围约束
 /// </summary>
 /// <param name="TargetPoint">约束点</param>
 /// <param name="Limit_Radius">限制半径</param>
 /// <param name="space">坐标系</param>
 public static void SE_Position_Constraint_Scope(this Transform transform, Vector3 TargetPoint, float Limit_Radius, Space space = Space.World)
 {
     if (space == Space.World)
     {
         transform.position = SS_VectorConstraint.Constraint_Vector3_Scope(transform.position, TargetPoint, Limit_Radius);
     }
     else
     {
         transform.localPosition = SS_VectorConstraint.Constraint_Vector3_Scope(transform.localPosition, TargetPoint, Limit_Radius);
     }
 }
Example #17
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);
     }
 }
Example #18
0
        /// <summary>
        /// 移动限制器 : 本地限制【注:需要限制数值】
        /// </summary>
        /// <returns>电机</returns>
        public SD_Motor_Vector2 Constraint_Vector_Local()
        {
            if (MotorConstraint)
            {
                MotorSave = SS_VectorConstraint.Constraint_Vector2(MotorSave, Limit_Min, Limit_Max, Constraint_X, Constraint_Y);
            }
            // else 软回弹
            // {
            //     MotorTarget = SS_VectorConstraint.Constraint_Vector2(MotorTarget, Limit_Min, Limit_Max, Constraint_X, Constraint_Y);
            // }

            return(this);
        }
Example #19
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>
 public static void SE_Scale_Constraint(this Transform transform, Vector3 Limit_Min, Vector3 Limit_Max, bool Limit_X = true, bool Limit_Y = true, bool Limit_Z = true)
 {
     transform.localScale = SS_VectorConstraint.Constraint_Vector3(transform.localScale, Limit_Min, Limit_Max, Limit_X, Limit_Y, Limit_Z);
 }