[RESOLU][Debutant] Valeurs différentes dans script et dans Unity

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Zumo
Messages : 23
Inscription : 08 Déc 2022 01:08

[RESOLU][Debutant] Valeurs différentes dans script et dans Unity

Message par Zumo » 14 Jan 2023 12:51

Bonjour à tous,
Je pense que je suis passé à côté d'un truc...

J'ai créé trois variables public dans un script :

Code : Tout sélectionner

 	public Vector3 cameraOffset;
        public Vector3 cameraOffsetCrouching = new Vector3(0, 0.2f, 0.2f);
        public Vector3 cameraOffsetStanding = new Vector3(0, 0.8f, 0.1f);
Elles sont apparues dans l'inspector, seulement maintenant si je change les valeurs dans le script elles ne sont pas modifées dans l'inspector !
Si je fais :

Code : Tout sélectionner

cameraOffset = cameraOffsetCrouching;
Rien ne se passe :pleur4: , rien n'est modifié dans la scene, si je modifie la valeur de cameraOffset manuellement dans l'inspector cela fonctionne. Mais à la limite j'ai sans doute une erreur dans le script.

La question que je me pose c'est pourquoi les valeurs entrées en dure dans le script ne sont pas reportées dans l'inspector ?
C'est peut-être le comportement normal et j'ai peut-être pas compris un truc mais bon... Si quelqu'un veut bien m'expliquer ^^
J'utilise unity 2021.3.16f1 et Visual studio 2022 Version 17.4.3
Dernière édition par Zumo le 17 Jan 2023 17:46, édité 1 fois.

Avatar de l’utilisateur
jmhoubre
Messages : 856
Inscription : 05 Oct 2019 22:05

Re: [Debutant] Valeurs différentes dans script et dans Unity

Message par jmhoubre » 14 Jan 2023 18:29

Bonjour,

il faut faire "Reset" dans le menu en haut à droite du script (dans l'inspecteur, les 3 points l'un au-dessus de l'autre).

Autre chose, tu es sur que tes variables doivent être public ? C'est une mauvaise pratique. Si tu veux juste qu'elles soient visibles dans l'inspecteur, tu les fais précéder de [SerializeField] :

Code : Tout sélectionner

[SerializeField] private float force = 2f;

Zumo
Messages : 23
Inscription : 08 Déc 2022 01:08

Re: [Debutant] Valeurs différentes dans script et dans Unity

Message par Zumo » 17 Jan 2023 17:45

jmhoubre a écrit :
14 Jan 2023 18:29
il faut faire "Reset" dans le menu en haut à droite du script (dans l'inspecteur, les 3 points l'un au-dessus de l'autre).
Juste ça tu peux pas savoir à quel point tu me rends service ! Je croyais que c'était un bug :gene:

Pour les variables en public, dans bcp de cas non ce n'est pas necessaire, c'est juste plus rapide à taper, je ferais le menage si je garde ces scripts ^^

Mercui bcp pour ton aide

Répondre

Revenir vers « Scripting »