particlesystem.vwf.yaml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. # Copyright 2012 United States Government, as represented by the Secretary of Defense, Under
  2. # Secretary of Defense (Personnel & Readiness).
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
  5. # in compliance with the License. You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software distributed under the License
  10. # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
  11. # or implied. See the License for the specific language governing permissions and limitations under
  12. # the License.
  13. ## The component representation of a particle system
  14. ##
  15. ## @name particlesystem.vwf
  16. ## @namespace
  17. ---
  18. extends: http://vwf.example.com/node3.vwf
  19. properties:
  20. ## Maximum lifetime of particle
  21. ##
  22. ## @name particlesystem.vwf#maxLifeTime
  23. ## @property
  24. maxLifeTime:
  25. ## Minimum lifetime of particle
  26. ##
  27. ## @name particlesystem.vwf#minLifeTime
  28. ## @property
  29. minLifeTime:
  30. ## Start size of particle
  31. ##
  32. ## @name particlesystem.vwf#startSize
  33. ## @property
  34. startSize:
  35. ## End size of particle
  36. ##
  37. ## @name particlesystem.vwf#endSize
  38. ## @property
  39. endSize:
  40. ## Loop
  41. ##
  42. ## @name particlesystem.vwf#loop
  43. ## @property
  44. loop:
  45. ## Maximum velocity
  46. ##
  47. ## @name particlesystem.vwf#maxVelocity
  48. ## @property
  49. maxVelocity:
  50. ## Minimum velocity
  51. ##
  52. ## @name particlesystem.vwf#minVelocity
  53. ## @property
  54. minVelocity:
  55. ## Maximum start acceleration
  56. ##
  57. ## @name particlesystem.vwf#maxStartAcceleration
  58. ## @property
  59. maxAcceleration:
  60. ## Minimum start acceleration
  61. ##
  62. ## @name particlesystem.vwf#minStartAcceleration
  63. ## @property
  64. minAcceleration:
  65. ## Start color
  66. ##
  67. ## @name particlesystem.vwf#startColor
  68. ## @property
  69. startColor:
  70. ## End color
  71. ##
  72. ## @name particlesystem.vwf#endColor
  73. ## @property
  74. endColor:
  75. ## Image
  76. ##
  77. ## @name particlesystem.vwf#image
  78. ## @property
  79. image:
  80. ## true for additive blending, false for normal blending
  81. ##
  82. ## @name particlesystem.vwf#additive
  83. ## @property
  84. additive:
  85. ## alpha value for particles
  86. ##
  87. ## @name particlesystem.vwf#opacity
  88. ## @property
  89. opacity:
  90. ## depthTest value for particles
  91. ##
  92. ## @name particlesystem.vwf#depthTest
  93. ## @property
  94. depthTest:
  95. ## depthWrite value for particles
  96. ##
  97. ## @name particlesystem.vwf#depthWrite
  98. ## @property
  99. depthWrite:
  100. ## emitterType value for particles
  101. ## 'point','sphere','box'
  102. ## @name particlesystem.vwf#emitterType
  103. ## @property
  104. emitterType:
  105. ## emitterSize value for particles
  106. ## ignored by point emitter, emitterSize[0] is radius for sphere, emitterSize[x,y,z] is bounds for box emitter
  107. ## @name particlesystem.vwf#emitterSize
  108. ## @property
  109. emitterSize:
  110. ## the maximum number of particles that will be regenerated per frame. Useful to distrubte particles over time, and avoid
  111. ## issues where min and max life are the same
  112. ## @name particlesystem.vwf#maxRate
  113. ## @property
  114. maxRate:
  115. ## The total number of particles in the system
  116. ## @name particlesystem.vwf#particleCount
  117. ## @property
  118. particleCount:
  119. ## The drag on velocity of the particles
  120. ## @name particlesystem.vwf#damping
  121. ## @property
  122. damping:
  123. ## 'cartesian' or 'spherical' in cartesian, velocity min and max are box coords, as in min and max local space vectors.
  124. ## in spherical, they are treated as roe theta and magnitude for vectors, still in local space. in this mode, the range for the first two
  125. ## components is 0 - 1
  126. ## this helps set the direction to be random, but the magnitute can be constant
  127. ## @name particlesystem.vwf#velocityMode
  128. ## @property
  129. velocityMode:
  130. ## solver - the system used to update the position of the particles.
  131. ## 'Euler' solver can take into account emitter motion, damping and gravity. Runs at 10 ticks per second with linear interpolation
  132. ## 'Analytic' - runs in realtime, but requires more bandwidth on the GPU bus. Cannot take into account complex forces like damping or gravity
  133. ## 'AnalyticShader' offloads the analytic solver into a shader. Very high performance, but cannot take into account emitter motion
  134. ## also, because it cannot branch based on previous states, it does not support maxRate. Instead, it offsets all particles randomly in time to distribute them
  135. ## @name particlesystem.vwf#solver
  136. ## @property
  137. solver:
  138. ## Split the particle texture by the value. 2 would be a 2x2 tiled texture, 3 is 3x3.
  139. ## @name particlesystem.vwf#textureTiles
  140. ## @property
  141. textureTiles:
  142. ## the particles spin over time
  143. ## @name particlesystem.vwf#maxSpin
  144. ## @property
  145. maxSpin:
  146. ## the particles spin over time
  147. ## @name particlesystem.vwf#minSpin
  148. ## @property
  149. minSpin:
  150. ## the particles orientation
  151. ## @name particlesystem.vwf#minOrientation
  152. ## @property
  153. minOrientation:
  154. ## the particles orientation
  155. ## @name particlesystem.vwf#maxOrientation
  156. ## @property
  157. maxOrientation:
  158. ## the particle size
  159. ## @name particlesystem.vwf#sizeRange
  160. ## @property
  161. size:
  162. ## the variation offset from the start and end size
  163. ## @name particlesystem.vwf#sizeRange
  164. ## @property
  165. sizeRange:
  166. ## the variation offset from the start and end color
  167. ## @name particlesystem.vwf#colorRange
  168. ## @property
  169. colorRange:
  170. ## gravatational force toward gravityCenter
  171. ## @name particlesystem.vwf#gravity
  172. ## @property
  173. gravity:
  174. ## the point in worldspace that the gravity force pulls toward
  175. ## @name particlesystem.vwf#gravity
  176. ## @property
  177. gravityCenter:
  178. ## World bounding box of the camera. Overrides inherited property to return null, since a camera has no dimensions
  179. ##
  180. ## @name camera.vwf#worldBoundingBox
  181. ## @property
  182. worldBoundingBox:
  183. get: |
  184. return null;
  185. value: null