Skip to content Skip to sidebar Skip to footer

Eseguire la vibrazione del gamepad in un progetto Unity tramite Rewired

Nei giochi moderni il supporto alla vibrazione del gamepad di giocco (spesso indicata con “Rumble”) è di fondamentale importanza per la giocabilità e l’accessibilità. Il giocatore è abituato a sentire tra le proprie mani il controller vibrare in diverse situazioni, con più o meno intensità.

Attraverso il potentissimo asset Rewired (disponibile sull’Asset Store di Unity qui) è possibile gestire la vibrazione in modo molto semplice. Vi sono però alcune considerazioni da fare a riguardo:

  • Il controller non deve vibrare se si sta usando la tastiera o qualsiasi altro controller
  • I controller moderni hanno almeno 2 motori (destra/sinistra)
  • E’ bene resettare sempre la vibrazione precedente prima di eseguire quella successiva
  • E’ possibile impostare livelli di vibrazione differente rispetto al feedback da dare al giocatore
  • Rewired fornisce un’unica interfaccia al Gamepad e alla sua vibrazione rispetto alle maggiori console in circolazione (Nintendo Switch inclusa, a mezzo plugin dedicato)

Di seguito uno script che racchiude tutto quando indicato qui sopra in modo molto semplice in quanto utilizza unicamente 2 parametri: il livello di vibrazione (valore da 0 a 1) e la durata in secondi.

public void SetVibration(float level, float duration)
{
        Controller controller = playerInput.controllers.GetLastActiveController();
        if (controller != null)
        {
            if (controller.type == ControllerType.Joystick)
            {
                playerInput.StopVibration();
                try
                {
                    playerInput.SetVibration(0, level, duration);
                    playerInput.SetVibration(1, level, duration);
                }
                catch { }
            }
        }
    }

In questo nostro articolo è possibile invece trovare la risoluzione ad alcuni dei più comuni problemi di abilitazione della vibrazione sul controller XBox per Windows.

Copyright © Desdinova ® / PIVA 03799780162 / Non è una testata giornalistica.
Tutti i diritti riservati ai legittimi proprietari, anche ove non citati.