AssetTypeFXParticleSystem.xsd 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="uri:ea.com:eala:asset" xmlns:at="uri:ea.com:eala:asset:type" xmlns:xas="uri:ea.com:eala:asset:schema" targetNamespace="uri:ea.com:eala:asset" elementFormDefault="qualified" xmlns:XmlEdit="http://tempuri.org/XmlEdit.xsd">
  3. <!-- All the modules -->
  4. <xs:include schemaLocation="FXParticleSystem/FXParticleBase.xsd" />
  5. <xs:include schemaLocation="FXParticleSystem/DrawModules.xsd" />
  6. <xs:include schemaLocation="FXParticleSystem/VolumeModules.xsd" />
  7. <xs:include schemaLocation="FXParticleSystem/VelocityModules.xsd" />
  8. <xs:include schemaLocation="FXParticleSystem/EventModules.xsd" />
  9. <xs:include schemaLocation="FXParticleSystem/UpdateModules.xsd" />
  10. <xs:complexType name="RandomAlphaKeyframe">
  11. <xs:complexContent>
  12. <xs:extension base="ClientRandomVariable">
  13. <xs:sequence />
  14. <xs:attribute name="RelativeAge" type="Percentage" />
  15. <xs:attribute name="Frame" type="SageUnsignedInt" default="1000" />
  16. </xs:extension>
  17. </xs:complexContent>
  18. </xs:complexType>
  19. <xs:complexType name="RGBColorKeyframe">
  20. <xs:sequence>
  21. <xs:element name="Color" type="Color3f" minOccurs="1" />
  22. </xs:sequence>
  23. <xs:attribute name="RelativeAge" type="Percentage" />
  24. <xs:attribute name="Frame" type="SageUnsignedInt" default="1000" />
  25. </xs:complexType>
  26. <xs:complexType name="FXParticlePhysicsBase">
  27. <xs:complexContent>
  28. <xs:extension base="FXParticleBaseModule" />
  29. </xs:complexContent>
  30. </xs:complexType>
  31. <xs:complexType name="FXParticleDefaultPhysics">
  32. <xs:complexContent>
  33. <xs:extension base="FXParticlePhysicsBase">
  34. <xs:sequence>
  35. <xs:element name="VelocityDamping" type="ClientRandomVariable" minOccurs="0" maxOccurs="1" xas:byValue="true" />
  36. <xs:element name="DriftVelocity" type="Vector3" minOccurs="0" maxOccurs="1" xas:byValue="true" />
  37. </xs:sequence>
  38. <xs:attribute name="Gravity" type="SageReal" />
  39. <xs:attribute name="Swirly" type="SageBool" />
  40. <xs:attribute name="ParticlesAttachToBone" type="SageBool" />
  41. </xs:extension>
  42. </xs:complexContent>
  43. </xs:complexType>
  44. <xs:complexType name="FXParticleSwarmPhysics">
  45. <xs:complexContent>
  46. <xs:extension base="FXParticlePhysicsBase">
  47. <xs:attribute name="AttractStrength" type="SageReal" default="0.0" />
  48. </xs:extension>
  49. </xs:complexContent>
  50. </xs:complexType>
  51. <xs:complexType name="FXParticleAlpha">
  52. <xs:sequence>
  53. <xs:element name="Alpha" type="RandomAlphaKeyframe" minOccurs="0" maxOccurs="8" />
  54. </xs:sequence>
  55. </xs:complexType>
  56. <xs:complexType name="FXParticleColor">
  57. <xs:sequence>
  58. <xs:element name="Color" type="RGBColorKeyframe" minOccurs="0" maxOccurs="8" />
  59. <xs:element name="ColorScale" type="ClientRandomVariable" minOccurs="0" xas:byValue="true" />
  60. </xs:sequence>
  61. <xs:attribute name="UseHouseColor" type="SageBool" default="false" />
  62. <xs:attribute name="HouseColorSaturation" type="SageReal" default="1.0" />
  63. </xs:complexType>
  64. <xs:complexType name="FXParticlePhysicsModule">
  65. <xs:choice minOccurs="0" maxOccurs="1">
  66. <!--xs:element name="Advanced" type="FXParticleSystemAdvancedPhysicsModule" /-->
  67. <xs:element name="Default" type="FXParticleDefaultPhysics" />
  68. <xs:element name="Swarm" type="FXParticleSwarmPhysics" />
  69. </xs:choice>
  70. </xs:complexType>
  71. <xs:complexType name="FXParticleWind">
  72. <xs:attribute name="Motion" type="FXParticleSystem_WindMotion" default="NOT_USED" />
  73. <xs:attribute name="Strength" type="SageReal" default="2.0" />
  74. <xs:attribute name="FullStrengthDist" type="SageReal" default="75.0" />
  75. <xs:attribute name="ZeroStrengthDist" type="SageReal" default="200.0" />
  76. <xs:attribute name="AngleChangeMin" type="SageReal" default=".15" />
  77. <xs:attribute name="AngleChangeMax" type="SageReal" default=".45" />
  78. <xs:attribute name="PingPongStartAngleMin" type="SageReal" default="0.0" />
  79. <xs:attribute name="PingPongStartAngleMax" type="SageReal" default="0.7853981633974483"/>
  80. <xs:attribute name="PingPongEndAngleMin" type="SageReal" default="5.4977871437821381" />
  81. <xs:attribute name="PingPongEndAngleMax" type="SageReal" default="6.2831853071795864" />
  82. <xs:attribute name="TurbulenceAmplitude" type="SageReal" default="0" />
  83. <xs:attribute name="TurbulenceFrequency" type="SageReal" default="0" />
  84. </xs:complexType>
  85. <xs:complexType name="FXParticleSystemTemplate" xas:runtimeWrapper="::FXParticleSystem::ParticleSystemTemplate" xas:typeGroup="Xml">
  86. <xs:complexContent>
  87. <xs:extension base="BaseAssetType">
  88. <xs:sequence>
  89. <xs:element name="SlavePosOffset" type="Vector3" minOccurs="0" xas:byValue="true" />
  90. <xs:element name="Lifetime" type="ClientRandomVariable" minOccurs="0" xas:byValue="true" />
  91. <xs:element name="Size" type="ClientRandomVariable" minOccurs="0" xas:byValue="true" />
  92. <xs:element name="StartSizeRate" type="ClientRandomVariable" minOccurs="0" xas:byValue="true" />
  93. <xs:element name="BurstDelay" type="ClientRandomVariable" minOccurs="0" xas:byValue="true" />
  94. <xs:element name="BurstCount" type="ClientRandomVariable" minOccurs="0" xas:byValue="true" />
  95. <xs:element name="InitialDelay" type="ClientRandomVariable" minOccurs="0" xas:byValue="true" />
  96. <xs:element name="Alphas" type="FXParticleAlpha" minOccurs="0" />
  97. <xs:element name="Colors" type="FXParticleColor" minOccurs="0" />
  98. <xs:element name="Wind" type="FXParticleWind" minOccurs="0" />
  99. <xs:element name="Physics" type="FXParticlePhysicsModule" minOccurs="1" />
  100. <xs:element name="Draw" type="FXParticleDrawModule" minOccurs="1" />
  101. <xs:element name="Volume" type="FXParticleVolumeModule" minOccurs="1" />
  102. <xs:element name="Velocity" type="FXParticleVelocityModule" minOccurs="1" />
  103. <xs:element name="Event" type="FXParticleEventModule" minOccurs="0" xas:byValue="true" />
  104. <xs:element name="Update" type="FXParticleUpdateModule" minOccurs="0" xas:byValue="true" />
  105. </xs:sequence>
  106. <xs:attribute name="Priority" type="FXParticleSystem_Priority" default="ULTRA_HIGH_ONLY" />
  107. <xs:attribute name="IsOneShot" type="SageBool" default="false" />
  108. <xs:attribute name="Shader" type="FXParticleSystem_ShaderType" default="ADDITIVE" />
  109. <xs:attribute name="Type" type="FXParticleSystem_Type" default="PARTICLE"/>
  110. <xs:attribute name="ParticleTexture" type="TextureRef" />
  111. <xs:attribute name="Drawable" type="RenderObjectRef" />
  112. <xs:attribute name="SlaveSystem" type="FXParticleSystemWeakRef" />
  113. <xs:attribute name="PerParticleAttachedSystem" type="FXParticleSystemWeakRef" />
  114. <xs:attribute name="SystemLifetime" type="SageUnsignedInt" default="0" />
  115. <xs:attribute name="SortLevel" type="SageUnsignedInt" default="0" />
  116. <xs:attribute name="IsGroundAligned" type="SageBool" default="false" />
  117. <xs:attribute name="IsEmitAboveGroundOnly" type="SageBool" default="false" />
  118. <xs:attribute name="IsParticleUpTowardsEmitter" type="SageBool" default="false" />
  119. <xs:attribute name="UseMaximumHeight" type="SageBool" default="false" />
  120. <xs:attribute name="EmitterSound" type="AudioEventInfoRef" use="optional" />
  121. </xs:extension>
  122. </xs:complexContent>
  123. </xs:complexType>
  124. </xs:schema>