|
|
@ -4,6 +4,7 @@ using UnityEngine.InputSystem; |
|
|
|
using UnityEngine.VFX; |
|
|
|
|
|
|
|
[ExecuteInEditMode] |
|
|
|
[System.Serializable] |
|
|
|
public class MidiMap : MonoBehaviour |
|
|
|
{ |
|
|
|
public VisualEffect m_VFX; |
|
|
@ -35,42 +36,40 @@ public class MidiMap : MonoBehaviour |
|
|
|
private int m_BToggle; |
|
|
|
|
|
|
|
|
|
|
|
float f_PLifeMax = 20f; |
|
|
|
float f_PRate = 70000f; |
|
|
|
float f_PNoise = 5f; |
|
|
|
float f_PSpeed = 5f; |
|
|
|
float f_PRatio = 1f; |
|
|
|
float f_PGravity = 0f; |
|
|
|
float f_PFreq = 5f; |
|
|
|
float f_PTurb = 5f; |
|
|
|
|
|
|
|
float f_LRate = 10000f; |
|
|
|
float f_LLifetime = 5f; |
|
|
|
bool f_LToggle = false; |
|
|
|
float f_LRange = 1f; |
|
|
|
float f_LThickness = 1f; |
|
|
|
|
|
|
|
float f_BSize = 1f; |
|
|
|
float f_BRate = 10000f; |
|
|
|
float f_BFreq = 10f; |
|
|
|
float f_BLifetime = 10f; |
|
|
|
float f_BTurb = 10f; |
|
|
|
bool f_BToggle = false; |
|
|
|
|
|
|
|
float f_BForceX = 0f; |
|
|
|
float f_BForceY = 0f; |
|
|
|
float f_BForceZ = 0f; |
|
|
|
|
|
|
|
float testMIDI = 0f; |
|
|
|
float testMIDInoise = 0f; |
|
|
|
|
|
|
|
float m_Slider = 0f; |
|
|
|
bool m_BSlider = false; |
|
|
|
float m_Potent = 0f; |
|
|
|
|
|
|
|
|
|
|
|
float[] m_SliderIn = new float[8]; |
|
|
|
float[] m_PotIn = new float[8]; |
|
|
|
public float f_PLifeMax = 20f; |
|
|
|
public float f_PRate = 70000f; |
|
|
|
public float f_PNoise = 5f; |
|
|
|
public float f_PSpeed = 5f; |
|
|
|
public float f_PRatio = 1f; |
|
|
|
public float f_PGravity = 0f; |
|
|
|
public float f_PFreq = 5f; |
|
|
|
public float f_PTurb = 5f; |
|
|
|
|
|
|
|
public float f_LRate = 10000f; |
|
|
|
public float f_LLifetime = 5f; |
|
|
|
public bool f_LToggle = false; |
|
|
|
public float f_LRange = 1f; |
|
|
|
public float f_LThickness = 1f; |
|
|
|
|
|
|
|
public float f_BSize = 1f; |
|
|
|
public float f_BRate = 10000f; |
|
|
|
public float f_BFreq = 10f; |
|
|
|
public float f_BLifetime = 10f; |
|
|
|
public float f_BTurb = 10f; |
|
|
|
public bool f_BToggle = false; |
|
|
|
|
|
|
|
public float f_BForceX = 0f; |
|
|
|
public float f_BForceY = 0f; |
|
|
|
public float f_BForceZ = 0f; |
|
|
|
|
|
|
|
private float m_Slider = 0f; |
|
|
|
private bool m_BSlider = false; |
|
|
|
private float m_Potent = 0f; |
|
|
|
private bool m_BPotent = false; |
|
|
|
|
|
|
|
|
|
|
|
private float[] m_SliderIn = new float[8]; |
|
|
|
private float[] m_PotIn = new float[8]; |
|
|
|
|
|
|
|
void Start() |
|
|
|
{ |
|
|
@ -142,9 +141,36 @@ public class MidiMap : MonoBehaviour |
|
|
|
m_BSlider = true; |
|
|
|
} |
|
|
|
|
|
|
|
if (device.controlNumber == 58) |
|
|
|
{ |
|
|
|
if (m_BPotent) |
|
|
|
{ |
|
|
|
m_BPotent = false; |
|
|
|
return; |
|
|
|
} |
|
|
|
// Left
|
|
|
|
m_Potent -= 1; |
|
|
|
if (m_Potent < 0) { m_Potent = 2; } |
|
|
|
m_BPotent = true; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if(device.controlNumber < 8) |
|
|
|
if (device.controlNumber == 59) |
|
|
|
{ |
|
|
|
// Right
|
|
|
|
if (m_BPotent) |
|
|
|
{ |
|
|
|
m_BPotent = false; |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
m_Potent += 1; |
|
|
|
if (m_Potent > 2) { m_Potent = 0; } |
|
|
|
m_BPotent = true; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (device.controlNumber < 8) |
|
|
|
{ |
|
|
|
m_SliderIn[device.controlNumber] = (float)change; |
|
|
|
} |
|
|
@ -155,7 +181,8 @@ public class MidiMap : MonoBehaviour |
|
|
|
m_PotIn[device.controlNumber - 16] = (float)change; |
|
|
|
} |
|
|
|
|
|
|
|
Debug.Log(device.controlNumber); |
|
|
|
// Debug.Log(device.controlNumber);
|
|
|
|
Debug.Log(m_Slider + ":" + m_Potent); |
|
|
|
|
|
|
|
if (device.controlNumber == 32) |
|
|
|
{ |
|
|
@ -166,7 +193,6 @@ public class MidiMap : MonoBehaviour |
|
|
|
|
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
@ -223,6 +249,52 @@ public class MidiMap : MonoBehaviour |
|
|
|
m_VFX.SetVector3(m_BForce, new Vector3(0, -9.8f * m_SliderIn[5], 0)); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (m_Potent == 0) |
|
|
|
{ |
|
|
|
// Points
|
|
|
|
m_VFX.SetFloat(m_PRate, f_PRate * m_PotIn[0]); |
|
|
|
m_VFX.SetFloat(m_PLifeMax, f_PLifeMax * m_PotIn[1]); |
|
|
|
m_VFX.SetFloat(m_PNoise, f_PNoise * m_PotIn[2]); |
|
|
|
m_VFX.SetFloat(m_PTurb, f_PTurb * m_PotIn[3]); |
|
|
|
m_VFX.SetFloat(m_PSpeed, f_PSpeed * m_PotIn[4]); |
|
|
|
m_VFX.SetFloat(m_PRatio, f_PRatio * m_PotIn[5]); |
|
|
|
m_VFX.SetFloat(m_PSpeed, f_PSpeed * m_PotIn[6]); |
|
|
|
m_VFX.SetFloat(m_PFreq, f_PFreq * m_PotIn[7]); |
|
|
|
m_VFX.SetVector3(m_PGravity, new Vector3(0, f_PGravity, 0)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
if (m_Potent == 1) |
|
|
|
{ |
|
|
|
// Points
|
|
|
|
m_VFX.SetBool(m_LToggle, true); |
|
|
|
m_VFX.SetFloat(m_LRate, f_LRate * m_PotIn[0]); |
|
|
|
m_VFX.SetFloat(m_LLifetime, f_LLifetime * m_PotIn[1]); |
|
|
|
m_VFX.SetFloat(m_LRange, f_LRange * m_PotIn[2]); |
|
|
|
m_VFX.SetFloat(m_LThickness, f_LThickness * m_PotIn[3]); |
|
|
|
//m_VFX.SetFloat(m_PSpeed, f_PSpeed * m_SliderIn[4]);
|
|
|
|
//m_VFX.SetFloat(m_PRatio, f_PRatio * m_SliderIn[5]);
|
|
|
|
//m_VFX.SetFloat(m_PSpeed, f_PSpeed * m_SliderIn[6]);
|
|
|
|
//m_VFX.SetFloat(m_PFreq, f_PFreq * m_SliderIn[7]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
if (m_Potent == 2) |
|
|
|
{ |
|
|
|
m_VFX.SetBool(m_BToggle, true); |
|
|
|
m_VFX.SetFloat(m_BRate, f_BRate * m_PotIn[0]); |
|
|
|
m_VFX.SetFloat(m_BSize, f_BSize * m_PotIn[1]); |
|
|
|
m_VFX.SetFloat(m_BFreq, f_BFreq * m_PotIn[2]); |
|
|
|
m_VFX.SetFloat(m_BLifetime, f_BLifetime * m_PotIn[3]); |
|
|
|
m_VFX.SetFloat(m_BTurb, f_BTurb * m_PotIn[4]); |
|
|
|
m_VFX.SetVector3(m_BForce, new Vector3(0, -9.8f * m_PotIn[5], 0)); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|