Hello Developers,
I am pretty new to Unity and AR development and C#. I am trying to make a simple speech recognition on Hololens that continuosly rotates the object when said "Spin" and stops when said "Stop"
I copied the script "Sphere keywords" and changed the code to the way I want. It recognizes "Show" and "Reset" but when I say "Spin" it does nothing. I want it to rotate continously when said Spin and stop when said Stop.
Here is my code that works perfectly fine on Unity editor but not on Hololens
`public void ChangeColor(string color)
{
switch (color.ToLower())
{
case "show":
obj2.GetComponent<MeshRenderer>().sharedMaterial.color = new Color(0.9f, 0.9f, 0.9f, 0.05f);
//a.GetComponent<MeshRenderer>().sharedMaterial.shader = shader1;
obj2.GetComponent<MeshRenderer>().sharedMaterial.SetFloat("_Mode", 3f);
obj2.GetComponent<MeshRenderer>().sharedMaterial.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One);
obj2.GetComponent<MeshRenderer>().sharedMaterial.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
obj2.GetComponent<MeshRenderer>().sharedMaterial.SetInt("_ZWrite", 0);
obj2.GetComponent<MeshRenderer>().sharedMaterial.DisableKeyword("_ALPHATEST_ON");
obj2.GetComponent<MeshRenderer>().sharedMaterial.DisableKeyword("_ALPHABLEND_ON");
obj2.GetComponent<MeshRenderer>().sharedMaterial.EnableKeyword("_ALPHAPREMULTIPLY_ON");
obj2.GetComponent<MeshRenderer>().sharedMaterial.renderQueue = 3000;
obj3.SetActive(true);
break;
case "reset":
obj2.GetComponent<MeshRenderer>().sharedMaterial.color = new Color(0.9f, 0.9f, 0.9f, 1.0f);
//a.GetComponent<MeshRenderer>().sharedMaterial.shader = shader1;
obj2.GetComponent<MeshRenderer>().sharedMaterial.SetFloat("_Mode", 0f);
obj2.GetComponent<MeshRenderer>().sharedMaterial.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One);
obj2.GetComponent<MeshRenderer>().sharedMaterial.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero);
obj2.GetComponent<MeshRenderer>().sharedMaterial.SetInt("_ZWrite", 1);
obj2.GetComponent<MeshRenderer>().sharedMaterial.DisableKeyword("_ALPHATEST_ON");
obj2.GetComponent<MeshRenderer>().sharedMaterial.DisableKeyword("_ALPHABLEND_ON");
obj2.GetComponent<MeshRenderer>().sharedMaterial.DisableKeyword("_ALPHAPREMULTIPLY_ON");
obj2.GetComponent<MeshRenderer>().sharedMaterial.renderQueue = 2000;
obj3.SetActive(false);
transform.localScale = startscale;
//speed = 0f;
//transform.rotation = Quaternion.identity;
break;
case "spin":
Update();
break;
}
}
void Update()
{
obj2.transform.Rotate(0, Time.deltaTime * speed, 0);
}
public void OnSpeechKeywordRecognized(SpeechKeywordRecognizedEventData eventData)
{
ChangeColor(eventData.RecognizedText);
}
}`