modification de textures par rapport a un tableau de texture

Répondre
Partager Rechercher
Bonjour a vous tous, amis SLiens et SLiennes.

voilà ma drôle de question :

Imaginez une texture de 1024x1024 coupée en 4 (2x2 images de 512x512 pixels)

j'aurais sollicité un scripteur de génie pour préparer un script qui me mettrait par un simple clique sur l'objet (pour moi des fleurs sculted) de passer d'une texture a une autre.

le super programme "TEXTURE OPTIMISER" de CRYSTAL utilise ce principe

Merci a vous tous en attendant

PS : si cela est possible, ne pas se limiter a 2x2 images, mais faire aussi pour 4x4 images
__________________
On est pas responsable de la tête que l'on a (sauf sur SL) , mais on est responsable de la tête que l'on fait
http://stats.slbuzz.com/philippe-shilova.gif
Edit: Oups en relisant, j'avais mal compris ce que tu demandais.

Si ce n'est pas pour faire une animation, mieux vaut utiliser une liste d'UUID de textures, comme ça tu en mets autant que tu veux.
j'avais effectivement pensé a cela mais les textures sont des textures simples, aplat de couleur, dégradés et autre

en utilisant ce système, je ne fais qu'un upload de 10 l$ pour 4 textures, voir 16 textures si je fais un 4x4

hehehehehe, pas radin mais économe . . . .divise de mon beau département.

Pourvu qu'il y est une solution
__________________
On est pas responsable de la tête que l'on a (sauf sur SL) , mais on est responsable de la tête que l'on fait
http://stats.slbuzz.com/philippe-shilova.gif
Oui il existe une solution, je fais ça pour mes cours de script dans SL

Il te suffit d'utiliser un système qui va par exemple changer les UV map de ta texture.

En gros, tu étires ta texture (avec les outils de l'onglet texture) genre si tu une texture composée de 4 textures par 4 tu mets la répétition à 4 en verticale et horizontale.

Ensuite tu vas modifier les Offsets via la commande llOffsetTexture(x,y,ALL_SIDES) où x et y sont 1/nbr d'image genre pour 4 images dans la texture tu auras 4 couples : (-0.250,0.250 ; 0.250,0.250 ; -0.250,-0.250 ; 0.250,-0.250)

Si tu veux contact moi IG pour développer ça ensemble , on mettra la soluc après ICI
Voilà après quelques petits efforts

Je résume rapidement le but du script :

Permettre de mettre plusieurs textures sur une seule grande et ensuite de pouvoir lappliquer une zone de la grande texture sur un prim et la changer au clic

Code:
//Script écrit par Mathew Cazalet, MC2007 pour JOL, ce script est un freebie, merci d'en garder l'esprit ;)

float X=4;//Mettre ici le nombre d'Images Horizontales de la texture
float Y=4;//Mettre ici le nombre d'Images Verticales de la texture

integer numero=0;//Compteur technique pour la boucle de texture

default
{
    state_entry()
    {
        llScaleTexture(1/X,1/Y,ALL_SIDES);//Définit le zoom sur la texture nécessaire
    }

    touch_start(integer total_number)
    {
        if (numero>=X*Y)
        {
            numero=0;//Permet de recommencer la boucle si on est au bout
        }
        float ligne = (float)(numero/(integer)X);//converti le numéro de l'image en coordonnées ligne
        float colonne = (float)(numero - ligne*(integer)X);//converti le numéro de l'image en coordonnées colonne

        llOffsetTexture(colonne/X-1.0/2.0*(1.0-1.0/X),-(ligne/Y-1.0/2.0*(1.0-1.0/Y)),ALL_SIDES);
        //Défini la position de la nouvelle texture a appliquer suivant le zoom
        
        numero ++; //Incrémente le compteur
    }
}
Testé et approuvé par Monsieur Philippe Shilova
Bonjour ))))

effectivement, testé et approuvé , trop coool

mais le "monsieur" est de trop ;-)

Merci encore Mathew

tu as fait du bon travail.


Bonne journée à tous
__________________
On est pas responsable de la tête que l'on a (sauf sur SL) , mais on est responsable de la tête que l'on fait
http://stats.slbuzz.com/philippe-shilova.gif
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés