MeshEmitter
Le MeshEmitter est un système de particules ajouté à un Emitter dont les particules ne sont pas des sprites, c'est-à-dire des particules 2D pourvues d'une texture, mais des static-meshes, donc des objets 3D. Tout comme un SpriteEmitter ne peut utiliser qu'une seule texture pour ses particules, chaque MeshEmitter ne peut émettre qu'un type de static-mesh.
Un MeshEmitter s'ajoute à un Emitter comme n'importe quel autre système de particules.
Mis à part le type de particules différent, un MeshEmitter est très similaire à un SpriteEmitter et les mêmes paramètres ont les mêmes effets, ce qui rend leur utilisation très simple et intuitive une fois le SpriteEmitter maîtrisé.
Paramètres spécifiques
S'il ne possède pas l'onglet Sprite dans ses paramètres, le MeshEmitter possède un onglet Mesh avec quelques propriétés agissant sur l'affichage des static-meshes.
- RenderTwoSided : Permet de rendre toutes les faces du static-mesh utilisé visibles des deux côtés. Utile lorsque le static-mesh n'est pas fermé, afin d'éviter l'effet de trou inévitable lorsque l'observateur se trouve du mauvais côté du static-mesh. Ce paramètre ne fonctionne que si UseMeshBlendMode est faux.
- StaticMesh : Le static-mesh généré par le MeshEmitter, préalablement sélectionné dans le static-mesh browser.
- UseMeshBlendMode : Par défaut vrai, ce paramètre permet d'utiliser le blending des textures du static-mesh, ce qui lui donne la même apparence qu'un static-mesh normal. Si ce paramètre est réglé sur faux, le mode de blending est déterminé, comme pour un SpriteEmitter, par le paramètre DrawStyle, situé dans l'onglet Texture des propriétés du MeshEmitter. UseMeshBlendMode doit également être désactivé pour que RenderTwoSided puisse fonctionner en outrepassant le mode de rendu d'origine des textures du static-mesh.
- UseParticleColor : Permet d'utiliser les paramètres des onglets Color et Fading des propriétés du MeshEmitter pour modifier la couleur et l'opacité des particules. Notez que ce paramètre n'est utile que si UseMeshBlendMode est réglé sur vrai. Si UseMeshBlendMode = faux, le material du static-mesh est de toute façon soumis aux modifications que lui fait subir l'Emitter et les paramètres de Color et Fading sont donc forcément appliqués. UseParticleColor est alors redondant.
En dehors de ces paramètres, le MeshEmitter ne se distingue pas du SpriteEmitter, si ce n'est qu'émettant des objets complexes, il est plus exigeant et a un plus fort impact sur les performances.
Il permet par exemple d'émettre des débris dans une explosion ou d'éjecter des douilles vides d'une arme. Dans la map AS-RobotFactory, des MeshEmitters sont utilisés pour générer des pièces de robots sur les chaînes d'assemblage et des caisses sur des tapis roulants.
Ces particules étant des objets 3D, il est fortement conseillé d'utiliser les paramètres de l'onglet Collision pour donner aux static-meshes générés la possibilité de réagir au décor.
Néanmoins, si ces static-meshes peuvent entrer en collision et donc rebondir ou s'arrêter en cas de contact avec la géométrie, il ne s'agit pas d'objets physiques. Leur orientation n'est pas modifiée en cas de collision et ils ne peuvent donc pas "rouler" dans leur chute, par exemple. Ils ne peuvent pas non plus entrer en collision avec les joueurs et les projectiles.
Les static-meshes émis par le MeshEmitter reçoivent un éclairage dynamique mais ne projettent pas d'ombre, celle-ci ne pouvant être précalculée lors du rebuild.
RSS Feed