注意

Mixed Reality Academy チュートリアルでは、HoloLens として設計された (第 1 世代) と混在の現実イマーシブ ヘッドセットに注意してください。The Mixed Reality Academy tutorials were designed with HoloLens (1st gen) and Mixed Reality Immersive Headsets in mind. そのため、これらのデバイス向けの開発にガイダンスがまだ必要な開発者のための場所でこれらのチュートリアルのままにすることが重要と思われます。As such, we feel it is important to leave these tutorials in place for developers who are still looking for guidance in developing for those devices. これらのチュートリアルは いない 最新のツールセットや相互作用が使用されている HoloLens 2 で更新されます。These tutorials will not be updated with the latest toolsets or interactions being used for HoloLens 2. サポートされているデバイスで作業を続行するが保持されます。They will be maintained to continue working on the supported devices. 一連の新しい HoloLens 2 を開発する方法を示すチュートリアルは、今後投稿があります。There will be a new series of tutorials that will be posted in the future that will demonstrate how to develop for HoloLens 2. この通知が投稿されるときにこれらのチュートリアルへのリンクが更新されます。This notice will be updated with a link to those tutorials when they are posted.


MR と Azure 301:言語翻訳MR and Azure 301: Language translation

このコースでは、Translator Text API、Azure Cognitive Services を使用して、複合現実アプリケーションに翻訳機能を追加する方法を学びます。In this course, you will learn how to add translation capabilities to a mixed reality application using Azure Cognitive Services, with the Translator Text API.

最終的な製品

Translator Text API は、翻訳のほぼリアルタイムで機能するサービスです。The Translator Text API is a translation Service which works in near real-time. サービスはクラウド ベースであり、REST API 呼び出しを使用して、アプリが行うことができますを別の言語のテキストを翻訳するニューラル機械翻訳テクノロジを使用します。The Service is cloud-based, and, using a REST API call, an app can make use of the neural machine translation technology to translate text to another language. 詳細については、次を参照してください。、 Translator Text API の Azure ページします。For more information, visit the Azure Translator Text API page.

このコースを修了、以下を実行できる必要が複合現実のアプリケーションが用意されます。Upon completion of this course, you will have a mixed reality application which will be able to do the following:

  1. ユーザーは、没入型の (VR) ヘッドセットに接続されているマイク (または、HoloLens の内蔵マイク) に向かって話します。The user will speak into a microphone connected to an immersive (VR) headset (or the built-in microphone of HoloLens).
  2. アプリは、ディクテーションをキャプチャし、Azure の Translator Text API に送信します。The app will capture the dictation and send it to the Azure Translator Text API.
  3. Unity シーン内の単純な UI グループで、変換結果が表示されます。The translation result will be displayed in a simple UI group in the Unity Scene.

このコースでは、Unity に基づくサンプル アプリケーションに Translator サービスから結果を取得する方法を説明します。This course will teach you how to get the results from the Translator Service into a Unity-based sample application. 最大をカスタム アプリケーションをビルドしている場合にこれらの概念を適用することがあります。It will be up to you to apply these concepts to a custom application you might be building.

デバイスのサポートDevice support

コースCourse HoloLensHoloLens イマーシブ ヘッドセットImmersive headsets
MR と Azure 301:言語翻訳MR and Azure 301: Language translation ✔️✔️ ✔️✔️

注意

このコースが主に Windows Mixed Reality 没入型 (VR) ヘッドセットを重点的に Microsoft HoloLens には、このコースで学習する内容を適用することもできます。While this course primarily focuses on Windows Mixed Reality immersive (VR) headsets, you can also apply what you learn in this course to Microsoft HoloLens. コースを実行するとき、HoloLens をサポートするために必要な場合があります変更でノートが表示されます。As you follow along with the course, you will see notes on any changes you might need to employ to support HoloLens. HoloLens を使用する場合は、音声キャプチャ中にいくつかのエコーが気付きです。When using HoloLens, you may notice some echo during voice capture.

前提条件Prerequisites

注意

このチュートリアルは、Unity を使用した基本的な経験がある開発者向けに設計およびC#します。This tutorial is designed for developers who have basic experience with Unity and C#. また、前提条件やこのドキュメント内の書面の手順を表すテストおよび (2018 年 5 月) の書き込み時に検証されたがどのようなことに注意してください。Please also be aware that the prerequisites and written instructions within this document represent what has been tested and verified at the time of writing (May 2018). 内に一覧表示するには自由に最新のソフトウェアを使用して、ツールをインストールすることについては、このコースでとまったく同じで見つかりますの下に記載されているものよりも新しいソフトウェアでどのようなことは仮定されませんが、記事.You are free to use the latest software, as listed within the install the tools article, though it should not be assumed that the information in this course will perfectly match what you'll find in newer software than what's listed below.

次のハードウェアとソフトウェアこのコースをお勧めします。We recommend the following hardware and software for this course:

開始前の作業Before you start

  • このプロジェクトのビルドの問題の発生を避けるため、強くお勧めのルートまたはルート近くフォルダーでこのチュートリアルで説明したようにプロジェクトを作成すること (長いフォルダー パスはビルド時に問題を発生できます)。To avoid encountering issues building this project, it is strongly suggested that you create the project mentioned in this tutorial in a root or near-root folder (long folder paths can cause issues at build-time).

  • このチュートリアルのコードは、PC に接続されている既定のマイク デバイスから記録できます。The code in this tutorial will allow you to record from the default microphone device connected to your PC. 既定のマイク デバイスが音声のキャプチャに使用する予定のデバイスに設定されていることを確認します。Make sure the default microphone device is set to the device you plan to use to capture your voice.

  • ディクテーションを有効にする PC を許可するには設定 > プライバシーに関する > 読み上げ、手描き入力機能 (&) を入力する ボタンを選択音声サービスをオンにして、入力候補します。To allow your PC to enable dictation, go to Settings > Privacy > Speech, inking & typing and select the button Turn On speech services and typing suggestions.

  • マイク、ヘッドホンを接続されている (またはに組み込まれて) を使用している場合、ヘッドセット、オプションの確認で「マイ ヘッドセットを着用するときに切り替えるヘッドセット マイク」がオン設定 > 複合現実 > オーディオおよび音声If you're using a microphone and headphones connected to (or built-in to) your headset, make sure the option “When I wear my headset, switch to headset mic” is turned on in Settings > Mixed reality > Audio and speech.

    複合現実の設定

    マイクの設定

警告

このラボのイマーシブ ヘッドセットを開発している場合は、オーディオ出力デバイスの問題を発生する可能性がありますに注意します。Be aware that if you are developing for an immersive headset for this lab, you may experience audio output device issues. これは、Unity、以降のバージョンの Unity (Unity 2018.2) での問題が原因です。This is due to an issue with Unity, which is fixed in later versions of Unity (Unity 2018.2). この問題は、Unity が実行時に既定のオーディオ出力デバイスを変更することを防ぎます。The issue prevents Unity from changing the default audio output device at run time. 回避策としては、上記の手順を完了したことを確認して閉じて再エディターを開き、この問題がそれ自体を提示します。As a work around, ensure you have completed the above steps, and close and re-open the Editor, when this issue presents itself.

第 1 章 – Azure PortalChapter 1 – The Azure Portal

Azure Translator API を使用するには、アプリケーションに使用可能にするサービスのインスタンスを構成する必要があります。To use the Azure Translator API, you will need to configure an instance of the Service to be made available to your application.

  1. ログイン、 Azure Portalします。Log in to the Azure Portal.

    注意

    Azure アカウントがいない場合は、1 つを作成する必要があります。If you do not already have an Azure account, you will need to create one. クラスルームまたはラボのような状況では、このチュートリアルをフォローしている場合は、講師または新しいアカウントのセットアップについて proctors のいずれかにお問い合わせください。If you are following this tutorial in a classroom or lab situation, ask your instructor or one of the proctors for help setting up your new account.

  2. ログインした後は、をクリックして新規上で左上隅にある"Translator Text API です"を検索。Once you are logged in, click on New in the top left corner and search for "Translator Text API." 選択入力します。Select Enter.

    新しいリソース

    注意

    単語新規に置き換えられましたリソースの作成、新しいポータルでします。The word New may have been replaced with Create a resource, in newer portals.

  3. 新しいページがの説明を入力、 Translator Text APIサービス。The new page will provide a description of the Translator Text API Service. このページの左下にある at、作成ボタンは、この関連付けサービスを作成します。At the bottom left of this page, select the Create button, to create an association with this Service.

    Translator Text API サービスを作成します。

  4. クリックすると作成:Once you have clicked on Create:

    1. 必要な挿入名前このサービス インスタンス。Insert your desired Name for this Service instance.

    2. 適切な選択サブスクリプションします。Select an appropriate Subscription.

    3. 選択、価格レベル場合、これは、最初に、適切な時間を作成する、 Translator のテキスト サービス、(F0 という名前)、free レベルを使用することがあります。Select the Pricing Tier appropriate for you, if this is the first time creating a Translator Text Service, a free tier (named F0) should be available to you.

    4. 選択、リソース グループか新規に作成します。Choose a Resource Group or create a new one. リソース グループは、監視、プロビジョニングのアクセスを制御および Azure の資産のコレクションの課金を管理する方法を提供します。A resource group provides a way to monitor, control access, provision and manage billing for a collection of Azure assets. 勧めします (例: これらのラボ) などの 1 つのプロジェクトに共通のリソース グループの下の Azure サービスに関連付けられているすべて保持する)。It is recommended to keep all the Azure Services associated with a single project (e.g. such as these labs) under a common resource group).

      詳細にする場合、Azure リソース グループについてのごリソース グループの記事を参照してください。します。If you wish to read more about Azure Resource Groups, please visit the resource group article.

    5. 確認、場所(新しいリソース グループを作成する) 場合は、リソース グループ。Determine the Location for your resource group (if you are creating a new Resource Group). 場所は、アプリケーションが実行リージョンにあるが理想的です。The location would ideally be in the region where the application would run. 一部の Azure 資産は特定のリージョンでのみ使用できます。Some Azure assets are only available in certain regions.

    6. また、このサービスに適用される条件を理解したことを確認する必要があります。You will also need to confirm that you have understood the Terms and Conditions applied to this Service.

    7. [作成] を選択します。Select Create.

      [作成] ボタンを選択します。

  5. クリックすると作成サービスを作成するを待機する必要があります、これは少し時間がかかる場合があります。Once you have clicked on Create, you will have to wait for the Service to be created, this might take a minute.

  6. 通知は、サービス インスタンスが作成されたら、ポータルに表示されます。A notification will appear in the portal once the Service instance is created.

    Azure サービスの作成の通知

  7. 新しいサービス インスタンスを探索する通知をクリックします。Click on the notification to explore your new Service instance.

    リソースのポップアップに移動します。

  8. をクリックして、リソースに移動通知では、新しいサービス インスタンスを表示するボタンをクリックします。Click the Go to resource button in the notification to explore your new Service instance. 新しい Translator Text API のサービス インスタンスが表示されます。You will be taken to your new Translator Text API Service instance.

    Translator Text API のサービス ページ

  9. このチュートリアルでは、内でアプリケーションがサービスのサブスクリプション キーを使用して、これは、サービスへの呼び出しを実行する必要があります。Within this tutorial, your application will need to make calls to your Service, which is done through using your Service’s Subscription Key.

  10. クイック スタートのページ、 Translator Textサービスは、最初のステップに移動しますキーを取得する、 をクリックキー (することできますまたこれは実現キー アイコンによって示される、サービスのナビゲーション メニューにある青いハイパーリンク キーをクリックして)。From the Quick start page of your Translator Text Service, navigate to the first step, Grab your keys, and click Keys (you can also achieve this by clicking the blue hyperlink Keys, located in the Services navigation menu, denoted by the key icon). これが明らかに、サービスキーします。This will reveal your Service Keys.

  11. このプロジェクトの後半で必要になるため、表示されているキーの 1 つのコピーを実行します。Take a copy of one of the displayed keys, as you will need this later in your project.

第 2 章 – Unity プロジェクトの設定Chapter 2 – Set up the Unity project

設定して、mixed reality イマーシブ ヘッドセットをテストします。Set up and test your mixed reality immersive headset.

注意

アニメーション コント ローラーは、このコースの必要はありません。You will not need motion controllers for this course. イマーシブ ヘッドセットの設定をサポートする場合は、次のようにしてください。次の手順に従ってします。If you need support setting up an immersive headset, please follow these steps.

次が複合現実での開発の一般的な設定と、そのため、他のプロジェクトの適切なテンプレートには。The following is a typical set up for developing with mixed reality and, as such, is a good template for other projects:

  1. 開いているUnityクリック新規します。Open Unity and click New.

    新しい Unity プロジェクトを開始します。

  2. これで、Unity プロジェクト名を指定する必要があります。You will now need to provide a Unity Project name. 挿入MR_Translationします。Insert MR_Translation. 必ず、プロジェクトの種類に設定されて3Dします。Make sure the project type is set to 3D. 設定、場所に該当する別の場所 (ただし、ルート ディレクトリに近づけるためのより良い)。Set the Location to somewhere appropriate for you (remember, closer to root directories is better). をクリックし、プロジェクトの作成です。Then, click Create project.

    新しい Unity プロジェクトの詳細を提供します。

  3. 既定値を確認する必要が開いている Unity、スクリプト エディターに設定されているVisual Studioします。With Unity open, it is worth checking the default Script Editor is set to Visual Studio. 移動して編集 > 設定し、新しいウィンドウに移動外部ツールします。Go to Edit > Preferences and then from the new window, navigate to External Tools. 変更External Script EditorVisual Studio 2017します。Change External Script Editor to Visual Studio 2017. 閉じる、設定ウィンドウ。Close the Preferences window.

    スクリプト エディターの基本設定を更新します。

  4. 次に移動ファイル > Build Settingsにプラットフォームを切り替えるとユニバーサル Windows プラットフォーム、 をクリックして、プラットフォームの切り替えボタンをクリックします。Next, go to File > Build Settings and switch the platform to Universal Windows Platform, by clicking on the Switch Platform button.

    [設定] ウィンドウ切り替え UWP プラットフォームをビルドします。

  5. 移動してファイル > Build Settingsことを確認してください。Go to File > Build Settings and make sure that:

    1. デバイスを対象にに設定されている任意のデバイスします。Target Device is set to Any Device.

      Microsoft HoloLens、設定ターゲット デバイスHoloLensします。For Microsoft HoloLens, set Target Device to HoloLens.

    2. ビルドの種類に設定されているD3DBuild Type is set to D3D

    3. SDKに設定されているインストールされている最新SDK is set to Latest installed

    4. Visual Studio バージョンに設定されているインストールされている最新Visual Studio Version is set to Latest installed

    5. ビルドおよび実行に設定されているローカル マシンBuild and Run is set to Local Machine

    6. シーンを保存し、ビルドに追加します。Save the scene and add it to the build.

      1. これには、選択開くシーンを追加します。Do this by selecting Add Open Scenes. 保存ウィンドウが表示されます。A save window will appear.

        開いているシーン ボタンの追加 をクリック

      2. 新しいフォルダーを作成と、任意の将来、シーン、し、選択、新しいフォルダーボタンは、新しいフォルダーを作成する名前を付けますシーンします。Create a new folder for this, and any future, scene, then select the New folder button, to create a new folder, name it Scenes.

        新しいスクリプト フォルダーを作成します。

      3. 新たに作成した開くシーンフォルダー、し、ファイル名: テキスト フィールドに「 MR_TranslationScene、キーを押します保存しますOpen your newly created Scenes folder, and then in the File name: text field, type MR_TranslationScene, then press Save.

        シーンの新しい名前を付けます。

        注意してください、内の Unity シーンを保存する必要があります、資産フォルダー、Unity プロジェクトに関連付けられている必要があります。Be aware, you must save your Unity scenes within the Assets folder, as they must be associated with the Unity Project. Unity プロジェクトの構造の一般的な方法は、シーン フォルダー (およびその他の同様のフォルダー) を作成します。Creating the scenes folder (and other similar folders) is a typical way of structuring a Unity project.

    7. 設定に残っているBuild Settings、ここでは既定値として残しておく必要があります。The remaining settings, in Build Settings, should be left as default for now.

  6. Build Settingsウィンドウのプレーヤー設定ボタン、領域に関連するパネルが開き、インスペクターが配置されています。In the Build Settings window, click on the Player Settings button, this will open the related panel in the space where the Inspector is located.

    プレーヤー設定を開きます。

  7. このパネルは、いくつかの設定を確認する必要があります。In this panel, a few settings need to be verified:

    1. その他の設定 タブ。In the Other Settings tab:

      1. ランタイム バージョンをスクリプトする必要があります安定した(.NET 3.5 相当)。Scripting Runtime Version should be Stable (.NET 3.5 Equivalent).

      2. バックエンドの scriptingべき .NETScripting Backend should be .NET

      3. API の互換性レベルべき .NET 4.6API Compatibility Level should be .NET 4.6

        その他の設定を更新します。

    2. 内で、発行の設定] タブの [機能、確認してください。Within the Publishing Settings tab, under Capabilities, check:

      1. InternetClientInternetClient

      2. マイクMicrophone

        発行の設定を更新しています。

    3. パネル、下の方にXR 設定(次に示します発行設定)、ティック仮想現実サポート、ことを確認、 Windows Mixed Reality SDKが追加されます。Further down the panel, in XR Settings (found below Publish Settings), tick Virtual Reality Supported, make sure the Windows Mixed Reality SDK is added.

      X の R の設定を更新します。

  8. 戻りBuild SettingsUnityC#プロジェクトが不要になったグレー; これの横にあるチェック ボックスをオンにします。Back in Build Settings, Unity C# Projects is no longer greyed out; tick the checkbox next to this.

  9. ビルド設定ウィンドウを閉じます。Close the Build Settings window.

  10. シーンとプロジェクトを保存 (ファイル > シーン保存/ファイル > プロジェクトを保存)。Save your Scene and Project (FILE > SAVE SCENE / FILE > SAVE PROJECT).

第 3 章 – メイン カメラのセットアップChapter 3 – Main Camera setup

重要

スキップする場合、 Unity を設定するのこのコンポーネントである、コース、コードにまっすぐコンティニュし、自由にダウンロードこの .unitypackage、としてプロジェクトにインポート、 カスタム パッケージから続けて第 5 章します。If you wish to skip the Unity Set up component of this course, and continue straight into code, feel free to download this .unitypackage, import it into your project as a Custom Package, and then continue from Chapter 5. Unity プロジェクトを作成する必要があります。You will still need to create a Unity Project.

  1. 階層パネル、という名前のオブジェクトが表示されますMain Camera、「内部」アプリケーションが表示されたら、このオブジェクトは、"head"の観点を表します。In the Hierarchy Panel, you will find an object called Main Camera, this object represents your “head” point of view once you are “inside” your application.

  2. 選択する前にある Unity ダッシュ ボードで、メイン カメラの GameObjectします。With the Unity Dashboard in front of you, select the Main Camera GameObject. 表示になります、インスペクター パネル(一般にダッシュ ボードで、右側にあります) をさまざまなコンポーネントが表示されますGameObject変換後に、上部にあるカメラ、およびその他のコンポーネント。You will notice that the Inspector Panel (generally found to the right, within the Dashboard) will show the various components of that GameObject, with Transform at the top, followed by Camera, and some other components. これが正しく配置されているため、メイン カメラの変換をリセットする必要があります。You will need to reset the Transform of the Main Camera, so it is positioned correctly.

  3. これを行うには、選択、歯車カメラの横にあるアイコン変換コンポーネント、および選択リセットします。To do this, select the Gear icon next to the Camera’s Transform component, and selecting Reset.

    メイン カメラの変換をリセットします。

  4. 変換し、コンポーネントのようになります。The Transform component should then look like:

    1. 位置に設定されている0, 0, 0The Position is set to 0, 0, 0

    2. 回転に設定されている0, 0, 0Rotation is set to 0, 0, 0

    3. スケールに設定されている1, 1, 1And Scale is set to 1, 1, 1

      カメラの情報を変換します。

  5. [次へ]、 Main Camera選択したオブジェクトを参照してください、コンポーネントの追加の一番下にあるボタン、インスペクター パネルします。Next, with the Main Camera object selected, see the Add Component button located at the very bottom of the Inspector Panel.

  6. そのボタンを選択し、検索 (入力するかオーディオ ソース検索フィールドまたはセクションでは、移動に) と呼ばれるコンポーネントのオーディオ ソース次に示すようを選択します (enter キーを押しに機能します)。Select that button, and search (by either typing Audio Source into the search field or navigating the sections) for the component called Audio Source as shown below and select it (pressing enter on it also works).

  7. オーディオ ソースコンポーネントに追加されます、 Main Camera、次のようにします。An Audio Source component will be added to the Main Camera, as demonstrated below.

    オーディオ ソース コンポーネントを追加します。

    注意

    Microsoft HoloLens のも、次を変更する必要がありますに含まれています、カメラコンポーネントをMain Camera:For Microsoft HoloLens, you will need to also change the following, which are part of the Camera component on your Main Camera:

    • フラグをオフにします。 純色です。Clear Flags: Solid Color.
    • バック グラウンド' 黒、アルファ 0' – 16 進カラー: #00000000 します。Background ‘Black, Alpha 0’ – Hex color: #00000000.

第 4 章 – セットアップ デバッグ キャンバスChapter 4 – Setup Debug Canvas

入力と変換の出力を表示するには、基本的な UI を作成する必要があります。To show the input and output of the translation, a basic UI needs to be created. このコースでは、いくつかの 'Text' オブジェクト データを表示すると、キャンバスの UI オブジェクトを作成します。For this course, you will create a Canvas UI object, with several ‘Text’ objects to show the data.

  1. 空の領域で右クリックし、階層パネル UI、追加、キャンバスします。Right-click in an empty area of the Hierarchy Panel, under UI, add a Canvas.

    新しいキャンバス UI オブジェクトを追加します。

  2. 選択したら、キャンバス オブジェクトに、インスペクター パネル(コンポーネント内で、「キャンバス」)、次のように変更します。レンダリング モードワールド空間します。With the Canvas object selected, in the Inspector Panel (within the ‘Canvas’ component), change Render Mode to World Space.

  3. 次のパラメーターを次に、変更、インスペクター パネルの Rect 変換:Next, change the following parameters in the Inspector Panel’s Rect Transform:

    1. POS - X 0 Y 0 Z 40POS - X 0 Y 0 Z 40

    2. 500 -Width - 500

    3. 高さ300 -Height - 300

    4. スケール - X 0.13 Y 0.13 Z 0.13Scale - X 0.13 Y 0.13 Z 0.13

      キャンバスの四角形の変換を更新します。

  4. 右クリックして、キャンバスで、階層パネル UI、追加、パネルRight click on the Canvas in the Hierarchy Panel, under UI, and add a Panel. これは、パネルシーンに表示されるテキストの背景を提供します。This Panel will provide a background to the text that you will be displaying in the scene.

  5. 右クリックして、パネルで、階層パネル UI、追加、テキスト オブジェクトRight click on the Panel in the Hierarchy Panel, under UI, and add a Text object. 合計で 4 つの UI テキスト オブジェクトを作成するまで、同じプロセスを繰り返します (ヒント: 押すだけ選択されている最初の 'Text' オブジェクトがあれば、 Ctrl + が ' 合計で 4 つの操作をした後、複製する)。Repeat the same process until you have created four UI Text objects in total (Hint: if you have the first ‘Text’ object selected, you can simply press ‘Ctrl’ + ‘D’, to duplicate it, until you have four in total).

  6. テキスト オブジェクトをことを選択して、次の表で、パラメーターを設定する、インスペクター パネルFor each Text Object, select it and use the below tables to set the parameters in the Inspector Panel.

    1. Rect 変換コンポーネント。For the Rect Transform component:

      名前Name 変換 -位置Transform - Position Width 高さHeight
      MicrophoneStatusLabelMicrophoneStatusLabel X -80 Y 90 Z 0X -80 Y 90 Z 0 300300 3030
      AzureResponseLabelAzureResponseLabel X -80 Y 30 Z 0X -80 Y 30 Z 0 300300 3030
      DictationLabelDictationLabel X -80 Y -30 Z 0X -80 Y -30 Z 0 300300 3030
      TranslationResultLabelTranslationResultLabel X -80 Y -90 Z 0X -80 Y -90 Z 0 300300 3030
    2. テキスト (スクリプト) コンポーネント。For the Text (Script) component:

      名前Name TextText フォント サイズFont Size
      MicrophoneStatusLabelMicrophoneStatusLabel マイクの状態:Microphone Status: 2020
      AzureResponseLabelAzureResponseLabel Azure の Web 応答Azure Web Response 2020
      DictationLabelDictationLabel 言っただけです。You just said: 2020
      TranslationResultLabelTranslationResultLabel 変換:Translation: 2020

      UI のラベルの対応する値を入力します。

    3. また、フォント スタイルをください太字します。Also, make the Font Style Bold. これは、テキストを読みやすきます。This will make the text easier to read.

      太字のフォント。

  7. UI テキスト オブジェクトで作成した第 5 章を新規作成 UI テキスト オブジェクトします。For each UI Text object created in Chapter 5, create a new child UI Text object. これらの子は、アプリケーションの出力に表示されます。These children will display the output of the application. 作成、目的の親を右クリックしてからオブジェクト (例: MicrophoneStatusLabel) し、 UIし、テキスト.Create child objects through right-clicking your intended parent (e.g. MicrophoneStatusLabel) and then select UI and then select Text.

  8. これらの子のそれぞれについて、選択して、使用して、次の表は、[Inspector] パネルでのパラメーターを設定します。For each of these children, select it and use the below tables to set the parameters in the Inspector Panel.

    1. Rect 変換コンポーネント。For the Rect Transform component:

      名前Name 変換 -位置Transform - Position Width 高さHeight
      MicrophoneStatusTextMicrophoneStatusText 0 の Y-30 Z 0 XX 0 Y -30 Z 0 300300 3030
      AzureResponseTextAzureResponseText 0 の Y-30 Z 0 XX 0 Y -30 Z 0 300300 3030
      DictationTextDictationText 0 の Y-30 Z 0 XX 0 Y -30 Z 0 300300 3030
      TranslationResultTextTranslationResultText 0 の Y-30 Z 0 XX 0 Y -30 Z 0 300300 3030
    2. テキスト (スクリプト) コンポーネント。For the Text (Script) component:

      名前Name TextText フォント サイズFont Size
      MicrophoneStatusTextMicrophoneStatusText ???? 2020
      AzureResponseTextAzureResponseText ???? 2020
      DictationTextDictationText ???? 2020
      TranslationResultTextTranslationResultText ???? 2020
  9. 次に、テキストの各コンポーネントの 'centre' の配置オプションを選択します。Next, select the 'centre' alignment option for each text component:

    テキストを配置します。

  10. 確認する、子 UI テキストオブジェクトが読みやすく、変更、します。To ensure the child UI Text objects are easily readable, change their Color. これには (現在は ' 黒') の横に、バーをクリックすると、します。Do this by clicking on the bar (currently ‘Black’) next to Color.

    対応する UI テキスト出力用の値を入力します。

  11. 次に、新しい、少し、ウィンドウで、変更、 16 進カラーに。0032EAFFThen, in the new, little, Color window, change the Hex Color to: 0032EAFF

    色を青を更新します。

  12. 以下は、方法、 UIになります。Below is how the UI should look.

    1. 階層パネル:In the Hierarchy Panel:

      指定された構造内の階層があります。

    2. シーンゲーム ビュー:In the Scene and Game Views:

      同じ構造でシーンやゲームのビューがあります。

第 5 章 – 結果のクラスを作成します。Chapter 5 – Create the Results class

最初のスクリプトを作成する必要がありますが、結果クラスは、変換の結果を表示する方法を提供する責任を負います。The first script you need to create is the Results class, which is responsible for providing a way to see the results of translation. クラスを格納し、次が表示されます。The Class stores and displays the following:

  • Azure からの応答の結果。The response result from Azure.
  • マイクの状態です。The microphone status.
  • ディクテーション モード (音声テキストを) の結果。The result of the dictation (voice to text).
  • 変換の結果。The result of the translation.

このクラスを作成します。To create this class:

  1. 右クリックし、プロジェクト パネル、し作成 > フォルダーします。Right-click in the Project Panel, then Create > Folder. フォルダーの名前スクリプトします。Name the folder Scripts.

    [スクリプト] フォルダーを作成します。

    スクリプト フォルダーを開きます。

  2. スクリプトフォルダーの作成、アイコンをダブルクリックして開きます。With the Scripts folder create, double click it to open. そのフォルダーを右クリックし、内作成 >C#スクリプトします。Then within that folder, right-click, and select Create > then C# Script. スクリプトの名前結果します。Name the script Results.

    最初のスクリプトを作成します。

  3. 新しいをダブルクリックします。結果スクリプト ファイルを開くVisual Studioします。Double click on the new Results script to open it with Visual Studio.

  4. 次の名前空間を挿入します。Insert the following namespaces:

        using UnityEngine;
        using UnityEngine.UI;
    
  5. クラス内には、次の変数を挿入します。Inside the Class insert the following variables:

        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;
    
  6. 追加し、 Awake() メソッドで、クラスを初期化するときに呼び出されます。Then add the Awake() method, which will be called when the class initializes.

        private void Awake() 
        { 
            // Set this class to behave similar to singleton 
            instance = this;           
        } 
    
  7. 最後に、UI にさまざまな結果の情報を出力することを担当するメソッドを追加します。Finally, add the methods which are responsible for outputting the various results information to the UI.

        /// <summary>
        /// Stores the Azure response value in the static instance of Result class.
        /// </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. 
        /// </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. 
        /// </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. 
        /// </summary>
        public void SetMicrophoneStatus(string result)
        {
            micStatus = result;
            microphoneStatusText.text = micStatus;
        }
    
  8. 変更を保存することを確認するVisual Studioに戻る前にUnityします。Be sure to save your changes in Visual Studio before returning to Unity.

第 6 章 – 作成、 MicrophoneManagerクラスChapter 6 – Create the MicrophoneManager class

2 番目のクラスを作成するには、 MicrophoneManagerします。The second class you are going to create is the MicrophoneManager.

このクラスは、責任を負います。This class is responsible for:

  • ヘッドセットまたは (方は、既定値) のマシンにアタッチされた録音デバイスを検出します。Detecting the recording device attached to the headset or machine (whichever is the default).
  • 音声 (音声) を使用すると、キャプチャし、ディクテーションを使用して、文字列として保存します。Capture the audio (voice) and use dictation to store it as a string.
  • 音声が一時停止すると、Translator クラスにディクテーションを送信します。Once the voice has paused, submit the dictation to the Translator class.
  • 必要な場合は、音声でキャプチャを停止するメソッドをホストします。Host a method that can stop the voice capture if desired.

このクラスを作成します。To create this class:

  1. ダブルクリック、スクリプトフォルダーを開きます。Double click on the Scripts folder, to open it.

  2. 内側を右クリックし、スクリプトフォルダー、をクリックして作成 >C#スクリプトRight-click inside the Scripts folder, click Create > C# Script. スクリプトの名前MicrophoneManagerします。Name the script MicrophoneManager.

  3. Visual Studio で開くことに新しいスクリプトをダブルクリックします。Double click on the new script to open it with Visual Studio.

  4. 上部にある、次と同じである名前空間の更新、 MicrophoneManagerクラス。Update the namespaces to be the same as the following, at the top of the MicrophoneManager class:

        using UnityEngine; 
        using UnityEngine.Windows.Speech;
    
  5. 次に、内部では、次の変数を追加、 MicrophoneManagerクラス。Then, add the following variables inside the MicrophoneManager class:

        // Help to access instance of this object 
        public static MicrophoneManager instance; 
    
        // AudioSource component, provides access to mic 
        private AudioSource audioSource; 
    
        // Flag indicating mic detection 
        private bool microphoneDetected; 
    
        // Component converting speech to text 
        private DictationRecognizer dictationRecognizer; 
    
  6. コードをAwake()Start() 今すぐメソッドを追加する必要があります。Code for the Awake() and Start() methods now needs to be added. これらが、クラスの初期化時に呼び出されます。These will be called when the class initializes:

        private void Awake() 
        { 
            // Set this class to behave similar to singleton 
            instance = this; 
        } 
    
        void Start() 
        { 
            //Use Unity Microphone class to detect devices and setup AudioSource 
            if(Microphone.devices.Length > 0) 
            { 
                Results.instance.SetMicrophoneStatus("Initialising..."); 
                audioSource = GetComponent<AudioSource>(); 
                microphoneDetected = true; 
            } 
            else 
            { 
                Results.instance.SetMicrophoneStatus("No Microphone detected"); 
            } 
        } 
    
  7. できます削除Update() メソッドのため、このクラスは使用されません。You can delete the Update() method since this class will not use it.

  8. メソッドに渡すの開始し、音声のキャプチャを停止する、アプリが使用する必要があります、 Translatorクラスと、すぐにビルドします。Now you need the methods that the App uses to start and stop the voice capture, and pass it to the Translator class, that you will build soon. 次のコードをコピーして貼り付ける下に、 Start() メソッド。Copy the following code and paste it beneath the Start() method.

        /// <summary> 
        /// Start microphone capture. Debugging message is delivered to the Results class. 
        /// </summary> 
        public void StartCapturingAudio() 
        { 
            if(microphoneDetected) 
            {               
                // Start dictation 
                dictationRecognizer = new DictationRecognizer(); 
                dictationRecognizer.DictationResult += DictationRecognizer_DictationResult; 
                dictationRecognizer.Start(); 
    
                // Update UI with mic status 
                Results.instance.SetMicrophoneStatus("Capturing..."); 
            }      
        } 
    
        /// <summary> 
        /// Stop microphone capture. Debugging message is delivered to the Results class. 
        /// </summary> 
        public void StopCapturingAudio() 
        { 
            Results.instance.SetMicrophoneStatus("Mic sleeping"); 
            Microphone.End(null); 
            dictationRecognizer.DictationResult -= DictationRecognizer_DictationResult; 
            dictationRecognizer.Dispose(); 
        }
    

    ヒント

    このアプリケーションのことはありませんが、使用、 StopCapturingAudio() メソッドも用意されていますここでは、アプリケーションでのオーディオのキャプチャを停止する機能を実装する必要があります。Though this application will not make use of it, the StopCapturingAudio() method has also been provided here, should you want to implement the ability to stop capturing audio in your application.

  9. 音声が停止したときに呼び出されるディクテーション ハンドラーを追加する必要があります。You now need to add a Dictation Handler that will be invoked when the voice stops. このメソッドは、ディクテーションされたテキストに合格し、 Translatorクラス。This method will then pass the dictated text to the Translator class.

        /// <summary>
        /// This handler is called every time the Dictation detects a pause in the speech. 
        /// Debugging message is delivered to the Results class.
        /// </summary>
        private void DictationRecognizer_DictationResult(string text, ConfidenceLevel confidence)
        {
            // Update UI with dictation captured
            Results.instance.SetDictationResult(text);
    
            // Start the coroutine that process the dictation through Azure 
            StartCoroutine(Translator.instance.TranslateWithUnityNetworking(text));   
        }
    
  10. Visual Studio で Unity に戻る前に変更を保存することを確認します。Be sure to save your changes in Visual Studio before returning to Unity.

警告

この時点で表示されるエラーが表示されます、 Unity エディターのコンソールパネル (「名前 'トランスレーター' が存在しません...」)。At this point you will notice an error appearing in the Unity Editor Console Panel (“The name ‘Translator’ does not exist...”). これは、コードを参照しているため、 Translatorクラスで、[次へ] の章で作成されます。This is because the code references the Translator class, which you will create in the next chapter.

第 7 章 – Azure と translator サービスへの呼び出しChapter 7 – Call to Azure and translator service

最後のスクリプトを作成する必要がありますが、 Translatorクラス。The last script you need to create is the Translator class.

このクラスは、責任を負います。This class is responsible for:

  • 使用してアプリを認証Azure、exchange のAuth トークンします。Authenticating the App with Azure, in exchange for an Auth Token.
  • 使用して、 Auth トークンテキストを送信する (から受信した、 MicrophoneManagerクラス) を変換します。Use the Auth Token to submit text (received from the MicrophoneManager Class) to be translated.
  • 変換された結果を受け取るに渡すと、結果UI で視覚化対象であるクラス。Receive the translated result and pass it to the Results Class to be visualized in the UI.

このクラスを作成します。To create this Class:

  1. 移動して、スクリプト以前に作成したフォルダーです。Go to the Scripts folder you created previously.

  2. 右クリックし、プロジェクト パネル作成 >C#スクリプトします。Right-click in the Project Panel, Create > C# Script. スクリプトを呼び出すTranslatorします。Call the script Translator.

  3. 新しいをダブルクリックします。 Translator開くスクリプトVisual Studio を使用したします。Double click on the new Translator script to open it with Visual Studio.

  4. ファイルの先頭には、次の名前空間を追加します。Add the following namespaces to the top of the file:

        using System;
        using System.Collections;
        using System.Xml.Linq;
        using UnityEngine;
        using UnityEngine.Networking;
    
  5. 内で、次の変数を追加し、 Translatorクラス。Then add the following variables inside the Translator class:

        public static Translator instance; 
        private string translationTokenEndpoint = "https://api.cognitive.microsoft.com/sts/v1.0/issueToken"; 
        private string translationTextEndpoint = "https://api.microsofttranslator.com/v2/http.svc/Translate?"; 
        private const string ocpApimSubscriptionKeyHeader = "Ocp-Apim-Subscription-Key"; 
    
        //Substitute the value of authorizationKey with your own Key 
        private const string authorizationKey = "-InsertYourAuthKeyHere-"; 
        private string authorizationToken; 
    
        // languages set below are: 
        // English 
        // French 
        // Italian 
        // Japanese 
        // Korean 
        public enum Languages { en, fr, it, ja, ko }; 
        public Languages from = Languages.en; 
        public Languages to = Languages.it; 
    

    注意

    • 言語に挿入された言語enumは単なる例です。The languages inserted into the languages enum are just examples. 場合; を追加してみてください。API は、60 を超える言語をサポートしている(クリンゴンを含む)。Feel free to add more if you wish; the API supports over 60 languages (including Klingon)!
    • より対話的なページが使用可能な言語をカバーするページに設定されているサイトの言語にあるときにのみ表示されますが注意 'en-' (および、Microsoft のサイトがネイティブ言語へのリダイレクトを可能性があります)。There is a more interactive page covering available languages, though be aware the page only appears to work when the site language is set to 'en-us' (and the Microsoft site will likely redirect to your native language). または、URL を変更することにより、ページの下部にあるサイトの言語を変更できます。You can change site language at the bottom of the page or by altering the URL.
    • AuthorizationKey上のコード スニペット内の値である必要があります、キーを申し込んだときに受信した、 Azure Translator Text APIします。The authorizationKey value, in the above code snippet, must be the Key you received when you subscribed to the Azure Translator Text API. これで説明した第 1 章します。This was covered in Chapter 1.
  6. コードをAwake()Start() 今すぐメソッドを追加する必要があります。Code for the Awake() and Start() methods now needs to be added.

  7. ここでは、コードが呼び出しを行うはAzure承認キーを使用して、トークンIn this case, the code will make a call to Azure using the authorization Key, to get a Token.

        private void Awake() 
        { 
            // Set this class to behave similar to singleton  
            instance = this; 
        } 
    
        // Use this for initialization  
        void Start() 
        { 
            // When the application starts, request an auth token 
            StartCoroutine("GetTokenCoroutine", authorizationKey); 
        }
    

    注意

    トークンは、10 分後に切れます。The token will expire after 10 minutes. によっては、アプリのシナリオでは、複数回呼び出して同じコルーチンを作成する必要があります。Depending on the scenario for your app, you might have to make the same coroutine call multiple times.

  8. トークンを取得するコルーチン次に示します。The coroutine to obtain the Token is the following:

        /// <summary> 
        /// Request a Token from Azure Translation Service by providing the access key. 
        /// Debugging result is delivered to the Results class. 
        /// </summary> 
        private IEnumerator GetTokenCoroutine(string key)
        {
            if (string.IsNullOrEmpty(key))
            {
                throw new InvalidOperationException("Authorization key not set.");
            }
    
            using (UnityWebRequest unityWebRequest = UnityWebRequest.Post(translationTokenEndpoint, string.Empty))
            {
                unityWebRequest.SetRequestHeader("Ocp-Apim-Subscription-Key", key);
                yield return unityWebRequest.SendWebRequest();
    
                long responseCode = unityWebRequest.responseCode;
    
                // Update the UI with the response code 
                Results.instance.SetAzureResponse(responseCode.ToString());
    
                if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError)
                {
                    Results.instance.azureResponseText.text = unityWebRequest.error;
                    yield return null;
                }
                else
                {
                    authorizationToken = unityWebRequest.downloadHandler.text;
                }
            }
    
            // After receiving the token, begin capturing Audio with the MicrophoneManager Class 
            MicrophoneManager.instance.StartCapturingAudio();
        }
    

    警告

    IEnumerator メソッドの名前を編集する場合GetTokenCoroutine() 、更新する必要がある、 StartCoroutineStopCoroutine上記のコードで文字列値を呼び出します。If you edit the name of the IEnumerator method GetTokenCoroutine(), you need to update the StartCoroutine and StopCoroutine call string values in the above code. Unity のドキュメントに従って特定を停止するには、コルーチン文字列値メソッドを使用する必要があります。As per Unity documentation, to Stop a specific Coroutine, you need to use the string value method.

  9. 次に、受信したテキストの翻訳を取得する (その下「サポート」ストリーム メソッド) を使用して、コルーチンを追加、 MicrophoneManagerクラス。Next, add the coroutine (with a “support” stream method right below it) to obtain the translation of the text received by the MicrophoneManager class. このコードに送信するクエリ文字列の作成、 Azure Translator Text API、し、内部の Unity UnityWebRequest クラスを使用して、クエリ文字列のあるエンドポイントに 'Get' 呼び出しを行います。This code creates a query string to send to the Azure Translator Text API, and then uses the internal Unity UnityWebRequest class to make a ‘Get’ call to the endpoint with the query string. 結果は、結果オブジェクトの翻訳を設定するのには使用されます。The result is then used to set the translation in your Results object. 次のコードは、実装を示しています。The code below shows the implementation:

        /// <summary> 
        /// Request a translation from Azure Translation Service by providing a string.  
        /// Debugging result is delivered to the Results class. 
        /// </summary> 
        public IEnumerator TranslateWithUnityNetworking(string text)
        {
            // This query string will contain the parameters for the translation 
            string queryString = string.Concat("text=", Uri.EscapeDataString(text), "&from=", from, "&to=", to);
    
            using (UnityWebRequest unityWebRequest = UnityWebRequest.Get(translationTextEndpoint + queryString))
            {
                unityWebRequest.SetRequestHeader("Authorization", "Bearer " + authorizationToken);
                unityWebRequest.SetRequestHeader("Accept", "application/xml");
                yield return unityWebRequest.SendWebRequest();
    
                if (unityWebRequest.isNetworkError || unityWebRequest.isHttpError)
                {
                    Debug.Log(unityWebRequest.error);
                    yield return null;
                }
    
                // Parse out the response text from the returned Xml
                string result = XElement.Parse(unityWebRequest.downloadHandler.text).Value;
                Results.instance.SetTranslatedResult(result);
            }
        }
    
  10. 変更を保存することを確認するVisual Studioに戻る前にUnityします。Be sure to save your changes in Visual Studio before returning to Unity.

章 – 8 Unity シーンを構成します。Chapter 8 – Configure the Unity Scene

  1. 戻る Unity エディターで、をクリックし、ドラッグ、 結果 クラス からスクリプト フォルダーを Main Camera 内のオブジェクト 階層パネル します。Back in the Unity Editor, click and drag the Results class from the Scripts folder to the Main Camera object in the Hierarchy Panel.

  2. をクリックして、 Main Cameraを見て、インスペクター パネルします。Click on the Main Camera and look at the Inspector Panel. 内で、新しく追加した表示になりますスクリプトコンポーネントでは、空の値の 4 つのフィールドがあります。You will notice that within the newly added Script component, there are four fields with empty values. これらは、コード内のプロパティに出力参照です。These are the output references to the properties in the code.

  3. 適切なドラッグテキストオブジェクトから、階層パネルこれら 4 つのスロット、次の図に示すようにします。Drag the appropriate Text objects from the Hierarchy Panel to those four slots, as shown in the image below.

    指定した値を持つターゲットの参照を更新します。

  4. 次に、をクリックし、ドラッグ、 Translatorクラスから、スクリプトフォルダーをMain Cameraオブジェクト、階層パネルします。Next, click and drag the Translator class from the Scripts folder to the Main Camera object in the Hierarchy Panel.

  5. 次に、をクリックし、ドラッグ、 MicrophoneManagerクラスから、スクリプトフォルダーをMain Cameraオブジェクト、階層パネルThen, click and drag the MicrophoneManager class from the Scripts folder to the Main Camera object in the Hierarchy Panel.

  6. 最後に、をクリックして、 Main Cameraを見て、インスペクター パネルします。Lastly, click on the Main Camera and look at the Inspector Panel. 上にドラッグした先のスクリプトである 2 つのドロップ ダウン ボックスは、言語を設定することがわかります。You will notice that in the script you dragged on, there are two drop down boxes that will allow you to set the languages.

    目的の翻訳の言語の入力を確認します。

第 9 章 – 複合現実でのテストChapter 9 – Test in mixed reality

この時点で、シーンが正しく実装されていることをテストする必要があります。At this point you need to test that the Scene has been properly implemented.

次のことを確認してください。Ensure that:

  • 説明されているすべての設定第 1 章が正しく設定されています。All the settings mentioned in Chapter 1 are set correctly.
  • 結果Translator、およびMicrophoneManagerに関連付けられているスクリプト、 Main Cameraオブジェクト。The Results, Translator, and MicrophoneManager, scripts are attached to the Main Camera object.
  • 配置した、 Azure Translator Text APIサービスキー内、 authorizationKey変数内で、 Translatorスクリプトです。You have placed your Azure Translator Text API Service Key within the authorizationKey variable within the Translator Script.
  • 内のすべてのフィールド、カメラ インスペクター [メイン] パネルが適切に割り当てられます。All the fields in the Main Camera Inspector Panel are assigned properly.
  • シーンを実行するときに、マイクの動作 (そうでない場合は、接続されているマイクことを確認、既定デバイス、およびあるWindows 内正しく設定して)。Your microphone is working when running your scene (if not, check that your attached microphone is the default device, and that you have set it up correctly within Windows).

イマーシブ ヘッドセットをテストするにはキーを押して、再生ボタン、 Unity エディターします。You can test the immersive headset by pressing the Play button in the Unity Editor. アプリは、添付のイマーシブ ヘッドセットで機能している必要があります。The App should be functioning through the attached immersive headset.

警告

変更する既定のオーディオ デバイスについて、Unity コンソールで、エラーが発生した場合期待どおりにシーンが機能しない可能性があります。If you see an error in the Unity console about the default audio device changing, the scene may not function as expected. これは、複合現実ポータルが設定されているヘッドセットの組み込みのマイクを扱う方法に起因します。This is due to the way the mixed reality portal deals with built-in microphones for headsets that have them. このエラーを参照してください、単にシーンを停止、再開し、として動作する必要がありますが必要です。If you see this error, simply stop the scene and start it again and things should work as expected.

章 – 10 ビルド UWP ソリューションおよびローカル コンピューター上のサイドロードChapter 10 – Build the UWP solution and sideload on local machine

このプロジェクトの Unity のセクションの必要なすべてが今すぐ完了したら、ので、Unity から構築するための時間。Everything needed for the Unity section of this project has now been completed, so it is time to build it from Unity.

  1. 移動しますビルド設定:ファイル > の設定を作成しています.Navigate to Build Settings: File > Build Settings...

  2. Build Settingsウィンドウで、をクリックしてビルドします。From the Build Settings window, click Build.

    Unity シーンを構築します。

  3. まだ行っていない場合、ティックUnityC#プロジェクトします。If not already, tick Unity C# Projects.

  4. [Build] をクリックします。Click Build. Unity を起動、ファイル エクスプ ローラーウィンドウを作成しにアプリをビルドするフォルダーを選択する必要があります。Unity will launch a File Explorer window, where you need to create and then select a folder to build the app into. ここで、そのフォルダーを作成し、名前アプリします。Create that folder now, and name it App. 使用し、アプリフォルダーを選択すると、キーを押してフォルダーの選択します。Then with the App folder selected, press Select Folder.

  5. Unity にプロジェクトをビルドを開始、アプリフォルダー。Unity will begin building your project to the App folder.

  6. 1 回 Unity には、(少し時間がかかる場合があります) ビルドが完了したが開き、ファイル エクスプ ローラービルドの位置にあるウィンドウ (上の windows では、常に表示されないの新しい追加の通知をタスク バーを確認ウィンドウ)。Once Unity has finished building (it might take some time), it will open a File Explorer window at the location of your build (check your task bar, as it may not always appear above your windows, but will notify you of the addition of a new window).

第 11 章 – 展開アプリケーションChapter 11 – Deploy your application

アプリケーションを配置します。To deploy your application:

  1. 新しい Unity ビルドに移動します (、アプリフォルダー) とソリューション ファイルを開くとVisual Studioします。Navigate to your new Unity build (the App folder) and open the solution file with Visual Studio.

  2. ソリューション構成の選択でデバッグします。In the Solution Configuration select Debug.

  3. ソリューション プラットフォーム で選択x86ローカル マシンします。In the Solution Platform, select x86, Local Machine.

    Microsoft HoloLens にすることがあります方が簡単なこれを設定するリモート マシン、するは、コンピューターにテザリングされたしないようにします。For the Microsoft HoloLens, you may find it easier to set this to Remote Machine, so that you are not tethered to your computer. ただし、次の操作も必要があります。Though, you will need to also do the following:

    • 把握、 IP アドレス内では、HoloLens の設定 > ネットワークとインターネット > Wi-fi > 詳細オプション;、IPv4 では、アドレスを使用する必要があります。Know the IP Address of your HoloLens, which can be found within the Settings > Network & Internet > Wi-Fi > Advanced Options; the IPv4 is the address you should use.
    • 確認開発者モード; で見つかった設定 > 更新とセキュリティ > 開発者向けします。Ensure Developer Mode is On; found in Settings > Update & Security > For developers.

    Visual Studio からソリューションをデプロイします。

  4. 移動してビルド メニュー をクリックソリューションの配置を PC にアプリケーションをサイドローディングします。Go to Build menu and click on Deploy Solution to sideload the application to your PC.

  5. アプリが起動する準備ができて、インストールされているアプリの一覧に表示されます。Your App should now appear in the list of installed apps, ready to be launched.

  6. 起動するには、アプリには、マイクへのアクセスを承認することが求められます。Once launched, the App will prompt you to authorize access to the Microphone. クリックして、はいボタンをクリックします。Make sure to click the YES button.

  7. 翻訳を開始する準備ができました!You are now ready to start translating!

完成した翻訳テキスト API アプリケーションYour finished Translation Text API application

これで、音声翻訳されたテキストに変換するには、Azure 翻訳テキスト API を利用している mixed reality アプリを構築します。Congratulations, you built a mixed reality app that leverages the Azure Translation Text API to convert speech to translated text.

最終的な製品です。

ボーナスの演習Bonus exercises

手順 1Exercise 1

できる機能を追加する音声合成をアプリに返されるテキストが話されているようにでしょうか。Can you add text-to-speech functionality to the app, so that the returned text is spoken?

手順 2Exercise 2

ユーザー自体には、アプリ内のソースと出力の言語 ('から' および 'to') を変更するので、アプリが言語を変更するたびに再構築する必要はありませんが可能にします。Make it possible for the user to change the source and output languages ('from' and 'to') within the app itself, so the app does not need to be rebuilt every time you want to change languages.