Page 1 sur 1

Script pour note midi vers variable FSM

Publié : 29 Sep 2016 00:21
par mozz
Bonjour à tous, débutant sur unity j'ai besoin de réaliser un projet de controle d'un personnage en 3d via des informations midi envoyées par Live Ableton.
j'ai une version de Unity 5 free avec MidiUnified et Playmaker, j'arrive à faire changer l'animation de mon personnage en passant par un script qui déclenche un trigger ou un bool de la fenêtre Animator mais je voudrais passer par Playmaker et du coup récupérer les éléments de mon message midi (canal, note, vélocité) dans des variables FSM de playmaker mais là je bloque complêtement!!!
Pourriez vous me filer un petit coup de main?
voici mon premier script qui déclenche un bool lorsque la note midi spécifié est jouée :

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
using ForieroEngine.MIDIUnified;
using HutongGames.PlayMaker;

public class MusicCubetest2 : MonoBehaviour
{
public int midiIndex = 60;

	Animator anim;
	void Awake ()
	{
		MidiOut.ShortMessageEvent += ShortMessage;
		anim = GetComponent<Animator> ();
	}
	void ShortMessage (int Command, int Data1, int Data2)
	{
		if (Command.ToMidiCommand () == 144 && Data1 == midiIndex) {
			anim.SetBool ("Eye2", true);
		}

		if (Command.ToMidiCommand () == 128 && Data1 == midiIndex) {
			anim.SetBool ("Eye2", false);
		}
	}
}

Re: Script pour note midi vers variable FSM

Publié : 29 Sep 2016 00:24
par mozz
j'imagine qu'il faudrait mélanger le premier script avec un du genre de celui ci :

Code : Tout sélectionner

using UnityEngine;
using HutongGames.PlayMaker;

public class Mybehavior : MonoBehaviour
{
	    public PlayMakerFSM fsm;

	    void Update()
	    {
		        // getting fsm variables by name
		        FsmInt intVariable = fsm.FsmVariables.GetFsmInt("mymidimessage");

		        // setting fsm variable value
		        intVariable.Value = LA NOTE MIDI;     
		    }
}

Re: Script pour note midi vers variable FSM

Publié : 04 Oct 2016 08:09
par Thyriax
Salut !
Je ne connais pas du tout MidiUnified , mais d'après ce que je vois sur l'Asset Store, il est livré avec des actions Playmaker.
Il doit y avoir un moyen de récupérer les variables dont tu as besoin.
De plus, dans les actions Playmaker, tu en as toute une panoplie relative a l"Animator" d'Unity.

Bon courage!