MRが楽しい

MRやVRについて学習したことを書き残す

公式チュートリアル「MR and Azure 301 5章」を試してみる

本日はチュートリアルの実施枠です。
Academyの「MR and Azure 301: Language translation」の実施内容をまとめます。
docs.microsoft.com
前回記事の続きです。
bluebirdofoz.hatenablog.com
今回は「Chapter 5」です。

Chapter 5:Create the Results class

最初に作成するスクリプトは、翻訳の結果を表示する方法を提供する責任を負うResultsクラスです。
クラスは以下を格納して表示します。
・Azureからの応答結果
・マイクの状態
・ディクテーションの結果(音声からテキスト)
・翻訳の結果

1.Script フォルダを作成します。
Asset フォルダで右クリックし、Create > Folder を選択します。
f:id:bluebirdofoz:20180808090903j:plain

2.作成した Script フォルダを開き、フォルダ内で右クリックして、Creapte -> C# Script を選択します。
Script の名称は Results に設定します。
f:id:bluebirdofoz:20180808090912j:plain

3.新しい結果スクリプトをダブルクリックしてVisual Studioで開きます。
4-7.以下の通り、スクリプトを編集します。
・Results.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 名前空間の追加
using UnityEngine;
using UnityEngine.UI;

public class Results : MonoBehaviour {
    // メンバ変数の追加
    public static Results instance;

    [HideInInspector]
    public string azureResponseCode;

    [HideInInspector]
    public string translationResult;

    [HideInInspector]
    public string dictationResult;

    [HideInInspector]
    public string micStatus;

    public Text microphoneStatusText;

    public Text azureResponseText;

    public Text dictationText;

    public Text translationResultText;

    // 初期化処理の追加
    private void Awake()
    {
        // Set this class to behave similar to singleton
        // このクラスをシングルトンと同じように動作させます 
        instance = this;
    }
    /// <summary>
    /// Stores the Azure response value in the static instance of Result class.
    /// Azureのレスポンス値をResultクラスの静的インスタンスに格納します。
    /// </summary>
    public void SetAzureResponse(string result)
    {
        azureResponseCode = result;
        azureResponseText.text = azureResponseCode;
    }

    /// <summary>
    /// Stores the translated result from dictation in the static instance of Result class.
    /// ディクテーションの翻訳結果をResultクラスの静的インスタンスに格納します。
    /// </summary>
    public void SetDictationResult(string result)
    {
        dictationResult = result;
        dictationText.text = dictationResult;
    }

    /// <summary>
    /// Stores the translated result from Azure Service in the static instance of Result class. 
    /// Azure Serviceの翻訳結果をResultクラスの静的インスタンスに格納します。
    /// </summary>
    public void SetTranslatedResult(string result)
    {
        translationResult = result;
        translationResultText.text = translationResult;
    }

    /// <summary>
    /// Stores the status of the Microphone in the static instance of Result class. 
    /// Resultクラスの静的インスタンスにマイクのステータスを格納します。
    /// </summary>
    public void SetMicrophoneStatus(string result)
    {
        micStatus = result;
        microphoneStatusText.text = micStatus;
    }
}

f:id:bluebirdofoz:20180808090923j:plain

8.Visual Studio で変更を保存して Unity に戻ります。
f:id:bluebirdofoz:20180808090935j:plain

Chapter 5 はここまでです。
次回は Chapter 6 を実施します。
bluebirdofoz.hatenablog.com