ParticleSystem

Element Information

Model

IS{0,1} , (MetadataDouble | MetadataFloat | MetadataInteger | MetadataSet | MetadataString) , ((Appearance , (Box | Cone | Cylinder | IndexedFaceSet | IndexedLineSet | IndexedTriangleFanSet | IndexedTriangleSet | IndexedTriangleStripSet | LineSet | PointSet | Sphere | TriangleFanSet | TriangleSet | TriangleStripSet | ElevationGrid | Polyline2D | Polypoint2D | Rectangle2D | TriangleSet2D | Extrusion | Text | Arc2D | ArcClose2D | Circle2D | Disk2D | QuadSet | IndexedQuadSet | GeoElevationGrid | NurbsCurve | NurbsPatchSurface | NurbsSweptSurface | NurbsSwungSurface | NurbsTrimmedSurface | ProtoInstance)) | ((Box | Cone | Cylinder | IndexedFaceSet | IndexedLineSet | IndexedTriangleFanSet | IndexedTriangleSet | IndexedTriangleStripSet | LineSet | PointSet | Sphere | TriangleFanSet | TriangleSet | TriangleStripSet | ElevationGrid | Polyline2D | Polypoint2D | Rectangle2D | TriangleSet2D | Extrusion | Text | Arc2D | ArcClose2D | Circle2D | Disk2D | QuadSet | IndexedQuadSet | GeoElevationGrid | NurbsCurve | NurbsPatchSurface | NurbsSweptSurface | NurbsSwungSurface | NurbsTrimmedSurface) , (Appearance | ProtoInstance)) | (ProtoInstance , (Box | Cone | Cylinder | IndexedFaceSet | IndexedLineSet | IndexedTriangleFanSet | IndexedTriangleSet | IndexedTriangleStripSet | LineSet | PointSet | Sphere | TriangleFanSet | TriangleSet | TriangleStripSet | ElevationGrid | Polyline2D | Polypoint2D | Rectangle2D | TriangleSet2D | Extrusion | Text | Arc2D | ArcClose2D | Circle2D | Disk2D | QuadSet | IndexedQuadSet | GeoElevationGrid | NurbsCurve | NurbsPatchSurface | NurbsSweptSurface | NurbsSwungSurface | NurbsTrimmedSurface | Appearance | ProtoInstance))) , (Color | ColorRGBA) , (ConeEmitter | ExplosionEmitter | PointEmitter | PolylineEmitter | SurfaceEmitter | VolumeEmitter) , BoundedPhysicsModel , ForcePhysicsModel , WindPhysicsModel , ProtoInstance , TextureCoordinate{0,1}

Attributes

Used By

Element Group ChildContentModelFull

Source

<xs:element name="ParticleSystem">
  <xs:annotation>
    <xs:appinfo>
      <xs:attribute name="isActive" type="SFBool" fixed="outputOnlyField"/>
      <xs:element name="colorRamp" type="SFNode" fixed="initializeOnlyField" default="X3DColorNode"/>
      <xs:element name="geometry" type="SFNode" fixed="inputOutputField" default="X3DGeometryNode">
        <!-- annotates SFNode geometry from Shape node -->
        <xs:annotation>
          <xs:appinfo>
            <xs:attribute name="componentName" type="xs:NMTOKEN" fixed="ParticleSystems"/>
            <xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="3"/>Support for SFNode geometry field (inherited from X3DShapeNode) required at level 3.</xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="emitter" type="SFNode" fixed="initializeOnlyField" default="X3DParticleEmitterNode"/>
      <xs:element name="physics" type="MFNode" fixed="initializeOnlyField" default="X3DParticlePhysicsModelNode"/>
      <xs:element name="texCoordRamp" type="SFNode" fixed="initializeOnlyField" default="TextureCoordinate"/>
      <xs:attribute name="componentName" type="xs:NMTOKEN" fixed="ParticleSystems"/>
      <xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="2"/>
    </xs:appinfo>
    <xs:documentation source="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/particle_systems.html#ParticleSystem"/>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="X3DShapeNode">
        <xs:sequence>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>SFNode</xs:documentation>
            </xs:annotation>
            <xs:element ref="Color">
              <xs:annotation>
                <xs:documentation>colorRamp</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="ColorRGBA">
              <xs:annotation>
                <xs:documentation>colorRamp</xs:documentation>
              </xs:annotation>
            </xs:element>
            <!-- unable to include colorRamp ProtoInstance without creating an ambiguous content model -->
          </xs:choice>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>SFNode</xs:documentation>
            </xs:annotation>
            <xs:element ref="ConeEmitter">
              <xs:annotation>
                <xs:documentation>emitter</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="ExplosionEmitter">
              <xs:annotation>
                <xs:documentation>emitter</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="PointEmitter">
              <xs:annotation>
                <xs:documentation>emitter</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="PolylineEmitter">
              <xs:annotation>
                <xs:documentation>emitter</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="SurfaceEmitter">
              <xs:annotation>
                <xs:documentation>emitter</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="VolumeEmitter">
              <xs:annotation>
                <xs:documentation>emitter</xs:documentation>
              </xs:annotation>
            </xs:element>
            <!-- unable to include emitter ProtoInstance without creating an ambiguous content model -->
          </xs:choice>
          <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:element ref="BoundedPhysicsModel">
              <xs:annotation>
                <xs:documentation>physics</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="ForcePhysicsModel">
              <xs:annotation>
                <xs:documentation>physics</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="WindPhysicsModel">
              <xs:annotation>
                <xs:documentation>physics</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="ProtoInstance">
              <xs:annotation>
                <xs:documentation>physics</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
          <xs:element ref="TextureCoordinate" minOccurs="0">
            <xs:annotation>
              <xs:documentation>texCoordRamp</xs:documentation>
            </xs:annotation>
          </xs:element>
          <!-- unable to include texCoordRamp ProtoInstance without creating an ambiguous content model -->
        </xs:sequence>
        <xs:attribute name="createParticles" type="SFBool" default="true"/>
        <xs:attribute name="enabled" type="SFBool" default="true"/>
        <xs:attribute name="lifetimeVariation" default="0.25">
          <xs:simpleType>
            <xs:restriction base="SFFloat">
              <xs:minInclusive value="0"/>
              <xs:maxInclusive value="1"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="maxParticles" default="200">
          <xs:simpleType>
            <xs:restriction base="SFInt32">
              <xs:minInclusive value="0"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="particleLifetime" default="5">
          <xs:simpleType>
            <xs:restriction base="SFFloat">
              <xs:minInclusive value="0"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="particleSize" type="SFVec2f" default="0.02 0.02">
          <xs:annotation>
            <xs:appinfo>
              <xs:minInclusive value="0"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="colorKey" type="MFFloat">
          <xs:annotation>
            <xs:appinfo>
              <xs:minInclusive value="0"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="geometryType" type="particleSystemGeometryTypeValues" default="QUAD">
          <xs:annotation>
            <xs:appinfo>
              <xs:attribute name="componentName" type="xs:NMTOKEN" fixed="ParticleSystems"/>
              <xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="3"/>geometryType "SPRITE" supported at level 2, and geometryType "GEOMETRY" supported at level 3.</xs:appinfo>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="texCoordKey" type="MFFloat">
          <xs:annotation>
            <xs:appinfo>
              <xs:minInclusive value="0"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="containerField" type="xs:NMTOKEN" default="children"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

Sample