ComputeDefine.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. // Magica Cloth.
  2. // Copyright (c) MagicaSoft, 2020-2022.
  3. // https://magicasoft.jp
  4. namespace MagicaCloth
  5. {
  6. public static partial class Define
  7. {
  8. /// <summary>
  9. /// 計算用デファイン
  10. /// </summary>
  11. public static class Compute
  12. {
  13. /// <summary>
  14. /// 計算を省略する最小の浮動小数点数
  15. /// </summary>
  16. public const float Epsilon = 1e-6f;
  17. /// <summary>
  18. /// 摩擦係数を計算するコライダーとの距離
  19. /// </summary>
  20. public const float CollisionFrictionRange = 0.03f; // 0.05(v1.6.1) 0.01(v1.7.0) 0.03(v1.7.5)
  21. /// <summary>
  22. /// 摩擦の減衰率
  23. /// </summary>
  24. public const float FrictionDampingRate = 0.6f; // 0.6(v1.6.1) 0.6(v1.7.0)
  25. /// <summary>
  26. /// 摩擦係数による移動率
  27. /// 0.9f = 最大摩擦でも10%は移動する
  28. /// </summary>
  29. public const float FrictionMoveRatio = 0.5f; // 0.5(v1.6.1) 0.9(v1.7.0) 1.0(v1.8.0)
  30. /// <summary>
  31. /// 摩擦係数の距離による減衰力
  32. /// </summary>
  33. public const float FrictionPower = 4.0f; // 4.0(v1.7.0)
  34. /// <summary>
  35. /// ClampPosition拘束でのパーティクル最大速度(m/s)
  36. /// </summary>
  37. public const float ClampPositionMaxVelocity = 1.0f;
  38. /// <summary>
  39. /// グローバルコライダーの1ステップの最大移動距離
  40. /// </summary>
  41. public const float GlobalColliderMaxMoveDistance = 0.2f;
  42. /// <summary>
  43. /// グローバルコライダーの1ステップの最大回転角度(deg)
  44. /// </summary>
  45. public const float GlobalColliderMaxRotationAngle = 10.0f;
  46. /// <summary>
  47. /// コライダー押し出し時の最大移動距離
  48. /// 移動時の振動を抑えるために0.8程度に抑える
  49. /// </summary>
  50. public const float ColliderExtrusionMaxPower = 0.4f; // 1.0(v1.8.4)
  51. /// <summary>
  52. /// コライダー押し出し時に方向内積に累乗する補正値
  53. /// </summary>
  54. public const float ColliderExtrusionDirectionPower = 0.3f; // 0.5(v1.8.0)
  55. /// <summary>
  56. /// コライダー押し出し時にコライダーとの距離に累乗する補正値
  57. /// </summary>
  58. public const float ColliderExtrusionDistPower = 2.0f;
  59. /// <summary>
  60. /// コライダー押し出し時の速度影響
  61. /// </summary>
  62. public const float ColliderExtrusionVelocityInfluence = 0.25f; // 0.5(v1.8.0) 0.25(v1.8.1)
  63. /// <summary>
  64. /// 最大風力
  65. /// </summary>
  66. public const float MaxWindMain = 100;
  67. //=================================================================
  68. // Algorithm 1
  69. //=================================================================
  70. /// <summary>
  71. /// ClampRotation拘束でのパーティクル最大速度(m/s)
  72. /// </summary>
  73. public const float ClampRotationMaxVelocity = 1.0f;
  74. //=================================================================
  75. // Algorithm 2
  76. //=================================================================
  77. /// <summary>
  78. /// ClampRotation2でのパーティクル最大速度(m/s)
  79. /// </summary>
  80. public const float ClampRotationMaxVelocity2 = 2.0f;
  81. /// <summary>
  82. /// ClampRotation2での親からの回転中心割合(0.0-1.0)
  83. /// (0.4が安定)(0.3がぎりぎり)
  84. /// </summary>
  85. //public const float ClampRotationPivotRatio = 0.3f;
  86. /// <summary>
  87. /// TriangleBendの速度影響(0.0-1.0)
  88. /// </summary>
  89. public const float TriangleBendVelocityInfluence = 0.5f;
  90. }
  91. }
  92. }