Quantcast
Channel: Recent Discussions — Mixed Reality Developer Forum
Viewing all articles
Browse latest Browse all 10543

Rotate object on Speech Command

$
0
0

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);
    }

}`


Viewing all articles
Browse latest Browse all 10543

Trending Articles