SOS scripts

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
jegalerevraiment
Messages : 1
Inscription : 18 Avr 2023 10:46

SOS scripts

Message par jegalerevraiment » 18 Avr 2023 11:00

Bonjour,

Je suis en deuxième année de com et on doit réaliser un projet Unity, OR je ne suis vraiment pas DUTOUT une pro, on peut se le dire carrément une débutante complet et le prof ne nous aide pas vraiment. Je cherche des scripts de partout mais je ne trouve pas les bons. J'espère que ce forum pourra m'aider (projet à rendre dans deux jours ahah).

Alors j'aurais besoins d'un script pour que mon third person controller pousse un objet (un lézard en l'occurence) dans différentes zones trigger. Il y a 6 zones trigger qui correspondent à 6 états différents de la ville (oui le projet est une ville).
J'aurais donc besoins:d'un script pour que une fois le lézard dans la zone trigger
-la luminosité change (mode nuit)
-un bâtiment se déplace
-la couleurs des bâtiments changent
-un bâtiment se retourne (change de rotation).
-la ville change de taille

Mais le truc c'est que en poussant le lézard d'une zone à une autre ça change automatiquement, sans crée pour autant un autre monde.

SVP je suis au bout de ma vie, aidez moi par pitié !!

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6225
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: SOS scripts

Message par boubouk50 » 18 Avr 2023 12:23

Je ne vais pas faire ton examen pour toi, mais je vais t'aider à trouver les solutions. Certes, sans connaissances en développement, je ne sais pas si ça t'aidera... Bref:
- Changement de luminosité : Le plus simple reste de modifier l'intensité et la direction de la Directional Light (en admettant que tu en es une et une seule -> Elle représente le soleil, donc normalement oui).
Il te faut donc récupérer le Component Light de ta Directional Light et affecter sa couleur pour une couleur sombre. Ensuite, tu accèdes au Transform pour modifier la rotation en x (x = 180, le soleil est rasant, l'obscurité apparaît automatiquement avec le système d'environnement HDR)

Code : Tout sélectionner


    // Depuis l'inspecteur affecter la Directional Light a ce champs
    public Light dirLight = null;

    // Fonction qui permet de passer de jour à nuit (et vice versa)
    public void SetNightLight (bool _isNight)
    {
        // Si true est envoyé, alors c'est la nuit
        if (_isNight)
        {
            // On affecte une couleur sombre
            dirLight.color = new Color (0.33f, 0.31f, 0.27f, 1f);
            // On met la lumière rasante
            dirLight.transform.rotation = Quaternion.Euler (180f, dirLight.transform.rotation.eulerAngles.y, dirLight.transform.rotation.eulerAngles.z);
        }
        else
        {
            // On affecte une couleur solaire
            dirLight.color = new Color (1f, 0.96f, 0.84f, 1f);
            // On met une lumière haute
            dirLight.transform.rotation = Quaternion.Euler (30f, dirLight.transform.rotation.eulerAngles.y, dirLight.transform.rotation.eulerAngles.z);
        }
    }
Dans le même principe pour le reste:
Déplacer un batiment : jouer sur son transform. Utiliser la fonction transform.Translate () pour le faire bouger dans une direction donnée, ou bien affecter direction sa position via transform.position (world) ou transform.localPosition (local)
Pour la rotation, c'est pareil, mais avec Rotate ().
Pour le changement de taille, c'est pareil, mais avec le scale.
Changer la couleur: Accéder au renderer de l'objet et modifier la couleur de son sharedMaterial. Tous les objets qui ont le même matériau changeront de couleur.

Si tu ne maîtrises pas la notion de gameobject ou meme de component, par contre, ça va être coton parce que tu ne peux pas juste créer un script et ça marche. Il faut référencer les objets pour que ceux-ci soient utilisés. Sinon comment fait ton jeu pour savoir s'il agit sur tel ou tel objet?

2 jours avant le rendu. C'est un peu limite pour s'en préoccuper non ? :gene:
On en refera pas les étudiants, on sait ce que c'est ::d :roll:
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6225
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: SOS scripts

Message par boubouk50 » 20 Avr 2023 18:19

L'heure du rendu approche...
Avons-nous sauvé Jegalerevraiment? Mystère... :o
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « Scripting »