Unity how to change color of object

Unity Comment changer la couleur d’un objet

Il y a deux façons de changer la couleur d’un objet sur Unity : via l’inspecteur ou via le code. Voici comment faire avec la deuxième méthode. Voici un résumé des différentes façons de le faire :

Changer la couleur d’un SpriteRenderer

Pour modifier la couleur d’un spriteRenderer, utilisez la propriété « color« .

using UnityEngine;

public class SpriteRendererModifier : MonoBehaviour
{
    public SpriteRenderer spriteRenderer;

    private void Start()
    {
        spriteRenderer.color = Color.white;
    }
}

Changer la couleur d’un objet 3D (MeshRenderer)

Pour modifier la couleur d’un objet 3d, utilisez la fonction « SetColor » du matériel avec le paramètre « _Color ».

using UnityEngine;

public class MeshRendererModifier : MonoBehaviour
{
    public MeshRenderer meshRenderer;

    private void Start()
    {
        meshRenderer.material.SetColor("_Color", Color.red);
    }
}

Image

Pour modifier la couleur d’une Image, utilisez la propriété « color« .

using UnityEngine;
using UnityEngine.UI;

public class ImageModifier : MonoBehaviour
{
    public Image image;

    private void Start()
    {
        image.color = Color.red;
    }
}

RawImage

Pour modifier la couleur d’une RawImage, utilisez la propriété « color« .

using UnityEngine;
using UnityEngine.UI;

public class RawImageModifier : MonoBehaviour
{
    public RawImage rawImage;

    private Start()
    {
        rawImage.color = Color.red;
    }

Texte UI (TextMeshPro)

Pour modifier la couleur d’un texte UI, utilisez la propriété « color« .

using UnityEngine;
using TMPro;

public class TextMeshProUGUIModifier : MonoBehaviour
{
    public TextMeshProUGUI textMeshProUGUI;

    private void Start()
    {
        textMeshProUGUI.color = Color.red;
    }
}

Texte 3D (TextMeshPro)

Pour modifier la couleur d’un texte 3d, utilisez la propriété « color« .

using UnityEngine;
using TMPro;

public class TextMeshProModifier : MonoBehaviour
{
    public TextMeshPro textMeshPro;

    private void Start()
    {
        textMeshPro.color = Color.red;
    }
}

Bouton

Pour modifier la couleur d’un bouton, utilisez la propriété « colors ».
Cette propriété permet de modifier indépendamment chaque état du bouton.

using UnityEngine;
using UnityEngine.UI;

public class ButtonModifier : MonoBehaviour
{
    public Button button;

    private void Start()
    {
        var colors = button.colors;

        colors.normalColor = Color.red;
        colors.highlightedColor = Color.red;
        colors.pressedColor = Color.red;
        colors.selectedColor = Color.red;
        colors.disabledColor = Color.red;

        button.colors = colors;
    }
}

Une autre technique est utilisée pour modifier la couleur d’un bouton dans l’inspecteur.

Particule (ParticleSystem)

Pour changer la couleur d’une particule utilisez la propriété « main« . Son utilisation est différente, cette propriété possède 3 couleurs modifiables, la couleur de départ, la couleur au fil du temps et la couleur en fonction de la vitesse. Chacune de ces couleurs utilise un gradient spécifique, le MinMaxGradient, qui peut être utilisé pour afficher des couleurs simples ou des dégradés.

using UnityEngine;
using static UnityEngine.ParticleSystem;

public class ParticleSystemModifier : MonoBehaviour
{
    public ParticleSystem particleSystemRef;
    public MinMaxGradient minMaxGradient;

    private void Start()
    {
        // Couleur de départ
        var main = particleSystemRef.main;
        main.startColor = minMaxGradient;

        // Couleur au fil du temps
        var colorOverLifeTime = particleSystemRef.colorOverLifetime;
        colorOverLifeTime.color = minMaxGradient;

        // Couleur en fonction de la vitesse
        var colorBySpeed = particleSystemRef.colorBySpeed;
        colorBySpeed.color = minMaxGradient;
    }
}

Particule avec trail

Pour modifier la couleur d’un trail avec une particule, utilisez la propriété « trails« . Comme pour les particules, le MinMaxGradient sera utilisé pour définir les couleurs.

using UnityEngine;
using static UnityEngine.ParticleSystem;

public class TrailParticleSystemModifier : MonoBehaviour
{
    public ParticleSystem particleSystemRef;
    public MinMaxGradient minMaxGradient;

    private void Start()
    {
        var trails = particleSystemRef.trails;

        trails.colorOverLifetime = minMaxGradient;
        trails.colorOverTrail = minMaxGradient;
    }
}

Trail (TrailRenderer)

Pour modifier la couleur d’un trail, utilisez la propriété « colorGradient« .

using UnityEngine;

public class TrailRendererModifier : MonoBehaviour
{
    public TrailRenderer trailRenderer;
    public Gradient gradient;

    private void Start()
    {
        trailRenderer.colorGradient = gradient;
    }
}

Line (LineRenderer)

Pour modifier la couleur d’une Line, utilisez la propriété « colorGradient« .

using UnityEngine;

public class LineRendererModifier : MonoBehaviour
{
    public LineRenderer lineRenderer;
    public Gradient gradient;

    private void Start()
    {
        lineRenderer.colorGradient = gradient;
    }
}

J’espère que cela vous a aidé. Vous savez maintenant comment changer la couleur d’un objet dans Unity.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *