Planet Samuro
Messages
Guest_04116
Planet Samuro
 
Messages
3D Chat
Mini-Chat

Message Panels : General : Paramètres pour les particules
<<<First<<prev.>next.>>>Last>RepReply^Discussion ^vDiscussion vDelDelete the discussion
SamuroSamuro02/04Sent: 02/04/2021 22:12:581 / 1Message 1 from 1

La structure particule_parameters contient les zones suivantes :

struct particule_parameters
{
  int         mesh_nr;              // nr mesh où l'émetteur est créé

  // rafales
  int         nb_particles;         // nombre de particules émises par rafale
  int         pause;                // temps de pause entre rafales, en millisecondes
  int         nb_bursts;            // nombre de rafales, 0 signifie infini

  // naissance de particules dans une boîte
  vector[2]   box;                  // les particules sont générées à une position aléatoire à l'intérieur de la boîte

  // naissance de particules dans le pulvérisateur
  float[2]    direction_angle;      // pulvériser vers l'extérieur dans la plage d'angle horizontal
  float[2]    height_angle;         // pulvériser vers l'extérieur dans la plage d'angle vertical
  float       radius;               // distance de pulvérisation à partir du centre où les particules sont créées

  // Particule 3 durées de vie
  lifetime    life[3];              // 3 vies successives, voir ci-dessous.

  bool        dont_follow_emitter;  // true = si le mesh émetteur bouge ou tourne, les particules ne suivent pas.

  bool        ambiant;              // true = les particules reçoivent la lumière ambiante
  bool        sunlight;             // true = les particules reçoivent la lumière du soleil

  int         shininess;            // 0 .. 4  0=éteint, 1 to 4 intensité du reflet
  int         shinysize;            // 0 .. 7  0=pas de tache, 1 to 7 taille de la tache

  int         emissive_color;       // couleur luminescente

  string(32)  texture;              // nom de la texture de la particule, doit être ajouté dans le dossier scripts

  int         mode_uv;              // idem que mesh u, v
  float       u;
  float       v;

  bool        sort;                 // trier les particules (meilleur résultat pour textures transparentes mais utilise du CPU !)

  // mode chaine
  int       leash_id;       // id de l'objet à relier par la chaîne (non-zero active le mode chaine)
  int       leash_mesh_nr;  // numéro de mesh de l'objet distant où attacher la chaîne (1..32)
  float     leash_length;   // longueur de chaine en mètres (maximum 256)
  float     leash_stretch;  // facteur d'allongement (0..1) de sorte que les particules se chevauchent un peu à la longueur maximale (0.0 = aucun, 0.2 = anneaux de chaîne)
  bool      leash_physics;  // true = tire l'avatar vers l'arrière s'il est plus éloigné que la longueur de chaine
}


Les particules peuvent avoir un maximum de 3 vies au cours desquelles elles ont un comportement différent.

La structure lifetime comprend les zones ci-après.

Lorsqu'il y a deux zones, vous pouvez spécifier une limite inférieure et une limite supérieure,
et une valeur aléatoire entre les deux limites est sélectionnée pour chaque particule.

struct lifetime
{
  int[2]        durations;           // durée de vie des particules, en msecs (max 1 jour)
  float[2]      begin_speed;         // Début de la plage de vitesse du pulvérisateur
  float[2]      end_speed;           // Fin de la plage de vitesse du pulvérisateur
  vector[2]     begin_velocity;      // Vitesse de début supplémentaire en m/s
  vector[2]     end_velocity;        // Vitesse de fin supplémentaire en m/s
  vector[2]     begin_acceleration;  // accélération de début supplémentaire en m/s2
  vector[2]     end_acceleration;    // accélération de fin supplémentaire en m/s2
  vector[2]     begin_size;          // début taille des particules (largeur, hauteur) en mètres
  vector[2]     end_size;            // fin taille des particules (largeur, hauteur) en mètres
  int[2]        begin_color;         // début couleur et transparence
  int[2]        end_color;           // fin couleur et transparence
  int           orientation;         // 0=vertical, 1=vers la vitesse, 2=horizontal, 3=chaîne.
}


<<<First<<prev.>next.>>>Last>RepReply^Discussion ^vDiscussion vDelDelete the discussion