// Magica Cloth.
// Copyright (c) MagicaSoft, 2020-2022.
// https://magicasoft.jp
namespace MagicaCloth
{
public static partial class Define
{
///
/// 計算用デファイン
///
public static class Compute
{
///
/// 計算を省略する最小の浮動小数点数
///
public const float Epsilon = 1e-6f;
///
/// 摩擦係数を計算するコライダーとの距離
///
public const float CollisionFrictionRange = 0.03f; // 0.05(v1.6.1) 0.01(v1.7.0) 0.03(v1.7.5)
///
/// 摩擦の減衰率
///
public const float FrictionDampingRate = 0.6f; // 0.6(v1.6.1) 0.6(v1.7.0)
///
/// 摩擦係数による移動率
/// 0.9f = 最大摩擦でも10%は移動する
///
public const float FrictionMoveRatio = 0.5f; // 0.5(v1.6.1) 0.9(v1.7.0) 1.0(v1.8.0)
///
/// 摩擦係数の距離による減衰力
///
public const float FrictionPower = 4.0f; // 4.0(v1.7.0)
///
/// ClampPosition拘束でのパーティクル最大速度(m/s)
///
public const float ClampPositionMaxVelocity = 1.0f;
///
/// グローバルコライダーの1ステップの最大移動距離
///
public const float GlobalColliderMaxMoveDistance = 0.2f;
///
/// グローバルコライダーの1ステップの最大回転角度(deg)
///
public const float GlobalColliderMaxRotationAngle = 10.0f;
///
/// コライダー押し出し時の最大移動距離
/// 移動時の振動を抑えるために0.8程度に抑える
///
public const float ColliderExtrusionMaxPower = 0.4f; // 1.0(v1.8.4)
///
/// コライダー押し出し時に方向内積に累乗する補正値
///
public const float ColliderExtrusionDirectionPower = 0.3f; // 0.5(v1.8.0)
///
/// コライダー押し出し時にコライダーとの距離に累乗する補正値
///
public const float ColliderExtrusionDistPower = 2.0f;
///
/// コライダー押し出し時の速度影響
///
public const float ColliderExtrusionVelocityInfluence = 0.25f; // 0.5(v1.8.0) 0.25(v1.8.1)
///
/// 最大風力
///
public const float MaxWindMain = 100;
//=================================================================
// Algorithm 1
//=================================================================
///
/// ClampRotation拘束でのパーティクル最大速度(m/s)
///
public const float ClampRotationMaxVelocity = 1.0f;
//=================================================================
// Algorithm 2
//=================================================================
///
/// ClampRotation2でのパーティクル最大速度(m/s)
///
public const float ClampRotationMaxVelocity2 = 2.0f;
///
/// ClampRotation2での親からの回転中心割合(0.0-1.0)
/// (0.4が安定)(0.3がぎりぎり)
///
//public const float ClampRotationPivotRatio = 0.3f;
///
/// TriangleBendの速度影響(0.0-1.0)
///
public const float TriangleBendVelocityInfluence = 0.5f;
}
}
}