MagicaDirectionalWind.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. // Magica Cloth.
  2. // Copyright (c) MagicaSoft, 2020-2022.
  3. // https://magicasoft.jp
  4. using UnityEngine;
  5. namespace MagicaCloth
  6. {
  7. /// <summary>
  8. /// 方向性の風(これはワールド全体に影響を与える)
  9. /// </summary>
  10. [HelpURL("https://magicasoft.jp/directional-wind/")]
  11. [AddComponentMenu("MagicaCloth/MagicaDirectionalWind")]
  12. public partial class MagicaDirectionalWind : WindComponent
  13. {
  14. public override ComponentType GetComponentType()
  15. {
  16. return ComponentType.DirectionalWind;
  17. }
  18. /// <summary>
  19. /// 風タイプを返す
  20. /// </summary>
  21. /// <returns></returns>
  22. public override PhysicsManagerWindData.WindType GetWindType()
  23. {
  24. return PhysicsManagerWindData.WindType.Direction;
  25. }
  26. /// <summary>
  27. /// 形状タイプを返す
  28. /// </summary>
  29. /// <returns></returns>
  30. public override PhysicsManagerWindData.ShapeType GetShapeType()
  31. {
  32. return PhysicsManagerWindData.ShapeType.Box;
  33. }
  34. /// <summary>
  35. /// 風向きタイプを返す
  36. /// </summary>
  37. /// <returns></returns>
  38. public override PhysicsManagerWindData.DirectionType GetDirectionType()
  39. {
  40. return PhysicsManagerWindData.DirectionType.OneDirection;
  41. }
  42. /// <summary>
  43. /// 風が加算モードか返す
  44. /// </summary>
  45. /// <returns></returns>
  46. public override bool IsAddition()
  47. {
  48. return false;
  49. }
  50. /// <summary>
  51. /// エリアサイズを返す
  52. /// </summary>
  53. /// <returns></returns>
  54. public override Vector3 GetAreaSize()
  55. {
  56. return new Vector3(float.MaxValue, float.MaxValue, float.MaxValue);
  57. }
  58. /// <summary>
  59. /// アンカー位置を返す
  60. /// </summary>
  61. /// <returns></returns>
  62. //public override Vector3 GetAnchor()
  63. //{
  64. // return Vector3.zero;
  65. //}
  66. /// <summary>
  67. /// 風エリアの体積を返す
  68. /// </summary>
  69. /// <returns></returns>
  70. public override float GetAreaVolume()
  71. {
  72. return 100000000;
  73. }
  74. /// <summary>
  75. /// 風エリアの最大距離を返す
  76. /// </summary>
  77. /// <returns></returns>
  78. public override float GetAreaLength()
  79. {
  80. return float.MaxValue;
  81. }
  82. //=========================================================================================
  83. /// <summary>
  84. /// パラメータ初期化
  85. /// </summary>
  86. protected override void ResetParams()
  87. {
  88. main = 5;
  89. turbulence = 1;
  90. frequency = 1;
  91. areaSize = new Vector3(float.MaxValue, float.MaxValue, float.MaxValue);
  92. //anchor = Vector3.zero;
  93. directionAngleX = 0;
  94. directionAngleY = 0;
  95. directionType = PhysicsManagerWindData.DirectionType.OneDirection;
  96. attenuation.SetParam(1, 1, false, 0, false);
  97. }
  98. }
  99. }