注意

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 306:ビデオのストリーミングMR and Azure 306: Streaming video

最終的な製品-開始 最終製品-開始final product -start final product -start

このコースでは、学習イマーシブ ヘッドセットでビデオの再生を 360 度のストリーミングを許可する Windows Mixed Reality VR エクスペリエンスに、Azure Media Services を接続する方法。In this course you will learn how connect your Azure Media Services to a Windows Mixed Reality VR experience to allow streaming 360 degree video playback on immersive headsets.

Azure Media Servicesは今日の最も人気のあるモバイル デバイスでより多くのユーザーに到達するブロードキャスト品質ビデオ ストリーミング サービスを提供するサービスのコレクションです。Azure Media Services are a collection of services that gives you broadcast-quality video streaming services to reach larger audiences on today’s most popular mobile devices. 詳細については、次を参照してください。、 Azure Media Services ページします。For more information, visit the Azure Media Services page.

このコースを完了するは、次のことが、複合現実イマーシブ ヘッドセット アプリケーションが用意されます。Having completed this course, you will have a mixed reality immersive headset application, which will be able to do the following:

  1. 360 度のビデオを取得、 Azure Storageを使用して、 Azure Media Serviceします。Retrieve a 360 degree video from an Azure Storage, through the Azure Media Service.

  2. Unity シーン内で取得した 360 度のビデオを表示します。Display the retrieved 360 degree video within a Unity scene.

  3. 2 つの異なるビデオで、2 つのシーン間を移動します。Navigate between two scenes, with two different videos.

アプリケーションでは、責任ですが、設計と、結果を統合する方法について。In your application, it is up to you as to how you will integrate the results with your design. このコースは、Unity プロジェクトで Azure サービスを統合する方法を説明する設計されています。This course is designed to teach you how to integrate an Azure Service with your Unity Project. 複合現実アプリを強化するためには、このコース得た知識を使用することがあります。It is your job to use the knowledge you gain from this course to enhance your mixed reality application.

デバイスのサポートDevice support

コースCourse HoloLensHoloLens イマーシブ ヘッドセットImmersive headsets
MR と Azure 306:ビデオのストリーミングMR and Azure 306: Streaming video ✔️✔️

前提条件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

  1. このプロジェクトのビルドの問題の発生を避けるため、強くお勧めのルートまたはルート近くフォルダーでこのチュートリアルで説明したようにプロジェクトを作成すること (長いフォルダー パスはビルド時に問題を発生できます)。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).

  2. 設定し、混合 Reality イマーシブ ヘッドセットをテストします。Set up and test your Mixed Reality Immersive Headset.

    注意

    いないこのコースのモーションのコント ローラーが必要です。You will not require Motion Controllers for this course. イマーシブ ヘッドセットの設定をサポートする場合をクリックしてくださいWindows Mixed Reality を設定する方法についてのリンクします。If you need support setting up the Immersive Headset, please click link on how to set up Windows Mixed Reality.

1 - Azure Portal の章: Azure ストレージ アカウントの作成Chapter 1 - The Azure Portal: creating the Azure Storage Account

使用する、 Azure ストレージ サービス、作成および構成する必要があります、ストレージ アカウントAzure portal でします。To use the Azure Storage Service, you will need to create and configure a Storage Account in the Azure portal.

  1. Azure ポータル にログインします。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. ログインした後は、をクリックしてストレージ アカウント左側のメニュー。Once you are logged in, click on Storage accounts in the left menu.

    Azure Storage アカウントのセットアップ

  3. ストレージ アカウント タブで、をクリックして追加します。On the Storage Accounts tab, click on Add.

    Azure Storage アカウントのセットアップ

  4. ストレージ アカウントを作成する タブ。In the Create storage account tab:

    1. 挿入、名前お使いのアカウントに、数字と小文字のみこのフィールドを受け入れるに注意してください。Insert a Name for your account, be aware this field only accepts numbers, and lowercase letters.

    2. デプロイ モデルでは、 選択Resource managerします。For Deployment model, select Resource manager.

    3. アカウントの種類ストレージ (汎用 v1) します。For Account kind, select Storage (general purpose v1).

    4. パフォーマンスStandard*。For Performance, select Standard*.

    5. レプリケーション選択ローカル冗長ストレージ (LRS) します。For Replication select Locally-redundant storage (LRS).

    6. まま転送が必須のセキュリティで保護されたとして無効になっているします。Leave Secure transfer required as Disabled.

    7. 選択、サブスクリプションします。Select a Subscription.

    8. 選択、リソース グループか新規に作成します。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.

    9. 確認、場所(新しいリソース グループを作成する) 場合は、リソース グループ。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.

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

    Azure Storage アカウントのセットアップ

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

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

    Azure Storage アカウントのセットアップ

  8. この時点で次のリソースは、[次へ] の章に進みます。 単純にする必要はありません。At this point you do not need to follow the resource, simply move to the next Chapter.

2 - Azure Portal の章: メディア サービスの作成Chapter 2 - The Azure Portal: creating the Media Service

Azure メディア サービスを使用するには、(アカウント保有者が必要管理者である場合)、アプリケーションに使用可能にするサービスのインスタンスを構成する必要があります。To use the Azure Media Service, you will need to configure an instance of the service to be made available to your application (wherein the account holder needs to be an Admin).

  1. Azure Portal をクリックしてリソースの作成左上隅にある検索してメディア サービス、 キーを押して 」と入力します。In the Azure Portal, click on Create a resource in the top left corner, and search for Media Service, press Enter. 現在、目的のリソースがピンク色のアイコン。この新しいページを表示する をクリックします。The resource you want currently has a pink icon; click this, to show a new page.

    Azure Portal

  2. 新しいページがの説明を入力、メディア サービスします。The new page will provide a description of the Media Service. このダイアログ ボックスの左下にある at をクリックして、作成ボタンは、このサービスとの関連付けを作成します。At the bottom left of this prompt, click the Create button, to create an association with this service.

    Azure Portal

  3. クリックすると作成新しいメディア サービスについての詳細を提供する必要があるパネルが表示されます。Once you have clicked on Create a panel will appear where you need to provide some details about your new Media Service:

    1. 必要な挿入アカウント名このサービス インスタンス。Insert your desired Account Name for this service instance.

    2. 選択、サブスクリプションします。Select a Subscription.

    3. 選択、リソース グループか新規に作成します。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 リソース グループに従ってくださいこのAzure リソース グループを管理する方法についてのリンクIf you wish to read more about Azure Resource Groups, please follow this link on how to manage Azure Resource Groups.

    1. 確認、場所(新しいリソース グループを作成する) 場合は、リソース グループ。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.

    2. ストレージ アカウントセクションで、、を選択してください. セクションで、クリック、ストレージ アカウント最後の章で作成しました。For the Storage Account section, click the Please select... section, then click the Storage Account you created in the last Chapter.

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

    4. [作成] をクリックします。Click Create.

      Azure Portal

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

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

    Azure Portal

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

    Azure Portal

  7. をクリックして、リソースに移動通知では、新しいサービス インスタンスを表示するボタンをクリックします。Click the Go to resource button in the notification to explore your new Service instance.

  8. 新しいメディア サービス ページの左側で、パネル内では、をクリックして、資産偶数の一覧については、リンク。Within the new Media service page, within the panel on the left, click on the Assets link, which is about halfway down.

  9. 次のページで、ページの左上隅にある クリックしてアップロードします。On the next page, in the top-left corner of the page, click Upload.

    Azure Portal

  10. をクリックして、フォルダーアイコン ファイルを参照し、最初に 360 ビデオをストリーミングしたいを選択します。Click on the Folder icon to browse your files and select the first 360 Video that you would like to stream.

    これを利用できるサンプル ビデオをダウンロードするリンクします。You can follow this link to download a sample video.

    Azure Portal

警告

長いファイル名は、エンコーダーで問題を生じさせる可能性があります: ためにビデオの問題がないことを確認するには、ビデオ ファイル名の長さを短縮することを検討してください。Long filenames may cause an issue with the encoder: so to ensure videos do not have issues, consider shortening the length of your video file names.

  1. ビデオのアップロードが完了すると、進行状況バーが緑色になります。The progress bar will turn green when the video has finished uploading.

    Azure Portal

  2. 上記のテキストをクリックして (yourservicename - 資産) に戻る、資産ページ。Click on the text above (yourservicename - Assets) to return to the Assets page.

  3. ビデオが正常にアップロードされていることがわかります。You will notice that your video has been successfully uploaded. これをクリックします。Click on it.

    Azure Portal

  4. ビデオに関する詳細情報にリダイレクトされるページが表示されます。The page you are redirected to will show you detailed information about your video. をクリックして、エンコードする必要がある、ビデオを使用できる、エンコードページの上部左にあるボタンをクリックします。To be able to use your video you need to encode it, by clicking the Encode button at the top-left of the page.

    Azure Portal

  5. いることができます、ファイルのオプションのエンコーディングを設定する右側で、新しいパネルが表示されます。A new panel will appear to the right, where you will be able to set encoding options for your file. (一部は既に既定で設定)、次のプロパティを設定します。Set the following properties (some will be already set by default):

    1. メディア エンコーダー名*Media Encoder Standard*Media encoder name Media Encoder Standard

    2. エンコード プリセット*コンテンツ アダプティブ マルチビット レート MP4*Encoding preset Content Adaptive Multiple Bitrate MP4

    3. ジョブ名*Video1.mp4 の Media Encoder Standard の処理*Job name Media Encoder Standard processing of Video1.mp4

    4. 出力メディア資産名*Video1.mp4--Media Encoder Standard のエンコード*Output media asset name Video1.mp4 -- Media Encoder Standard encoded

      Azure Portal

  6. [作成] をクリックします。Click the Create button.

  7. 使用して、バーが表示されます追加エンコード ジョブそのバーをクリックして、パネルが表示されているエンコードの進行状況で表示されます。You will notice a bar with Encoding job added, click on that bar and a panel will appear with the Encoding progress displayed in it.

    Azure Portal

    Azure Portal

  8. ジョブが完了するまで待ちます。Wait for the Job to be completed. これを完了すると、自由に、そのパネルの右上にある 'X' でパネルを閉じます。Once it is done, feel free to close the panel with the 'X' at the top right of that panel.

    Azure Portal

    Azure Portal

    重要

    これにより、時間は、ビデオのファイルのサイズによって異なります。The time this takes, depends on the file size of your video. このプロセスには、かなりの時間がかかります。This process can take quite some time.

  9. ビデオのエンコードされたバージョンを作成すると、アクセスできるようにすることを発行できます。Now that the encoded version of the video has been created, you can publish it to make it accessible. これを行うには、青色のリンクをクリックします。資産資産のページに戻ります。To do so, click the blue link Assets to go back to the assets page.

    Azure Portal

  10. 別のあると共に、ビデオが表示されます **資産の種類 *マルチビット レート MP4***。You will see your video along with another, which is of **Asset Type *Multi-Bitrate MP4***.

    Azure Portal

    注意

    初期ビデオ、と共に、新しい資産がであることがわかります不明な、に対しては、'0' バイトを持つとサイズ、だけを更新するため、ウィンドウを更新します。You may notice that the new asset, alongside your initial video, is Unknown, and has '0' bytes for it's Size, just refresh your window for it to update.

  11. この新しい資産をクリックします。Click this new asset.

    Azure Portal

  12. 前に、さまざまな資産は、これを使用したものと同様のパネルが表示されます。You will see a similar panel to the one you used before, just this is a different asset. をクリックして、発行ページの上部中央にあるボタンをクリックします。Click the Publish button located at the top-center of the page.

    Azure Portal

  13. 設定を求め、ロケーターファイル/秒で、資産へのエントリ ポイントであります。You will be prompted to set a Locator, which is the entry point, to file/s in your Assets. 自分のシナリオには、次のプロパティを設定します。For your scenario set the following properties:

    1. ロケーターの種類 > プログレッシブします。Locator type > Progressive.

    2. 日付時間に設定されますが、現在の日付から、将来の時刻 (ここでは 100 年)。The date and time will be set for you, from your current date, to a time in the future (one hundred years in this case). か、変更に合わせてままにします。Leave as is or change it to suit.

    注意

    詳細については、ロケーター、および選択することができます、次を参照してください。、 Azure Media Services のドキュメントします。For more information about Locators, and what you can choose, visit the Azure Media Services Documentation.

  14. そのパネルの下部で、をクリックして、追加ボタンをクリックします。At the bottom of that panel, click on the Add button.

    Azure Portal

  15. ビデオが発行されましたと、そのエンドポイントを使用してストリーミングできます。Your video is now published and can be streamed by using its endpoint. ページがダウンをさらに、ファイルセクション。Further down the page is a Files section. これは、ビデオのエンコードされたバージョンが表示されます。This is where the different encoded versions of your video will be. いずれかの最も高い解像度を選択します (下の画像が 1920 x 960 ファイル) とし、右側のパネルが表示されます。Select the highest possible resolution one (in the image below it is the 1920x960 file), and then a panel to the right will appear. サイトでは、ダウンロード URLします。There you will find a Download URL. このコピーエンドポイントコードで使用するためです。Copy this Endpoint as you will use it later in your code.

    Azure Portal

    Azure Portal

    注意

    押すことも、再生ボタン、ビデオを再生し、テストします。You can also press the Play button to play your video and test it.

  16. このラボで使用する 2 番目のビデオをアップロードする必要があります。You now need to upload the second video that you will use in this Lab. 2 番目のビデオに同じプロセスを繰り返し、上記の手順に従います。Follow the steps above, repeating the same process for the second video. 2 番目のコピーエンドポイントもします。Ensure you copy the second Endpoint also. 次を使用して、 2 番目のビデオをダウンロードするリンクします。Use the following link to download a second video.

  17. 両方のビデオが公開されると、次のチャプターに移動する準備が整いました。Once both videos have been published, you are ready to move to the next Chapter.

第 3 章 - Unity プロジェクトの設定Chapter 3 - Setting up the Unity Project

次のコード例が Mixed Reality での開発の一般的な設定して、そのため、他のプロジェクトの適切なテンプレートには。The following is a typical set up for developing with the Mixed Reality, and as such, is a good template for other projects.

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

    Azure Portal

  2. Unity プロジェクト名を指定する必要がありますこれで挿入MR_360VideoStreaming。 します。You will now need to provide a Unity Project name, insert MR_360VideoStreaming.. 必ず、プロジェクトの種類に設定されて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.

    Azure Portal

  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.

    Azure Portal

  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.

  5. 確認します。Also make sure that:

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

    2. ビルドの種類に設定されているD3D します。Build 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. 設定する方法について気にかけないようにシーン今を後でこの設定は、します。Do not worry about setting up Scenes right now, as you will set these up later.

    7. 残りの設定は、ここでは、既定値として残しておく必要があります。The remaining settings should be left as default for now.

      Unity プロジェクトの設定

  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. Scripting ランタイム バージョンする必要があります安定した(.NET 3.5 相当)。Scripting Runtime Version should be Stable (.NET 3.5 Equivalent).

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

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

        Unity プロジェクトの設定

    2. パネル、下の方に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.

      Unity プロジェクトの設定

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

      • InternetClientInternetClient

        Unity プロジェクトの設定

  8. これらの変更を行った場合、閉じる、 Build Settingsウィンドウ。Once you have made those changes, close the Build Settings window.

  9. プロジェクトを保存 *ファイル ***プロジェクトを保存します。Save your Project *File *Save Project**.

第 4 章 - InsideOutSphere Unity パッケージをインポートします。Chapter 4 - Importing the InsideOutSphere Unity package

重要

スキップする場合、 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.

このコースは Unity Asset のパッケージをダウンロードする必要がありますと呼ばれる InsideOutSphere.unitypackageします。For this course you will need to download a Unity Asset Package called InsideOutSphere.unitypackage.

インポートの操作方法に関する、 unitypackage:How-to import the unitypackage:

  1. 前 [Unity ダッシュ ボード] をクリックして資産画面の上部にあるメニューでクリックしてパッケージのインポート > カスタム パッケージします。With the Unity dashboard in front of you, click on Assets in the menu at the top of the screen, then click on Import Package > Custom Package.

    InsideOutSphere Unity パッケージをインポートします。

  2. ファイル ピッカーを使用して、 InsideOutSphere.unitypackageパッケージ化し、をクリックしてオープンします。Use the file picker to select the InsideOutSphere.unitypackage package and click Open. この資産のコンポーネントの一覧が表示されます。A list of components for this asset will be displayed to you. クリックして、インポートを確認します。インポートします。Confirm the import by clicking Import.

    InsideOutSphere Unity パッケージをインポートします。

  3. これには、インポートが完了したら後、は、3 つの新しいフォルダーが表示されます資料モデル、およびプレハブに追加されている、資産フォルダー。Once it has finished importing, you will notice three new folders, Materials, Models, and Prefabs, have been added to your Assets folder. このようなフォルダー構造は、Unity プロジェクトの一般的なものです。This kind of folder structure is typical for a Unity project.

    InsideOutSphere Unity パッケージをインポートします。

    1. 開く、モデルフォルダーが表示されますが、 InsideOutSphereモデルがインポートされています。Open the Models folder, and you will see that the InsideOutSphere model has been imported.

    2. 内で、資料フォルダーが表示されます、 InsideOutSpheresマテリアルlambert1と呼ばれるマテリアルと共にButtonMaterial、すぐに表示される GazeButton によって使用されます。Within the Materials folder you will find the InsideOutSpheres material lambert1, along with a material called ButtonMaterial, which is used by the GazeButton, which you will see soon.

    3. プレハブフォルダーが含まれています、 InsideOutSphereプレハブの両方を含む、 InsideOutSphere モデルと、 GazeButtonします。The Prefabs folder contains the InsideOutSphere prefab which contains both the InsideOutSphere model and the GazeButton.

    4. コードが含まれていない、このコースで、コードを記述します。No code is included, you will write the code by following this course.

  4. 内で、階層を選択、 Main Cameraオブジェクトし、次のコンポーネントの更新します。Within the Hierarchy, select the Main Camera object, and update the following components:

    1. 変換Transform

      1. 位置 = X:0、 Y:0、 Z:0。Position = X: 0, Y: 0, Z: 0.

      2. 回転 = X:0、 Y:0、 Z:0。Rotation = X: 0, Y: 0, Z: 0.

      3. スケールX:1、 Y:1、 Z:1. Scale X: 1, Y: 1, Z: 1.

    2. カメラCamera

      1. フラグをクリア:純色です。Clear Flags: Solid Color.

      2. Clipping:ほぼ。0.1、はるかに:6。Clipping Planes: Near: 0.1, Far: 6.

        InsideOutSphere Unity パッケージをインポートします。

  5. 移動し、プレハブフォルダー、およびドラッグ、 InsideOutSphereにプレハブ、階層パネル。Navigate to the Prefab folder, and then drag the InsideOutSphere prefab into the Hierarchy Panel.

    InsideOutSphere Unity パッケージをインポートします。

  6. 展開、 InsideOutSphereオブジェクト内の階層を横にある小さな矢印をクリックします。Expand the InsideOutSphere object within the Hierarchy by clicking the little arrow next to it. 表示されます、と呼ばれるその下にあるオブジェクトGazeButtonします。You will see a child object beneath it called GazeButton. シーンおよびビデオを変更するために使用されます。This will be used to change scenes and thus videos.

    InsideOutSphere Unity パッケージをインポートします。

  7. インスペクター ウィンドウをクリックして、 InsideOutSphereの変換コンポーネントを次のプロパティを設定することを確認します。In the Inspector Window click on the InsideOutSphere's Transform component, ensure that the following properties are set:

    変換の位置TRANSFORM - POSITION
    X 0X 0 Y 0Y 0 Z 0Z 0
    変換の回転TRANSFORM - ROTATION
    X 0X 0 Y -50Y -50 Z 0Z 0
    変換のスケールTRANSFORM - SCALE
    X 1X 1 Y 1Y 1 Z 1Z 1

    InsideOutSphere Unity パッケージをインポートします。

  8. をクリックして、 GazeButton 、子オブジェクトとその変換次のように。Click on the GazeButton child object, and set its Transform as follows:

    変換の位置TRANSFORM - POSITION
    X 3.6X 3.6 Y 1.3Y 1.3 Z 0Z 0
    変換の回転TRANSFORM - ROTATION
    X 0X 0 Y 0Y 0 Z 0Z 0
    変換のスケールTRANSFORM - SCALE
    X 1X 1 Y 1Y 1 Z 1Z 1

    InsideOutSphere Unity パッケージをインポートします。

5 - 章 VideoController クラスを作成します。Chapter 5 - Create the VideoController class

VideoControllerクラスは、Azure メディア サービスからコンテンツをストリーミングに使用される 2 つのビデオのエンドポイントをホストします。The VideoController class hosts the two video endpoints that will be used to stream the content from the Azure Media Service.

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

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

    VideoController クラスを作成します。

    VideoController クラスを作成します。

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

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

    VideoController クラスを作成します。

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

    VideoController クラスを作成します。

  5. 次のように、コード ファイルの上部にある名前空間を更新します。Update the namespaces at the top of the code file as follows:

    using System.Collections;
    using UnityEngine;
    using UnityEngine.SceneManagement;
    using UnityEngine.Video;
    
  6. 次の変数を入力、 VideoControllerクラス、と共に、 Awake() メソッド。Enter the following variables in the VideoController class, along with the Awake() method:

        /// <summary> 
        /// Provides Singleton-like behaviour to this class. 
        /// </summary> 
        public static VideoController instance; 
    
        /// <summary> 
        /// Reference to the Camera VideoPlayer Component.
        /// </summary> 
        private VideoPlayer videoPlayer; 
    
        /// <summary>
        /// Reference to the Camera AudioSource Component.
        /// </summary> 
        private AudioSource audioSource; 
    
        /// <summary> 
        /// Reference to the texture used to project the video streaming 
        /// </summary> 
        private RenderTexture videoStreamRenderTexture;
    
        /// <summary>
        /// Insert here the first video endpoint
        /// </summary>
        private string video1endpoint = "-- Insert video 1 Endpoint here --";
    
        /// <summary>
        /// Insert here the second video endpoint
        /// </summary>
        private string video2endpoint = "-- Insert video 2 Endpoint here --";
    
        /// <summary> 
        /// Reference to the Inside-Out Sphere. 
        /// </summary> 
        public GameObject sphere;
    
        void Awake()
        {
            instance = this;
        }
    
  7. ここは、Azure Media Service のビデオから、エンドポイントを入力します。Now is the time to enter the endpoints from your Azure Media Service videos:

    1. 最初に、 video1endpoint変数。The first into the video1endpoint variable.

    2. 2 番目に、 video2endpoint変数。The second into the video2endpoint variable.

    警告

    使用して既知の問題があるhttpsバージョン 2017.4.1f1 で、Unity 内で。There is a known issue with using https within Unity, with version 2017.4.1f1. ビデオでは、プレイのエラーを提供する場合、は、'http' を代わりを使用してみてください。If the videos provide an error on play, try using 'http' instead.

  8. 次に、 Start() メソッドを編集する必要があります。Next, the Start() method needs to be edited. このメソッドは、ユーザーは、視線のボタンを調べることでシーン (その結果、ビデオの切り替え) を切り替えるたびにトリガーされます。This method will be triggered every time the user switches scene (consequently switching the video) by looking at the Gaze Button.

        // Use this for initialization
        void Start()
        {
            Application.runInBackground = true;
            StartCoroutine(PlayVideo());
        }
    
  9. 次のStart() メソッド、挿入、 PlayVideo() IEnumeratorメソッドは、シームレスに (そのため途切れるは表示されません)、ビデオを開始するために使用されます。Following the Start() method, insert the PlayVideo() IEnumerator method, which will be used to start videos seamlessly (so no stutter is seen).

        private IEnumerator PlayVideo()
        {
            // create a new render texture to display the video 
            videoStreamRenderTexture = new RenderTexture(2160, 1440, 32, RenderTextureFormat.ARGB32);
    
            videoStreamRenderTexture.Create();
    
            // assign the render texture to the object material 
            Material sphereMaterial = sphere.GetComponent<Renderer>().sharedMaterial;
    
            //create a VideoPlayer component 
            videoPlayer = gameObject.AddComponent<VideoPlayer>();
    
            // Set the video to loop. 
            videoPlayer.isLooping = true;
    
            // Set the VideoPlayer component to play the video from the texture 
            videoPlayer.renderMode = VideoRenderMode.RenderTexture;
    
            videoPlayer.targetTexture = videoStreamRenderTexture;
    
            // Add AudioSource 
            audioSource = gameObject.AddComponent<AudioSource>();
    
            // Pause Audio play on Awake 
            audioSource.playOnAwake = true;
            audioSource.Pause();
    
            // Set Audio Output to AudioSource 
            videoPlayer.audioOutputMode = VideoAudioOutputMode.AudioSource;
            videoPlayer.source = VideoSource.Url;
    
            // Assign the Audio from Video to AudioSource to be played 
            videoPlayer.EnableAudioTrack(0, true);
            videoPlayer.SetTargetAudioSource(0, audioSource);
    
            // Assign the video Url depending on the current scene 
            switch (SceneManager.GetActiveScene().name)
            {
                case "VideoScene1":
                    videoPlayer.url = video1endpoint;
                    break;
    
                case "VideoScene2":
                    videoPlayer.url = video2endpoint;
                    break;
    
                default:
                    break;
            }
    
            //Set video To Play then prepare Audio to prevent Buffering 
            videoPlayer.Prepare();
    
            while (!videoPlayer.isPrepared)
            {
                yield return null;
            }
    
            sphereMaterial.mainTexture = videoStreamRenderTexture;
    
            //Play Video 
            videoPlayer.Play();
    
            //Play Sound 
            audioSource.Play();
    
            while (videoPlayer.isPlaying)
            {
                yield return null;
            }
        }
    
  10. このクラスは必要がある最後のメソッド、 ChangeScene() メソッドは、シーンの間でスワップするために使用されます。The last method you need for this class is the ChangeScene() method, which will be used to swap between scenes.

        public void ChangeScene()
        {
            SceneManager.LoadScene(SceneManager.GetActiveScene().name == "VideoScene1" ? "VideoScene2" : "VideoScene1");
        }
    

    ヒント

    ChangeScene() メソッドは便利な C を使用して#と呼ばれる機能、条件演算子します。The ChangeScene() method uses a handy C# feature called the Conditional Operator. これにより、条件をチェックできるし、値に基づいて返される 1 つのステートメント内ですべてのチェックの結果。This allows for conditions to be checked, and then values returned based on the outcome of the check, all within a single statement. この後に条件演算子の詳細へのリンクします。Follow this link to learn more about Conditional Operator.

  11. Visual Studio で Unity に戻る前に、変更を保存します。Save your changes in Visual Studio before returning to Unity.

  12. 戻る Unity エディターで、をクリックし、ドラッグ、 VideoController [から] {.underline} クラス、スクリプトフォルダーをMain Cameraオブジェクト、 階層パネル。Back in the Unity Editor, click and drag the VideoController class [from]{.underline} the Scripts folder to the Main Camera object in the Hierarchy Panel.

  13. をクリックして、 Main Cameraを見て、インスペクター パネルします。Click on the Main Camera and look at the Inspector Panel. 新しく追加されたスクリプト コンポーネント内が空の値を持つフィールドが表示されます。You will notice that within the newly added Script component, there is a field with an empty value. これは、参照フィールドが、コード内のパブリック変数を対象としたものです。This is a reference field, which targets the public variables within your code.

  14. ドラッグ、 InsideOutSphereオブジェクトから、階層パネルスロット、次の図に示すようにします。Drag the InsideOutSphere object from the Hierarchy Panel to the Sphere slot, as shown in the image below.

    VideoController クラスを作成 VideoController クラスを作成Create the VideoController class Create the VideoController class

第 6 章 - 視線の先クラスを作成します。Chapter 6 - Create the Gaze class

作成するため、このクラスは、 Raycastは beprojected を転送することから、 Main Cameraユーザーが見るオブジェクトを検出します。This class is responsible for creating a Raycast that will beprojected forward from the Main Camera, to detect which object the user is looking at. この場合、 Raycastで、ユーザーが探している場合を識別する必要があります、 GazeButtonシーン内のオブジェクトし、動作をトリガーします。In this case, the Raycast will need to identify if the user is looking at the GazeButton object in the scene and trigger a behavior.

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

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

  2. 右クリックし、プロジェクトパネルで、作成 C#スクリプト**。Right-click in the Project Panel, *Create *C# Script**. スクリプトの名前視線します。Name the script Gaze.

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

  4. 次の名前空間は、スクリプトの上部にあることを確認し、その他の要素を削除します。Ensure the following namespace is at the top of the script, and remove any others:

    using UnityEngine;
    
  5. 内で、次の変数を追加し、視線クラス。Then add the following variables inside the Gaze class:

        /// <summary> 
        /// Provides Singleton-like behaviour to this class. 
        /// </summary> 
        public static Gaze instance;
    
        /// <summary> 
        /// Provides a reference to the object the user is currently looking at. 
        /// </summary> 
        public GameObject FocusedGameObject { get; private set; }
    
        /// <summary> 
        /// Provides a reference to compare whether the user is still looking at 
        /// the same object (and has not looked away). 
        /// </summary> 
        private GameObject oldFocusedObject = null;
    
        /// <summary> 
        /// Max Ray Distance 
        /// </summary> 
        float gazeMaxDistance = 300;
    
        /// <summary> 
        /// Provides whether an object has been successfully hit by the raycast. 
        /// </summary> 
        public bool Hit { get; private set; }
    
  6. コードをAwake()Start() 今すぐメソッドを追加する必要があります。Code for the Awake() and Start() methods now needs to be added.

        private void Awake()
        {
            // Set this class to behave similar to singleton 
            instance = this;
        }
    
        void Start()
        {
            FocusedGameObject = null;
        }
    
  7. 次のコードを追加、 Update() メソッドは、Raycast のプロジェクトをターゲット ヒットを検出します。Add the following code in the Update() method to project a Raycast and detect the target hit:

        void Update()
        {
            // Set the old focused gameobject. 
            oldFocusedObject = FocusedGameObject;
            RaycastHit hitInfo;
    
            // Initialise Raycasting. 
            Hit = Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward, out hitInfo, gazeMaxDistance);
    
            // Check whether raycast has hit. 
            if (Hit == true)
            {
                // Check whether the hit has a collider. 
                if (hitInfo.collider != null)
                {
                    // Set the focused object with what the user just looked at. 
                    FocusedGameObject = hitInfo.collider.gameObject;
                }
                else
                {
                    // Object looked on is not valid, set focused gameobject to null. 
                    FocusedGameObject = null;
                }
            }
            else
            {
                // No object looked upon, set focused gameobject to null.
                FocusedGameObject = null;
            }
    
            // Check whether the previous focused object is this same 
            // object (so to stop spamming of function). 
            if (FocusedGameObject != oldFocusedObject)
            {
                // Compare whether the new Focused Object has the desired tag we set previously. 
                if (FocusedGameObject.CompareTag("GazeButton"))
                {
                    FocusedGameObject.SetActive(false);
                    VideoController.instance.ChangeScene();
                }
            }
        }
    
  8. Visual Studio で Unity に戻る前に、変更を保存します。Save your changes in Visual Studio before returning to Unity.

  9. クリックしてドラッグし、視線Scripts フォルダーからクラスの Main Camera オブジェクトを階層パネル。Click and drag the Gaze class from the Scripts folder to the Main Camera object in the Hierarchy Panel.

第 7 章 – セットアップ、2 つの Unity シーンChapter 7 - Setup the two Unity Scenes

この章の目的は、2 つのシーンでは、ビデオ ストリームを各ホストをセットアップすることです。The purpose of this Chapter is to setup the two scenes, each hosting a video to stream. 既に作成してシーンを重複していますが必要はありません、もう一度設定するには、新しいシーンを編集し、ように、 GazeButtonオブジェクトは、別の場所ではあり、異なる外観です。You will duplicate the scene you have already created, so that you do not need to set it up again, though you will then edit the new scene, so that the GazeButton object is in a different location and has a different appearance. これは、シーンの間で変更する方法を説明します。This is to show how to change between scenes.

  1. これにはファイル > としてシーンを保存しています..保存ウィンドウが表示されます。Do this by going to File > Save Scene as.... A save window will appear. をクリックして、新しいフォルダーボタンをクリックします。Click the New folder button.

    第 7 章 – セットアップ、2 つの Unity シーン

  2. フォルダーの名前シーンします。Name the folder Scenes.

  3. Save Sceneウィンドウは開いたままになっています。The Save Scene window will still be open. 新たに作成した開くシーンフォルダー。Open your newly created Scenes folder.

  4. ファイル名: テキスト フィールドに「 VideoScene1、キーを押します保存します。In the File name: text field, type VideoScene1, then press Save.

  5. Unity で開く、シーンフォルダー、および左クリック、 VideoScene1ファイル。Back in Unity, open your Scenes folder, and left-click your VideoScene1 file. キーボードを使用してキーを押しますCtrl + Dそのシーンは、重複します。Use your keyboard, and press Ctrl + D you will duplicate that scene

    ヒント

    複製に移動してコマンドを実行することも編集 > が重複していますします。The Duplicate command can also be performed by navigating to Edit > Duplicate.

  6. Unity は自動的に、シーン名の番号をインクリメントが、以前に挿入されたコードと一致することを確認するか、チェックします。Unity will automatically increment the scene names number, but check it anyway, to ensure it matches the previously inserted code.

    おくVideoScene1VideoScene2します。You should have VideoScene1 and VideoScene2.

  7. 移動すると、2 つのシーンファイル > Build Settingsします。With your two scenes, go to File > Build Settings. Build Settingsウィンドウを開いて、ドラッグ、シーン、ビルド内のシーンセクション。With the Build Settings window open, drag your scenes to the Scenes in Build section.

    第 7 章 - 2 つの Unity シーンをセットアップします。

    ヒント

    シーンの両方を選択することができます、シーンで保持しているフォルダに、 Ctrlボタンをクリックすると、各シーンを左クリックし、最後に両方の間でドラッグします。You can select both of your scenes from your Scenes folder through holding the Ctrl button, and then left-clicking each scene, and finally drag both across.

  8. 閉じる、 Build Settingsウィンドウ、およびダブルクリックVideoScene2します。Close the Build Settings window, and double click on VideoScene2.

  9. 開いている 2 つ目のシーンを をクリックして、 GazeButtonの子オブジェクト、 InsideOutSphere、し、その変換を次のように設定します。With the second scene open, click on the GazeButton child object of the InsideOutSphere, and set its Transform as follows:

    変換の位置TRANSFORM - POSITION
    X 0X 0 Y 1.3Y 1.3 Z 3.6Z 3.6
    変換の回転TRANSFORM - ROTATION
    X 0X 0 Y 0Y 0 Z 0Z 0
    変換のスケールTRANSFORM - SCALE
    X 1X 1 Y 1Y 1 Z 1Z 1
  10. GazeButtonが選択されている参照に子、インスペクターで、メッシュ フィルターします。With the GazeButton child still selected, look at the Inspector and at the Mesh Filter. 次に、ほとんどのターゲットをクリックして、メッシュ参照フィールド。Click the little target next to the Mesh reference field:

    第 7 章 - 2 つの Unity シーンをセットアップします。

  11. Aメッシュ選択ポップアップ ウィンドウが表示されます。A Select Mesh popup window will appear. ダブルクリックして、キューブの一覧からメッシュ資産します。Double click the Cube mesh from the list of Assets.

    第 7 章 - 2 つの Unity シーンをセットアップします。

  12. メッシュ フィルター更新、およびようになりますが、キューブします。The Mesh Filter will update, and now be a Cube. をクリックして、歯車隣にアイコン球 Collider をクリックコンポーネントの削除、このオブジェクトから、コライダーを削除します。Now, click the Gear icon next to Sphere Collider and click Remove Component, to delete the collider from this object.

    第 7 章 - 2 つの Unity シーンをセットアップします。

  13. GazeButtonクリックしてが選択されている、コンポーネントの追加の下部にあるボタン、インスペクターします。With the GazeButton still selected, click the Add Component button at the bottom of the Inspector. 検索フィールドに「ボックス、および足場に Box Colliderオプションを選択できます--を追加する をクリック、足場に Box ColliderGazeButtonオブジェクト.In the search field, type box, and Box Collider will be an option -- click that, to add a Box Collider to your GazeButton object.

    第 7 章 - 2 つの Unity シーンをセットアップします。

  14. GazeButtonが部分的に更新されました、外観が異なる、ただしはこれで新規に作成するマテリアルいるため、まったく違ってしてよりも、別のオブジェクトとして認識する方が簡単ですが、最初のシーン内のオブジェクト。The GazeButton is now partially updated, to look different, however, you will now create a new Material, so that it looks completely different, and is easier to recognize as a different object, than the object in the first scene.

  15. 移動し、資料フォルダー内で、プロジェクト パネルします。Navigate to your Materials folder, within the Project Panel. 重複しています、 ButtonMaterialマテリアル (キーを押してCtrl + Dキーボード、または左クリックで、マテリアル、し、編集ファイル メニュー オプションを選択し複製)。Duplicate the ButtonMaterial Material (press Ctrl + D on the keyboard, or left-click the Material, then from the Edit file menu option, select Duplicate).

    第 7 章 - セットアップ、2 つの Unity シーン 章 7 - 2 つの Unity シーンをセットアップします。Chapter 7 -- Setup the two Unity Scenes Chapter 7 -- Setup the two Unity Scenes

  16. 新しいButtonMaterialマテリアル (という名前ButtonMaterial 1)、内で、インスペクター、クリックして、 Albedo色ウィンドウです。Select the new ButtonMaterial Material (here named ButtonMaterial 1), and within the Inspector, click the Albedo color window. ポップアップが表示され、別の色を選択できます (などのどちらを選択) し、ポップアップを閉じます。A popup will appear, where you can select another color (choose whichever you like), then close the popup. マテリアルは独自のインスタンスをしては異なる元。The Material will be its own instance, and different to the original.

    第 7 章 - 2 つの Unity シーンをセットアップします。

  17. 新しいドラッグマテリアル上に、 GazeButton子がここでは最初のシーン ボタンから簡単に区別できるように完全にそのファイルの場所を更新します。Drag the new Material onto the GazeButton child, to now completely update its look, so that it is easily distinguishable from the first scenes button.

    第 7 章 - 2 つの Unity シーンをセットアップします。

  18. この時点で、UWP プロジェクトをビルドする前に、エディターでプロジェクトをテストできます。At this point you can test the project in the Editor before building the UWP project.

    • キーを押して、再生ボタン、エディターヘッドホンを着用とします。Press the Play button in the Editor and wear your headset.

      第 7 章 - 2 つの Unity シーンをセットアップします。

  19. 2 つを見てGazeButton最初と 2 番目のビデオを切り替えるオブジェクト。Look at the two GazeButton objects to switch between the first and second video.

第 8 章 - UWP ソリューションのビルドChapter 8 - Build the UWP Solution

エディターにエラーが含まれていないことを確認して後、は、ビルドする準備が整ったらします。Once you have ensured that the editor has no errors, you are ready to Build.

作成する方法。To Build:

  1. 現在のシーンを保存 をクリックしてファイル > 保存します。Save the current scene by clicking on File > Save.

  2. チェック ボックスと呼ばれるUnity C#プロジェクト(これは重要なビルドが完了した後に、クラスを編集することを許可することがあるため)。Check the box called Unity C# Projects (this is important because it will allow you to edit the classes after build is completed).

  3. 移動してファイル > Build Settings、 をクリックしてビルドします。Go to File > Build Settings, click on Build.

  4. ソリューションを構築するフォルダーを選択するように促されます。You will be prompted to select the folder where you want to buildthe Solution.

  5. 作成、ビルドフォルダーとそのフォルダー内には、任意の適切な名前を別のフォルダーを作成します。Create a BUILDS folder and within that folder create another folder with an appropriate name of your choice.

  6. 新しいフォルダーをクリックし、クリックしてフォルダーの選択、その場所にビルドを開始する、そのフォルダーを選択するようにします。Click your new folder and then click Select Folder, so to choose that folder, to begin the build at that location.

    第 8 章 - UWP ソリューションをビルドする 章 - 8 UWP ソリューションをビルドします。Chapter 8 -- Build the UWP Solution Chapter 8 -- Build the UWP Solution

  7. 1 回 Unity には、(少し時間がかかる場合があります) ビルドが完了したが開き、ファイル エクスプ ローラービルドの位置にあるウィンドウ。Once Unity has finished building (it might take some time), it will open a File Explorer window at the location of your build.

9 -」の章をローカル コンピューターに展開します。Chapter 9 - Deploy on Local Machine

ビルドが完了したら、ファイル エクスプ ローラービルドの場所にウィンドウが表示されます。Once the build has been completed, a File Explorer window will appear at the location of your build. という名前のフォルダーをビルドを開き、Visual Studio 2017 でのソリューションを開くには、そのフォルダー内のソリューション (.sln) ファイルをダブルクリックします。Open the Folder you named and built to, then double click on the solution (.sln) file within that folder, to open your solution with Visual Studio 2017.

実行するですだけが、コンピューターにアプリのデプロイ (またはローカル マシン)。The only thing left to do is deploy your app to your computer (or Local Machine).

ローカル コンピューターに展開します。To deploy to Local Machine:

  1. Visual Studio 2017が作成されたソリューション ファイルを開きます。In Visual Studio 2017, open the solution file that has just been created.

  2. ソリューション プラットフォームx86、ローカル コンピューターします。In the Solution Platform, select x86, Local Machine.

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

    ローカル コンピューター上の第 9 章 - 展開します。

  4. これで、ソリューションにすべてのパッケージを復元する必要があります。You will now need to restore any packages to your solution. 右クリックし、ソリューション、 をクリックソリューションの NuGet パッケージを復元しています.Right-click on your Solution, and click Restore NuGet Packages for Solution...

    注意

    これは Unity が組み込まれているパッケージは、ローカル コンピューターの参照を使用する対象とする必要があるためです。This is done because the packages which Unity built need to be targeted to work with your local machines references.

  5. 移動してビルド メニューの をクリックソリューションの配置をコンピューターにアプリケーションをサイドローディングします。Go to Build menu and click on Deploy Solution to sideload the application to your machine. Visual Studio は最初にビルドし、アプリケーションをデプロイします。Visual Studio will first build and then deploy your application.

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

    ローカル コンピューター上の第 9 章 - 展開します。

内には、複合現実のアプリケーションを実行するときに、 InsideOutSphereアプリ内で使用したモデル。When you run the Mixed Reality application, you will you be within the InsideOutSphere model which you used within your app. この球体になります、ビデオをストリーミングするのには、(これは、この種類のパースペクティブのアスペクトが)、受信するビデオの 360 度ビューを提供します。This sphere will be where the video will be streamed to, providing a 360-degree view, of the incoming video (which was filmed for this kind of perspective). 驚かないでください、アプリが、使用可能なインターネットの速度の対象は、ビデオがいくつかの読み込みに数秒を受け取る場合にフェッチされ、ダウンロードし、アプリにストリーミングするために、ビデオが必要です。Do not be surprised if the video takes a couple of seconds to load, your app is subject to your available Internet speed, as the video needs to be fetched and then downloaded, so to stream into your app. 準備ができたら、シーンを変更して、gazing 赤い球にして、2 番目のビデオを開きます。When you are ready, change scenes and open your second video, by gazing at the red sphere! 自由に戻ると、2 つ目のシーン内の青色の立方を使用して!Then feel free to go back, using the blue cube in the second scene!

完成した Azure Media Service アプリケーションYour finished Azure Media Service application

これで、360 ビデオをストリーミングする Azure Media Service を利用している mixed reality アプリを構築します。Congratulations, you built a mixed reality app that leverages the Azure Media Service to stream 360 videos.

ラボの結果

ラボの結果

ボーナスの演習Bonus Exercises

手順 1Exercise 1

のみ 1 つのシーンを使用して、このチュートリアルでビデオを変更することは可能になります。It is entirely possible to only use a single scene to change videos within this tutorial. アプリケーションを試してみてを 1 つのシーンに!Experiment with your application and make it into a single scene! おそらく、ミックスにも別のビデオを追加します。Perhaps even add another video to the mix.

手順 2Exercise 2

Azure と Unity、実験し、ビデオをインターネット接続の強度によって、別のファイル サイズを自動的に選択するアプリの機能を実装しようとしてください。Experiment with Azure and Unity, and attempt to implement the ability for the app to automatically select a video with a different file size, depending on the strength of an Internet connection.