Le Hover Publi
Un mobilier urbain d'affichage publicitaire
faible coût (en prim!)
Le Hover Publi est à l'image ce que le Hover text est au texte : une texture qui flotte au-dessus de l'objet et que l'on voit toujours à plat quelque soit l'angle sous lequel on l'observe.
Pour ceux qui ont des doigts d'or et éditent d'excellent images, c'est un bon moyen de communication.
Voici le script, il deviendra vite indispensable.

 

/*Ce script affiche une texture au-dessus de la prim qui porte le script.
La texture est vue en permanence quelque soit l'angle.
Il s'agit en fait d'une particule, avec des paramètres particuliers

Si il y a plusieurs textures dans le contenu de la prim, elles sont affichées tour à tour.

Il n'y a pas de copyright ou de droits sur ce script (license MTI/X), il s'agit simplement d'une démonstration du système de particules.

Si ce script vous inspire, faites en une adaptation et surtout dotez-le d'un habillage digne d'une bonne enseigne publicitaire.

Garmin Kawaguichi
*/

float fDelay = 10.0; //temps d'affichage d'une photo

//2 paramètres pour déterminer la taille de l'affichage
float fLargeur = 1.50; //largeur d'une photo
float fHauteur = 1.00; //hauteur d'une photo

float fAltitude = 1.50; //la distance à laquelle flotte la photo

// au cas où il n'y aurait pas de photos dans le contenu
key kPhotoDefaut = "b330562f-59da-10df-fbc6-81fd2ba7b01e";

//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
key kTexture; //texture en cours de projection
integer iTotalPhotos; //nombre de photos dans le contenu
integer iPntPhoto; //pointeur de la photo courante

AffPhotoPartic()
{
llParticleSystem([ PSYS_PART_FLAGS, 0, PSYS_SRC_PATTERN, 4,

//l'image à afficher
PSYS_SRC_TEXTURE, kTexture,
//pour teinter la textures, le cas échéant
PSYS_PART_START_COLOR, <1.0,1.0,1.0>,
PSYS_PART_END_COLOR, <1.0,1.0,1.0>,

//Images semi-transparentes
PSYS_PART_START_ALPHA, 0.50,
PSYS_PART_END_ALPHA, 0.50,

//Utilisation de la taille de l'image
PSYS_PART_START_SCALE, <fLargeur, fHauteur,0.0>,
PSYS_PART_END_SCALE, <fLargeur, fHauteur,0.0>,

//Placement au-dessus du support ; attention la rotation de la prim
//affecte la position de la texture
PSYS_SRC_BURST_RADIUS, fAltitude,

//\\\ Ne pas modifier
PSYS_SRC_ACCEL, <0.0, 0.0, 0.0>,
PSYS_SRC_BURST_PART_COUNT, 8,
PSYS_SRC_BURST_RATE, 0.10,
PSYS_SRC_BURST_SPEED_MIN, 0.0,
PSYS_SRC_BURST_SPEED_MAX, 0.0,
PSYS_PART_MAX_AGE, 1.0,
PSYS_SRC_MAX_AGE, 0.0,
PSYS_SRC_ANGLE_BEGIN, 0.0,
PSYS_SRC_ANGLE_END, 0.0,
PSYS_SRC_OMEGA, <0.0,0.0,0.0>]);
}

default
{
state_entry()
{
//initialisation
llParticleSystem([]);
iTotalPhotos = llGetInventoryNumber(INVENTORY_TEXTURE);
iPntPhoto = 0;
//llOwnerSay("iTotalPhotos = " + (string)iTotalPhotos);
llSetTimerEvent(fDelay);
}

timer()
{
llParticleSystem([]);
llSleep(2.0);
if(!iTotalPhotos) //Pas de textures dans la prim
{
kTexture = kPhotoDefaut;
}
else
{
kTexture = llGetInventoryKey(llGetInventoryName(INVENTORY_TEXTURE, iPntPhoto));
iPntPhoto++;
if(iPntPhoto >= iTotalPhotos)iPntPhoto = 0;
AffPhotoPartic();
}

}

on_rez(integer iPNumb)
{
llResetScript();
}

changed(integer iChange)
{
if(iChange & CHANGED_INVENTORY)llResetScript();
}
}

 

 


Glisser ce script dans un objet faisant office de support. Y ajouter les textures, celles-ci défileront dans l'ordre alphabétique.
Je fais confiance à votre imagination pour créer les supports les plus originaux et les plus audacieux.

ATTENTION : dans le cadre de la restauration de la qualité de vie au sein de Mainland, Linden Lab limite drastiquement l'usage de moyens publicitaires. Dans le cas d'un tel objet, c'est la hauteur maximum qui est concernée : 8 mètres. Dans le doute, consultez Jack Linden, il est le seul à avoir compris les règles subtiles de la publicité dans Mainland (et encore ... je me demande).

Faites en un bon usage et partagez avec vos amis et contacts,