認識シミュレーションPerception simulation

アプリの自動テストをビルドしますか?Do you want to build an automated test for your app? テストをコンポーネントレベルの単体テストよりも先に実行し、アプリをエンドツーエンドで実際に練習しますか。Do you want your tests to go beyond component-level unit testing and really exercise your app end-to-end? 認識シミュレーションは、探しているものです。Perception Simulation is what you're looking for. 認識シミュレーションライブラリは、アプリに人間と世界の入力データを送信して、テストを自動化できるようにします。The Perception Simulation library sends human and world input data to your app so you can automate your tests. たとえば、特定の反復可能な位置に対する人間の入力をシミュレートし、ジェスチャを実行したり、モーションコントローラーを使用したりすることができます。For example, you can simulate the input of a human looking to a specific, repeatable position and then performing a gesture or using a motion controller.

認識シミュレーションでは、このようなシミュレートされた入力を物理 HoloLens、HoloLens エミュレーター (第1世代)、HoloLens 2 エミュレーター、または Mixed Reality ポータルがインストールされている PC に送信できます。Perception Simulation can send simulated input like this to a physical HoloLens, the HoloLens emulator (1st gen), the HoloLens 2 Emulator, or a PC with Mixed Reality Portal installed. 認識シミュレーションは、混合の現実のデバイスでライブセンサーをバイパスし、デバイスで実行されているアプリケーションにシミュレートされた入力を送信します。Perception Simulation bypasses the live sensors on a Mixed Reality device and sends simulated input to applications running on the device. アプリケーションでは、これらの入力イベントを、常に使用するものと同じ Api を使用して受信します。また、実際のセンサーでの実行と知覚シミュレーションでの実行の違いを示すことはできません。Applications receive these input events through the same APIs they always use and can't tell the difference between running with real sensors versus running with Perception Simulation. 認識シミュレーションは、シミュレートされた入力を HoloLens 仮想マシンに送信するために HoloLens エミュレーターで使用されるものと同じテクノロジです。Perception Simulation is the same technology used by the HoloLens emulators to send simulated input to the HoloLens Virtual Machine.

コードでのシミュレーションの使用を開始するには、まず IPerceptionSimulationManager オブジェクトを作成します。To begin using simulation in your code, start by creating an IPerceptionSimulationManager object. そのオブジェクトから、コマンドを発行して、"人間" のようなシミュレートされた "ユーザー" のプロパティを制御することができます。これには、head 位置、針、ジェスチャなどがあります。また、モーションコントローラーを有効にしたり操作したりすることができます。From that object, you can issue commands to control properties of a simulated "human", including head position, hand position, and gestures, and you can enable and manipulate motion controllers.

認識シミュレーションのための Visual Studio プロジェクトの設定Setting Up a Visual Studio Project for Perception Simulation

  1. 開発用 PC にHoloLens エミュレーターをインストールします。Install the HoloLens emulator on your development PC. エミュレーターには、認識シミュレーションに使用するライブラリが含まれています。The emulator includes the libraries you will use for Perception Simulation.
  2. 新しい Visual Studio C# デスクトッププロジェクトを作成します (コンソールプロジェクトは、開始するのに適しています)。Create a new Visual Studio C# desktop project (a Console Project works great to get started).
  3. 次のバイナリを参照としてプロジェクトに追加します (プロジェクト >追加 >参照...)。これらは、 \ HoloLens 2 エミュレーターの% ProgramFiles (x86)% \ MICROSOFT xde \ 10.0.18362.0 など、% ProgramFiles (X86)% \ microsoft xde (バージョン) で見つけることができます。Add the following binaries to your project as references (Project->Add->Reference...). You can find them in %ProgramFiles(x86)%\Microsoft XDE\(version), such as %ProgramFiles(x86)%\Microsoft XDE\10.0.18362.0 for the HoloLens 2 Emulator. (注: バイナリは HoloLens 2 エミュレーターに含まれていますが、デスクトップ上の Windows Mixed Reality でも機能します)。ある.(Note: although the binaries are part of the HoloLens 2 Emulator, they also work for Windows Mixed Reality on the desktop.) a. 認識シミュレーション用の PerceptionSimulationManager.Interop.dll マネージ C# ラッパー。PerceptionSimulationManager.Interop.dll - Managed C# wrapper for Perception Simulation. b.b. PerceptionSimulationRest.dll-HoloLens またはエミュレーターに対する web ソケット通信チャネルを設定するためのライブラリです。PerceptionSimulationRest.dll - Library for setting up a web-socket communication channel to the HoloLens or emulator. c.c. シミュレーション用の SimulationStream.Interop.dll 共有型。SimulationStream.Interop.dll - Shared types for simulation.
  4. 実装バイナリ PerceptionSimulationManager.dll をプロジェクト a に追加します。Add the implementation binary PerceptionSimulationManager.dll to your project a. まず、これをバイナリとしてプロジェクトに追加します (プロジェクト >追加 >既存の項目...)。プロジェクトソースフォルダーにコピーしないように、リンクとして保存します。First add it as a binary to the project (Project->Add->Existing Item...). Save it as a link so that it doesn't copy it to your project source folder. PerceptionSimulationManager.dll をリンク b としてプロジェクトに追加し ます。Add PerceptionSimulationManager.dll to the project as a link b. 次に、ビルド時に出力フォルダーにコピーされていることを確認します。Then make sure that it get's copied to your output folder on build. これは、バイナリのプロパティシートにあります。This is in the property sheet for the binary . 出力ディレクトリにコピーする PerceptionSimulationManager.dll をマークしますMark PerceptionSimulationManager.dll to copy to the output directory
  5. アクティブソリューションプラットフォームを x64 に設定します。Set your active solution platform to x64. (Configuration Manager を使用して、x64 用のプラットフォームエントリがまだ存在しない場合は作成します)。(Use the Configuration Manager to create a Platform entry for x64 if one does not already exist.)

IPerceptionSimulation Manager オブジェクトの作成Creating an IPerceptionSimulation Manager Object

シミュレーションを制御するには、IPerceptionSimulationManager オブジェクトから取得したオブジェクトに更新を発行します。To control simulation, you'll issue updates to objects retrieved from an IPerceptionSimulationManager object. 最初の手順では、そのオブジェクトを取得し、ターゲットデバイスまたはエミュレーターに接続します。The first step is to get that object and connect it to your target device or emulator. エミュレーターの IP アドレスを取得するには、ツールバーの [デバイスポータル] ボタンをクリックします。You can get the IP address of your emulator by clicking on the Device Portal button in the toolbar

デバイスポータルを開くアイコン開いている デバイスポータル : エミュレーターで HoloLens OS の Windows デバイスポータルを開きます。Open Device Portal icon Open Device Portal : Open the Windows Device Portal for the HoloLens OS in the emulator. Windows Mixed Reality の場合、この設定は、[デバイスポータルを有効にする] の下にある [Connect & Security] (セキュリティの更新) の下にある [設定] アプリで取得できます。For Windows Mixed Reality, this can be retrieved in the Settings app under "Update & Security", then "For developers" in the "Connect using:" section under "Enable Device Portal." IP アドレスとポートの両方に注意してください。Be sure to note both the IP address and port.

まず、RestSimulationStreamSink を呼び出して、RestSimulationStreamSink オブジェクトを取得します。First, you'll call RestSimulationStreamSink.Create to get a RestSimulationStreamSink object. これは、http 接続を介して制御するターゲットデバイスまたはエミュレーターです。This is the target device or emulator that you will control over an http connection. コマンドは、デバイスまたはエミュレーターで実行されている Windows デバイスポータル に渡され、処理されます。Your commands will be passed to and handled by the Windows Device Portal running on the device or emulator. オブジェクトを作成するには、次の4つのパラメーターが必要です。The four parameters you'll need to create an object are:

  • Uri uri-ターゲットデバイスの IP アドレス (例: " https://123.123.123.123 " または " https://123.123.123.123:50080 ")Uri uri - IP address of the target device (e.g., "https://123.123.123.123" or "https://123.123.123.123:50080")
  • System .Net. NetworkCredential 資格情報-ターゲットデバイスまたはエミュレーターで Windows デバイスポータル に接続するためのユーザー名/パスワード。System.Net.NetworkCredential credentials - Username/password for connecting to the Windows Device Portal on the target device or emulator. ローカルアドレスを使用してエミュレーターに接続している場合 (例: 168 ... *) 同じ PC で、すべての資格情報が受け入れられます。If you are connecting to the emulator via its local address (e.g., 168. . .*) on the same PC, any credentials will be accepted.
  • bool normal-通常の優先度の場合は True、低優先度の場合は false。bool normal - True for normal priority, false for low priority. テストシナリオでは、通常、これを true に設定して、テストで制御を行うことができます。You generally want to set this to true for test scenarios, which allows your test to take control. エミュレーターと Windows Mixed Reality のシミュレーションでは、優先度の低い接続を使用します。The emulator and Windows Mixed Reality simulation use low priority connections. テストで優先度の低い接続も使用している場合は、最後に確立された接続が制御されます。If your test also uses a low priority connection, the most recently established connection will be in control.
  • CancellationToken は、非同期操作を取り消すためのトークンです。System.Threading.CancellationToken token - Token to cancel the async operation.

次に、IPerceptionSimulationManager を作成します。Second you will create the IPerceptionSimulationManager. これは、シミュレーションの制御に使用するオブジェクトです。This is the object you use to control simulation. これは、非同期メソッドでも実行する必要があることに注意してください。Note that this must also be done in an async method.

シミュレートされた人間を制御するControl the simulated Human

IPerceptionSimulationManager には、ISimulatedHuman オブジェクトを返すヒューマンプロパティがあります。An IPerceptionSimulationManager has a Human property that returns an ISimulatedHuman object. シミュレートされた人間を制御するには、このオブジェクトに対して操作を実行します。To control the simulated human, perform operations on this object. 次に例を示します。For example:

manager.Human.Move(new Vector3(0.1f, 0.0f, 0.0f))

C# コンソールアプリケーションの基本的なサンプルBasic Sample C# console application

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.PerceptionSimulation;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Task.Run(async () =>
            {
                RestSimulationStreamSink sink = null;
                CancellationToken token = new System.Threading.CancellationToken();

                try
                {
                    sink = await RestSimulationStreamSink.Create(
                        // use the IP address for your device/emulator
                        new Uri("https://169.254.227.115"),
                        // no credentials are needed for the emulator
                        new System.Net.NetworkCredential("", ""),
                        // normal priorty
                        true,
                        // cancel token
                        token);

                    IPerceptionSimulationManager manager = PerceptionSimulationManager.CreatePerceptionSimulationManager(sink);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }

                // Always close the sink to return control to the previous application.
                if (sink != null)
                {
                    await sink.Close(token);
                }
            });

            // If main exits, the process exits.  
            Console.WriteLine("Press any key to exit...");
            Console.ReadLine();
        }
    }
}

拡張サンプル C# コンソールアプリケーションExtended Sample C# console application

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.PerceptionSimulation;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            RestSimulationStreamSink sink = null;
            CancellationToken token = new System.Threading.CancellationToken();

            Task.Run(async () =>
            {
                try
                {
                    sink = await RestSimulationStreamSink.Create(
                        // use the IP address for your device/emulator
                        new Uri("https://169.254.227.115"),
                        // no credentials are needed for the emulator
                        new System.Net.NetworkCredential("", ""),
                        // normal priorty
                        true,
                        // cancel token
                        token);

                    IPerceptionSimulationManager manager = PerceptionSimulationManager.CreatePerceptionSimulationManager(sink);

                    // Now, we'll simulate a sequence of actions.
                    // Sleeps in-between each action give time to the system
                    // to be able to properly react.
                    // This is just an example. A proper automated test should verify
                    // that the app has behaved correctly
                    // before proceeding to the next step, instead of using Sleeps.

                    // Activate the right hand
                    manager.Human.RightHand.Activated = true;

                    // Simulate Bloom gesture, which should cause Shell to disappear
                    manager.Human.RightHand.PerformGesture(SimulatedGesture.Home);
                    Thread.Sleep(2000);

                    // Simulate Bloom gesture again... this time, Shell should reappear
                    manager.Human.RightHand.PerformGesture(SimulatedGesture.Home);
                    Thread.Sleep(2000);

                    // Simulate a Head rotation down around the X axis
                    // This should cause gaze to aim about the center of the screen
                    manager.Human.Head.Rotate(new Rotation3(0.04f, 0.0f, 0.0f));
                    Thread.Sleep(300);

                    // Simulate a finger press & release
                    // Should cause a tap on the center tile, thus launching it
                    manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerPressed);
                    Thread.Sleep(300);
                    manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerReleased);
                    Thread.Sleep(2000);

                    // Simulate a second finger press & release
                    // Should activate the app that was launched when the center tile was clicked
                    manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerPressed);
                    Thread.Sleep(300);
                    manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerReleased);
                    Thread.Sleep(5000);

                    // Simulate a Head rotation towards the upper right corner
                    manager.Human.Head.Rotate(new Rotation3(-0.14f, 0.17f, 0.0f));
                    Thread.Sleep(300);

                    // Simulate a third finger press & release
                    // Should press the Remove button on the app
                    manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerPressed);
                    Thread.Sleep(300);
                    manager.Human.RightHand.PerformGesture(SimulatedGesture.FingerReleased);
                    Thread.Sleep(2000);

                    // Simulate Bloom gesture again... bringing the Shell back once more
                    manager.Human.RightHand.PerformGesture(SimulatedGesture.Home);
                    Thread.Sleep(2000);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            });

            // If main exits, the process exits.  
            Console.WriteLine("Press any key to exit...");
            Console.ReadLine();

            // Always close the sink to return control to the previous application.
            if (sink != null)
            {
                sink.Close(token);
            }
        }
    }
}

6つの自由度コントローラーに関する注意Note on 6-DOF controllers

シミュレートされた6つの自由コントローラーでメソッドのプロパティを呼び出す前に、コントローラーをアクティブにする必要があります。Before calling any properties on methods on a simulated 6-DOF controller, you must activate the controller. そうしないと、例外が発生します。Not doing so will result in an exception. Windows 10 2019 年5月の更新プログラムでは、ISimulatedSixDofController オブジェクトの Status プロパティを SimulatedSixDofControllerStatus に設定することにより、シミュレートされた6つの自由度コントローラーをインストールしてアクティブ化することができます。Starting with the Windows 10 May 2019 Update, simulated 6-DOF controllers can be installed and activated by setting the Status property on the ISimulatedSixDofController object to SimulatedSixDofControllerStatus.Active. Windows 10 10 月2018更新プログラムおよびそれ以前のバージョンでは、\Windows\System32 フォルダーにある PerceptionSimulationDevice ツールを呼び出して、シミュレートされた6自由コントローラーを最初に個別にインストールする必要があります。In the Windows 10 October 2018 Update and earlier, you must separately install a simulated 6-DOF controller first by calling the PerceptionSimulationDevice tool located in the \Windows\System32 folder. このツールの使用方法は次のとおりです。The usage of this tool is as follows:

    PerceptionSimulationDevice.exe <action> 6dof <instance>

次に例を示します。For example

    PerceptionSimulationDevice.exe i 6dof 1

サポートされているアクションは次のとおりです。Supported actions are:

  • i = インストールi = install
  • q = クエリq = query
  • r = 削除r = remove

サポートされているインスタンスは次のとおりです。Supported instances are:

  • 1 = 左6自由コントローラー1 = the left 6-DOF controller
  • 2 = 右6自由コントローラー2 = the right 6-DOF controller

プロセスの終了コードは、成功 (ゼロの戻り値) または失敗 (0 以外の戻り値) を示します。The exit code of the process will indicate success (a zero return value) or failure (a non-zero return value). ' Q ' アクションを使用してコントローラーがインストールされているかどうかを照会する場合、コントローラーがまだインストールされていない場合は戻り値が0になり、コントローラーがインストールされている場合は1が返されます。When using the 'q' action to query whether or not a controller is installed, the return value will be zero (0) if the controller is not already installed or one (1) if the controller is installed.

Windows 10 10 月2018更新プログラムまたはそれ以前のバージョンでコントローラーを削除する場合は、最初に API を使用して状態を Off に設定してから、PerceptionSimulationDevice ツールを呼び出します。When removing a controller on the Windows 10 October 2018 Update or earlier, set its status to Off via the API first, then call the PerceptionSimulationDevice tool.

このツールは管理者として実行する必要があることに注意してください。Note that this tool must be run as Administrator.

API リファレンスAPI Reference

PerceptionSimulation. SimulatedDeviceTypeMicrosoft.PerceptionSimulation.SimulatedDeviceType

シミュレートされたデバイスの種類について説明しますDescribes a simulated device type

public enum SimulatedDeviceType
{
    Reference = 0
}

PerceptionSimulation. SimulatedDeviceTypeMicrosoft.PerceptionSimulation.SimulatedDeviceType.Reference

架空の参照デバイス (PerceptionSimulationManager の既定値)A fictitious reference device, the default for PerceptionSimulationManager

PerceptionSimulation... TrackermodeMicrosoft.PerceptionSimulation.HeadTrackerMode

ヘッドトラッカーモードについて説明します。Describes a head tracker mode

public enum HeadTrackerMode
{
    Default = 0,
    Orientation = 1,
    Position = 2
}

PerceptionSimulation。既定値の場合Microsoft.PerceptionSimulation.HeadTrackerMode.Default

既定のヘッド追跡。Default Head Tracking. これは、システムが実行時の状況に基づいて最適なヘッド追跡モードを選択することを意味します。This means the system may select the best head tracking mode based upon runtime conditions.

PerceptionSimulation のようになります。Microsoft.PerceptionSimulation.HeadTrackerMode.Orientation

方向のみのヘッド追跡。Orientation Only Head Tracking. これは、追跡される位置が信頼できない可能性があり、head 位置に依存する一部の機能が使用できない場合があることを意味します。This means that the tracked position may not be reliable, and some functionality dependent on head position may not be available.

PerceptionSimulation を移動します。Microsoft.PerceptionSimulation.HeadTrackerMode.Position

位置指定のヘッド追跡。Positional Head Tracking. これは、追跡されるヘッドの位置と向きは両方とも信頼できることを意味します。This means that the tracked head position and orientation are both reliable

PerceptionSimulation. SimulatedGestureMicrosoft.PerceptionSimulation.SimulatedGesture

シミュレートされたジェスチャについて説明しますDescribes a simulated gesture

public enum SimulatedGesture
{
    None = 0,
    FingerPressed = 1,
    FingerReleased = 2,
    Home = 4,
    Max = Home
}

PerceptionSimulation. SimulatedGestureMicrosoft.PerceptionSimulation.SimulatedGesture.None

ジェスチャがないことを示すために使用される sentinel 値。A sentinel value used to indicate no gestures.

PerceptionSimulation. SimulatedGesture. FingerPressedMicrosoft.PerceptionSimulation.SimulatedGesture.FingerPressed

指押下ジェスチャ。A finger pressed gesture.

PerceptionSimulation. SimulatedGesture. FingerReleasedMicrosoft.PerceptionSimulation.SimulatedGesture.FingerReleased

指で離されたジェスチャ。A finger released gesture.

PerceptionSimulation. SimulatedGestureMicrosoft.PerceptionSimulation.SimulatedGesture.Home

ホーム/システムジェスチャ。The home/system gesture.

PerceptionSimulation. SimulatedGestureMicrosoft.PerceptionSimulation.SimulatedGesture.Max

有効なジェスチャの最大数。The maximum valid gesture.

PerceptionSimulation. SimulatedSixDofControllerStatusMicrosoft.PerceptionSimulation.SimulatedSixDofControllerStatus

シミュレートされた6自由コントローラーの可能性のある状態。The possible states of a simulated 6-DOF controller.

public enum SimulatedSixDofControllerStatus
{
    Off = 0,
    Active = 1,
    TrackingLost = 2,
}

PerceptionSimulation. SimulatedSixDofControllerStatusMicrosoft.PerceptionSimulation.SimulatedSixDofControllerStatus.Off

6自由コントローラーがオフになっています。The 6-DOF controller is turned off.

PerceptionSimulation. SimulatedSixDofControllerStatusMicrosoft.PerceptionSimulation.SimulatedSixDofControllerStatus.Active

6自由コントローラーが有効になり、追跡されます。The 6-DOF controller is turned on and tracked.

PerceptionSimulation. SimulatedSixDofControllerStatus. TrackingLostMicrosoft.PerceptionSimulation.SimulatedSixDofControllerStatus.TrackingLost

6自由度コントローラーはオンになっていますが、追跡することはできません。The 6-DOF controller is turned on but cannot be tracked.

PerceptionSimulation. SimulatedSixDofControllerButtonMicrosoft.PerceptionSimulation.SimulatedSixDofControllerButton

シミュレートされた6自由コントローラーでサポートされるボタン。The supported buttons on a simulated 6-DOF controller.

public enum SimulatedSixDofControllerButton
{
    None = 0,
    Home = 1,
    Menu = 2,
    Grip = 4,
    TouchpadPress = 8,
    Select = 16,
    TouchpadTouch = 32,
    Thumbstick = 64,
    Max = Thumbstick
}

PerceptionSimulation. SimulatedSixDofControllerButtonMicrosoft.PerceptionSimulation.SimulatedSixDofControllerButton.None

ボタンを指定するために使用される sentinel 値。A sentinel value used to indicate no buttons.

PerceptionSimulation. SimulatedSixDofControllerButtonMicrosoft.PerceptionSimulation.SimulatedSixDofControllerButton.Home

[ホーム] ボタンが押された状態になります。The Home button is pressed.

PerceptionSimulation. SimulatedSixDofControllerButton. メニューMicrosoft.PerceptionSimulation.SimulatedSixDofControllerButton.Menu

メニューボタンが押された状態になります。The Menu button is pressed.

PerceptionSimulation. SimulatedSixDofControllerButtonMicrosoft.PerceptionSimulation.SimulatedSixDofControllerButton.Grip

グリップボタンが押された状態になります。The Grip button is pressed.

PerceptionSimulation. SimulatedSixDofControllerButton. TouchpadPressMicrosoft.PerceptionSimulation.SimulatedSixDofControllerButton.TouchpadPress

タッチパッドが押された状態になります。The TouchPad is pressed.

PerceptionSimulation. SimulatedSixDofControllerButtonMicrosoft.PerceptionSimulation.SimulatedSixDofControllerButton.Select

[選択] ボタンが押された状態になります。The Select button is pressed.

PerceptionSimulation. SimulatedSixDofControllerButton. TouchpadTouchMicrosoft.PerceptionSimulation.SimulatedSixDofControllerButton.TouchpadTouch

タッチパッドがタッチされます。The TouchPad is touched.

PerceptionSimulation. SimulatedSixDofControllerButtonMicrosoft.PerceptionSimulation.SimulatedSixDofControllerButton.Thumbstick

サムスティックが押されています。The Thumbstick is pressed.

PerceptionSimulation. SimulatedSixDofControllerButtonMicrosoft.PerceptionSimulation.SimulatedSixDofControllerButton.Max

最大有効なボタン。The maximum valid button.

PerceptionSimulation. SimulatedEyesCalibrationStateMicrosoft.PerceptionSimulation.SimulatedEyesCalibrationState

シミュレートされた目の調整状態The calibration state of the simulated eyes

public enum SimulatedGesture
{
    Unavailable = 0,
    Ready = 1,
    Configuring = 2,
    UserCalibrationNeeded = 3
}

PerceptionSimulation. SimulatedEyesCalibrationState.Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState.Unavailable

目の調整は使用できません。The eyes calibration is unavailable.

PerceptionSimulation. SimulatedEyesCalibrationStateMicrosoft.PerceptionSimulation.SimulatedEyesCalibrationState.Ready

目が調整されました。The eyes have been calibrated. これが既定値です。This is the default value.

Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState.ConfigpostmanMicrosoft.PerceptionSimulation.SimulatedEyesCalibrationState.Configuring

目が調整されています。The eyes are being calibrated.

PerceptionSimulation. SimulatedEyesCalibrationState. UserCalibrationNeededMicrosoft.PerceptionSimulation.SimulatedEyesCalibrationState.UserCalibrationNeeded

目を調整する必要があります。The eyes need to be calibrated.

PerceptionSimulation. SimulatedHandJointTrackingAccuracyMicrosoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy

手の継手の追跡精度。The tracking accuracy of a joint of the hand.

public enum SimulatedHandJointTrackingAccuracy
{
    Unavailable = 0,
    Approximate = 1,
    Visible = 2
}

PerceptionSimulation. SimulatedHandJointTrackingAccuracy.Microsoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy.Unavailable

ジョイントは追跡されません。The joint is not tracked.

PerceptionSimulation. SimulatedHandJointTrackingAccuracyMicrosoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy.Approximate

ジョイント位置が推論されます。The joint position is inferred.

PerceptionSimulation. SimulatedHandJointTrackingAccuracyMicrosoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy.Visible

ジョイントは完全に追跡されます。The joint is fully tracked.

PerceptionSimulation. SimulatedHandPoseMicrosoft.PerceptionSimulation.SimulatedHandPose

手の継手の追跡精度。The tracking accuracy of a joint of the hand.

public enum SimulatedHandPose
{
    Closed = 0,
    Open = 1,
    Point = 2,
    Pinch = 3,
    Max = Pinch
}

PerceptionSimulation. SimulatedHandPoseMicrosoft.PerceptionSimulation.SimulatedHandPose.Closed

ハンドの指継手は、終了したポーズを反映するように構成されています。The hand's finger joints are configured to reflect a closed pose.

PerceptionSimulation. SimulatedHandPoseMicrosoft.PerceptionSimulation.SimulatedHandPose.Open

手の指継手は、オープンなポーズを反映するように構成されています。The hand's finger joints are configured to reflect an open pose.

PerceptionSimulation. SimulatedHandPoseMicrosoft.PerceptionSimulation.SimulatedHandPose.Point

ハンドの指継手は、ポイントのポーズを反映するように構成されています。The hand's finger joints are configured to reflect a pointing pose.

PerceptionSimulation. SimulatedHandPoseMicrosoft.PerceptionSimulation.SimulatedHandPose.Pinch

手の指継手は、ピンチのポーズを反映するように構成されています。The hand's finger joints are configured to reflect a pinching pose.

PerceptionSimulation. SimulatedHandPoseMicrosoft.PerceptionSimulation.SimulatedHandPose.Max

SimulatedHandPose の最大有効値。The maximum valid value for SimulatedHandPose.

PerceptionSimulation の状態Microsoft.PerceptionSimulation.PlaybackState

再生の状態を記述します。Describes the state of a playback.

public enum PlaybackState
{
    Stopped = 0,
    Playing = 1,
    Paused = 2,
    End = 3,
}

PerceptionSimulation が停止しました。Microsoft.PerceptionSimulation.PlaybackState.Stopped

記録は現在停止しており、再生の準備ができています。The recording is currently stopped and ready for playback.

PerceptionSimulation を再生します。Microsoft.PerceptionSimulation.PlaybackState.Playing

記録は現在再生中です。The recording is currently playing.

PerceptionSimulation が一時停止しました。Microsoft.PerceptionSimulation.PlaybackState.Paused

記録は現在一時停止されています。The recording is currently paused.

PerceptionSimulation を終了します。Microsoft.PerceptionSimulation.PlaybackState.End

記録が最後に達しました。The recording has reached the end.

PerceptionSimulation. Vector3Microsoft.PerceptionSimulation.Vector3

3D 空間の点またはベクターを表す3つのコンポーネントベクターについて説明します。Describes a 3 components vector, which might describe a point or a vector in 3D space.

public struct Vector3
{
    public float X;
    public float Y;
    public float Z;
    public Vector3(float x, float y, float z);
}

PerceptionSimulation. Vector3Microsoft.PerceptionSimulation.Vector3.X

ベクトルの X 成分。The X component of the vector.

PerceptionSimulation. Vector3Microsoft.PerceptionSimulation.Vector3.Y

ベクトルの Y 成分。The Y component of the vector.

PerceptionSimulation. Vector3Microsoft.PerceptionSimulation.Vector3.Z

ベクトルの Z 成分。The Z component of the vector.

#Ctor PerceptionSimulation (system.string、system.string、system.string) を (system.string) します。Microsoft.PerceptionSimulation.Vector3.#ctor(System.Single,System.Single,System.Single)

新しい Vector3 を構築します。Construct a new Vector3.

パラメーターParameters

  • x-ベクトルの x 成分。x - The x component of the vector.
  • y-ベクトルの y 成分。y - The y component of the vector.
  • z-ベクトルの z 成分。z - The z component of the vector.

PerceptionSimulation. Rotation3Microsoft.PerceptionSimulation.Rotation3

3つのコンポーネントのローテーションについて説明します。Describes a 3 components rotation.

public struct Rotation3
{
    public float Pitch;
    public float Yaw;
    public float Roll;
    public Rotation3(float pitch, float yaw, float roll);
}

PerceptionSimulation. Rotation3Microsoft.PerceptionSimulation.Rotation3.Pitch

X 軸を中心とする回転のピッチ成分。The Pitch component of the Rotation, down around the X axis.

PerceptionSimulation. Rotation3Microsoft.PerceptionSimulation.Rotation3.Yaw

Y 軸を中心とする回転のヨー要素。The Yaw component of the Rotation, right around the Y axis.

PerceptionSimulation. Rotation3Microsoft.PerceptionSimulation.Rotation3.Roll

Z 軸を中心とする回転のロールコンポーネント。The Roll component of the Rotation, right around the Z axis.

#Ctor PerceptionSimulation (system.string、system.string、system.string) を (system.string) します。Microsoft.PerceptionSimulation.Rotation3.#ctor(System.Single,System.Single,System.Single)

新しい Rotation3 を構築します。Construct a new Rotation3.

パラメーターParameters

  • ピッチ-回転のピッチ成分。pitch - The pitch component of the Rotation.
  • ヨー-回転のヨーコンポーネント。yaw - The yaw component of the Rotation.
  • roll-回転のロールコンポーネント。roll - The roll component of the Rotation.

PerceptionSimulation. SimulatedHandJointConfigurationMicrosoft.PerceptionSimulation.SimulatedHandJointConfiguration

シミュレートされたハンドでのジョイントの構成について説明します。Describes the configuration of a joint on a simulated hand.

public struct SimulatedHandJointConfiguration
{
    public Vector3 Position;
    public Rotation3 Rotation;
    public SimulatedHandJointTrackingAccuracy TrackingAccuracy;
}

PerceptionSimulation. SimulatedHandJointConfigurationMicrosoft.PerceptionSimulation.SimulatedHandJointConfiguration.Position

ジョイントの位置。The position of the joint.

PerceptionSimulation. SimulatedHandJointConfigurationMicrosoft.PerceptionSimulation.SimulatedHandJointConfiguration.Rotation

ジョイントの回転。The rotation of the joint.

PerceptionSimulation. SimulatedHandJointConfiguration の精度Microsoft.PerceptionSimulation.SimulatedHandJointConfiguration.TrackingAccuracy

ジョイントの追跡精度。The tracking accuracy of the joint.

PerceptionSimulationMicrosoft.PerceptionSimulation.Frustum

カメラで一般的に使用される、視錐のビューについて説明します。Describes a view frustum, as typically used by a camera.

public struct Frustum
{
    float Near;
    float Far;
    float FieldOfView;
    float AspectRatio;
}

PerceptionSimulation。 NearMicrosoft.PerceptionSimulation.Frustum.Near

視錐に含まれる最小距離。The minimum distance that is contained in the frustum.

PerceptionSimulation です。Microsoft.PerceptionSimulation.Frustum.Far

視錐に含まれる最大距離。The maximum distance that is contained in the frustum.

PerceptionSimulation. FieldOfViewMicrosoft.PerceptionSimulation.Frustum.FieldOfView

視錐のビューの水平方向のフィールド (π未満のラジアン)。The horizontal field of view of the frustum, in radians (less than PI).

PerceptionSimulation. AspectRatioMicrosoft.PerceptionSimulation.Frustum.AspectRatio

ビューの垂直方向のフィールドから、ビューの垂直方向のフィールドまでの比率。The ratio of horizontal field of view to vertical field of view.

PerceptionSimulation. SimulatedDisplayConfigurationMicrosoft.PerceptionSimulation.SimulatedDisplayConfiguration

シミュレートされたヘッドセットの表示の構成について説明します。Describes the configuration of the simulated headset's display.

public struct SimulatedDisplayConfiguration
{
    public Vector3 LeftEyePosition;
    public Rotation3 LeftEyeRotation;
    public Vector3 RightEyePosition;
    public Rotation3 RightEyeRotation;
    public float Ipd;
    public bool ApplyEyeTransforms;
    public bool ApplyIpd;
}

PerceptionSimulation. SimulatedDisplayConfiguration. LeftEyePositionMicrosoft.PerceptionSimulation.SimulatedDisplayConfiguration.LeftEyePosition

ステレオレンダリングの目的で、ヘッドの中心から左目への変換。The transform from the center of the head to the left eye for purposes of stereo rendering.

PerceptionSimulation. SimulatedDisplayConfiguration. LeftEyeRotationMicrosoft.PerceptionSimulation.SimulatedDisplayConfiguration.LeftEyeRotation

ステレオレンダリングの目的での左目の回転。The rotation of the left eye for purposes of stereo rendering.

PerceptionSimulation. SimulatedDisplayConfiguration. RightEyePositionMicrosoft.PerceptionSimulation.SimulatedDisplayConfiguration.RightEyePosition

ステレオレンダリングの目的で、ヘッドの中心から右目への変換。The transform from the center of the head to the right eye for purposes of stereo rendering.

PerceptionSimulation. SimulatedDisplayConfiguration. RightEyeRotationMicrosoft.PerceptionSimulation.SimulatedDisplayConfiguration.RightEyeRotation

ステレオレンダリングの目的での右目の回転。The rotation of the right eye for purposes of stereo rendering.

PerceptionSimulation. SimulatedDisplayConfiguration. IpdMicrosoft.PerceptionSimulation.SimulatedDisplayConfiguration.Ipd

ステレオレンダリングのためにシステムによって報告された Ipd 値。The Ipd value reported by the system for purposes of stereo rendering.

PerceptionSimulation. SimulatedDisplayConfiguration (変換)Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.ApplyEyeTransforms

左辺と右辺の変換に指定された値が有効であると見なされ、実行中のシステムに適用されるかどうか。Whether or not the values provided for left and right eye transforms should be considered valid and applied to the running system.

PerceptionSimulation. SimulatedDisplayConfiguration. ApplyIpdMicrosoft.PerceptionSimulation.SimulatedDisplayConfiguration.ApplyIpd

Ipd に指定された値が有効であると見なされ、実行中のシステムに適用されるかどうか。Whether or not the value provided for Ipd should be considered valid and applied to the running system.

PerceptionSimulation. IPerceptionSimulationManagerMicrosoft.PerceptionSimulation.IPerceptionSimulationManager

デバイスの制御に使用されるパケットを生成するためのルート。Root for generating the packets used to control a device.

public interface IPerceptionSimulationManager
{   
    ISimulatedDevice Device { get; }
    ISimulatedHuman Human { get; }
    void Reset();
}

PerceptionSimulation. IPerceptionSimulationManagerMicrosoft.PerceptionSimulation.IPerceptionSimulationManager.Device

シミュレートされた人間とシミュレートされた世界を解釈する、シミュレートされたデバイスオブジェクトを取得します。Retrieve the simulated device object that interprets the simulated human and the simulated world.

PerceptionSimulation. IPerceptionSimulationManagerMicrosoft.PerceptionSimulation.IPerceptionSimulationManager.Human

シミュレートされた人間を制御するオブジェクトを取得します。Retrieve the object that controls the simulated human.

PerceptionSimulation. IPerceptionSimulationManagerMicrosoft.PerceptionSimulation.IPerceptionSimulationManager.Reset

シミュレーションを既定の状態にリセットします。Resets the simulation to its default state.

PerceptionSimulation. ISimulatedDeviceMicrosoft.PerceptionSimulation.ISimulatedDevice

シミュレートされた世界とシミュレートされた人間を解釈するデバイスを記述するインターフェイスInterface describing the device which interprets the simulated world and the simulated human

public interface ISimulatedDevice
{
    ISimulatedHeadTracker HeadTracker { get; }
    ISimulatedHandTracker HandTracker { get; }
    void SetSimulatedDeviceType(SimulatedDeviceType type);
}

PerceptionSimulation. ISimulatedDevice TrackerMicrosoft.PerceptionSimulation.ISimulatedDevice.HeadTracker

シミュレートされたデバイスからヘッドトラッカーを取得します。Retrieve the Head Tracker from the Simulated Device.

PerceptionSimulation. ISimulatedDevice TrackerMicrosoft.PerceptionSimulation.ISimulatedDevice.HandTracker

シミュレートされたデバイスからハンドトラッカーを取得します。Retrieve the Hand Tracker from the Simulated Device.

PerceptionSimulation. ISimulatedDevice. SetSimulatedDeviceType (PerceptionSimulation. SimulatedDeviceType)Microsoft.PerceptionSimulation.ISimulatedDevice.SetSimulatedDeviceType(Microsoft.PerceptionSimulation.SimulatedDeviceType)

シミュレートされたデバイスのプロパティを、指定したデバイスの種類に合わせて設定します。Set the properties of the simulated device to match the provided device type.

パラメーターParameters

  • type-シミュレートされたデバイスの新しい種類type - The new type of Simulated Device

PerceptionSimulation. ISimulatedDevice2Microsoft.PerceptionSimulation.ISimulatedDevice2

ISimulatedDevice を ISimulatedDevice2 にキャストすると、追加のプロパティを使用できます。Additional properties are available by casting the ISimulatedDevice to ISimulatedDevice2

public interface ISimulatedDevice2
{
    bool IsUserPresent { [return: MarshalAs(UnmanagedType.Bool)] get; [param: MarshalAs(UnmanagedType.Bool)] set; }
    SimulatedDisplayConfiguration DisplayConfiguration { get; set; }

};

PerceptionSimulation. ISimulatedDevice2. IsUserPresentMicrosoft.PerceptionSimulation.ISimulatedDevice2.IsUserPresent

シミュレートされた人間がヘッドセットをアクティブに装着しているかどうかを取得または設定します。Retrieve or set whether or not the simulated human is actively wearing the headset.

PerceptionSimulation. ISimulatedDevice2. DisplayConfigurationMicrosoft.PerceptionSimulation.ISimulatedDevice2.DisplayConfiguration

シミュレートされた表示のプロパティを取得または設定します。Retrieve or set the properties of the simulated display.

PerceptionSimulation. ISimulatedHeadTrackerMicrosoft.PerceptionSimulation.ISimulatedHeadTracker

シミュレートされた人間の頭を追跡する、シミュレートされたデバイスの部分を説明するインターフェイスです。Interface describing the portion of the simulated device that tracks the head of the simulated human.

public interface ISimulatedHeadTracker
{
    HeadTrackerMode HeadTrackerMode { get; set; }
};

PerceptionSimulation. ISimulatedHeadTracker.-TrackermodeMicrosoft.PerceptionSimulation.ISimulatedHeadTracker.HeadTrackerMode

現在のヘッドトラッカーモードを取得して設定します。Retrieves and sets the current head tracker mode.

PerceptionSimulation. ISimulatedHandTrackerMicrosoft.PerceptionSimulation.ISimulatedHandTracker

シミュレートされた人間の手を追跡するシミュレートされたデバイスの部分を説明するインターフェイスInterface describing the portion of the simulated device that tracks the hands of the simulated human

public interface ISimulatedHandTracker
{
    Vector3 WorldPosition { get; }
    Vector3 Position { get; set; }
    float Pitch { get; set; }
    bool FrustumIgnored { [return: MarshalAs(UnmanagedType.Bool)] get; [param: MarshalAs(UnmanagedType.Bool)] set; }
    Frustum Frustum { get; set; }
}

PerceptionSimulation. ISimulatedHandTracker. WorldPositionMicrosoft.PerceptionSimulation.ISimulatedHandTracker.WorldPosition

世界のリレーションを使用してノードの位置をメートル単位で取得します。Retrieve the position of the node with relation to the world, in meters.

PerceptionSimulation. ISimulatedHandTrackerMicrosoft.PerceptionSimulation.ISimulatedHandTracker.Position

頭の中心を基準とした、シミュレートされたハンドトラッカーの位置を取得して設定します。Retrieve and set the position of the simulated hand tracker, relative to the center of the head.

PerceptionSimulation. ISimulatedHandTrackerMicrosoft.PerceptionSimulation.ISimulatedHandTracker.Pitch

シミュレートされたハンドトラッカーの下向きのピッチを取得して設定します。Retrieve and set the downward pitch of the simulated hand tracker.

PerceptionSimulation は無視されました。Microsoft.PerceptionSimulation.ISimulatedHandTracker.FrustumIgnored

シミュレートされたハンドトラッカーを無視するかどうかを取得して設定します。Retrieve and set whether the frustum of the simulated hand tracker is ignored. 無視すると、両方のハンドが常に表示されます。When ignored, both hands are always visible. 無視しない場合 (既定)、ハンドトラッカーの視錐の内側にいる場合にのみ表示されます。When not ignored (the default) hands are only visible when they are within the frustum of the hand tracker.

PerceptionSimulation. ISimulatedHandTrackerMicrosoft.PerceptionSimulation.ISimulatedHandTracker.Frustum

ハンドがシミュレートされたハンドトラッカーに表示されるかどうかを判断するために使用する、視錐のプロパティを取得および設定します。Retrieve and set the frustum properties used to determine if hands are visible to the simulated hand tracker.

PerceptionSimulation. ISimulatedHumanMicrosoft.PerceptionSimulation.ISimulatedHuman

シミュレートされた人間を制御する最上位のインターフェイス。Top level interface for controlling the simulated human.

public interface ISimulatedHuman 
{
    Vector3 WorldPosition { get; set; }
    float Direction { get; set; }
    float Height { get; set; }
    ISimulatedHand LeftHand { get; }
    ISimulatedHand RightHand { get; }
    ISimulatedHead Head { get; }
    void Move(Vector3 translation);
    void Rotate(float radians);
}

PerceptionSimulation. ISimulatedHuman. WorldPositionMicrosoft.PerceptionSimulation.ISimulatedHuman.WorldPosition

世界中のノードの位置をメートル単位で取得して設定します。Retrieve and set the position of the node with relation to the world, in meters. この位置は、人間のフィートの中央の点に対応しています。The position corresponds to a point at the center of the human's feet.

PerceptionSimulation. ISimulatedHumanMicrosoft.PerceptionSimulation.ISimulatedHuman.Direction

世界中のシミュレートされた人間の顔の方向を取得して設定します。Retrieve and set the direction the simulated human faces in the world. 0ラジアンは負の Z 軸を中心にします。0 radians faces down the negative Z axis. 正のラジアンは、Y 軸について時計回りに回転します。Positive radians rotate clockwise about the Y axis.

PerceptionSimulation. ISimulatedHumanMicrosoft.PerceptionSimulation.ISimulatedHuman.Height

シミュレートされた人間の高さをメートル単位で取得して設定します。Retrieve and set the height of the simulated human, in meters.

PerceptionSimulation. ISimulatedHuman. LeftHandMicrosoft.PerceptionSimulation.ISimulatedHuman.LeftHand

シミュレートされた人間の左側を取得します。Retrieve the left hand of the simulated human.

PerceptionSimulation. ISimulatedHuman. 右Microsoft.PerceptionSimulation.ISimulatedHuman.RightHand

シミュレートされた人間の右側を取得します。Retrieve the right hand of the simulated human.

PerceptionSimulation. ISimulatedHumanMicrosoft.PerceptionSimulation.ISimulatedHuman.Head

シミュレートされた人間の先頭を取得します。Retrieve the head of the simulated human.

PerceptionSimulation (ISimulatedHuman) (PerceptionSimulation. Vector3)Microsoft.PerceptionSimulation.ISimulatedHuman.Move(Microsoft.PerceptionSimulation.Vector3)

シミュレートされた人間を、現在の位置を基準としてメートル単位で移動します。Move the simulated human relative to its current position, in meters.

パラメーターParameters

  • translation-現在の位置を基準とした、移動する平行移動。translation - The translation to move, relative to current position.

PerceptionSimulation. ISimulatedHuman (System. Single)Microsoft.PerceptionSimulation.ISimulatedHuman.Rotate(System.Single)

現在の方向を基準にして、シミュレートされた人間を Y 軸に対して時計回りに回転させますRotate the simulated human relative to its current direction, clockwise about the Y axis

パラメーターParameters

  • ラジアン-Y 軸を中心に回転する量。radians - The amount to rotate around the Y axis.

PerceptionSimulation. ISimulatedHuman2Microsoft.PerceptionSimulation.ISimulatedHuman2

ISimulatedHuman を ISimulatedHuman2 にキャストすると、追加のプロパティを使用できます。Additional properties are available by casting the ISimulatedHuman to ISimulatedHuman2

public interface ISimulatedHuman2
{
    /* New members in addition to those available on ISimulatedHuman */
    ISimulatedSixDofController LeftController { get; }
    ISimulatedSixDofController RightController { get; }
}

PerceptionSimulation. ISimulatedHuman2 ControllerMicrosoft.PerceptionSimulation.ISimulatedHuman2.LeftController

左6自由コントローラーを取得します。Retrieve the left 6-DOF controller.

PerceptionSimulation. ISimulatedHuman2 コントローラーMicrosoft.PerceptionSimulation.ISimulatedHuman2.RightController

右6自由コントローラーを取得します。Retrieve the right 6-DOF controller.

PerceptionSimulation. ISimulatedHandMicrosoft.PerceptionSimulation.ISimulatedHand

シミュレートされた人間の手を記述するインターフェイスInterface describing a hand of the simulated human

public interface ISimulatedHand
{
    Vector3 WorldPosition { get; }
    Vector3 Position { get; set; }
    bool Activated { [return: MarshalAs(UnmanagedType.Bool)] get; [param: MarshalAs(UnmanagedType.Bool)] set; }
    bool Visible { [return: MarshalAs(UnmanagedType.Bool)] get; }
    void EnsureVisible();
    void Move(Vector3 translation);
    void PerformGesture(SimulatedGesture gesture);
}

PerceptionSimulation. ISimulatedHand. WorldPositionMicrosoft.PerceptionSimulation.ISimulatedHand.WorldPosition

世界のリレーションを使用してノードの位置をメートル単位で取得します。Retrieve the position of the node with relation to the world, in meters.

PerceptionSimulation. ISimulatedHandMicrosoft.PerceptionSimulation.ISimulatedHand.Position

人間に対するシミュレートされたハンドの位置をメートル単位で取得して設定します。Retrieve and set the position of the simulated hand relative to the human, in meters.

PerceptionSimulation. ISimulatedHandMicrosoft.PerceptionSimulation.ISimulatedHand.Activated

ハンドが現在アクティブになっているかどうかを取得して設定します。Retrieve and set whether the hand is currently activated.

PerceptionSimulation. ISimulatedHandMicrosoft.PerceptionSimulation.ISimulatedHand.Visible

SimulatedDevice に手が現在表示されているかどうかを取得します (この位置が、[ツール] で検出される位置にあるかどうか)。Retrieve whether the hand is currently visible to the SimulatedDevice (ie, whether it's in a position to be detected by the HandTracker).

*PerceptionSimulation. ISimulatedHand. Ensurevisible*Microsoft.PerceptionSimulation.ISimulatedHand.EnsureVisible

SimulatedDevice に見えるようにハンドを移動します。Move the hand such that it is visible to the SimulatedDevice.

PerceptionSimulation (ISimulatedHand) (PerceptionSimulation. Vector3)Microsoft.PerceptionSimulation.ISimulatedHand.Move(Microsoft.PerceptionSimulation.Vector3)

シミュレートされたハンドの位置を、現在の位置を基準としてメートル単位で移動します。Move the position of the simulated hand relative to its current position, in meters.

パラメーターParameters

  • translation-シミュレートされたハンドを変換する量。translation - The amount to translate the simulated hand.

ISimulatedHand (PerceptionSimulation) () (PerceptionSimulation)Microsoft.PerceptionSimulation.ISimulatedHand.PerformGesture(Microsoft.PerceptionSimulation.SimulatedGesture)

シミュレートされたハンドを使用してジェスチャを実行します。Perform a gesture using the simulated hand. ハンドが有効になっている場合にのみ、システムによって検出されます。It will only be detected by the system if the hand is enabled.

パラメーターParameters

  • ジェスチャ-実行するジェスチャ。gesture - The gesture to perform.

PerceptionSimulation. ISimulatedHand2Microsoft.PerceptionSimulation.ISimulatedHand2

ISimulatedHand を ISimulatedHand2 にキャストすると、追加のプロパティを使用できます。Additional properties are available by casting an ISimulatedHand to ISimulatedHand2.

public interface ISimulatedHand2
{
    /* New members in addition to those available on ISimulatedHand */
    Rotation3 Orientation { get; set; }
}

PerceptionSimulation. ISimulatedHand2Microsoft.PerceptionSimulation.ISimulatedHand2.Orientation

シミュレートされたハンドの回転を取得または設定します。Retrieve or set the rotation of the simulated hand. 正のラジアンは、軸に沿って表示すると時計回りに回転します。Positive radians rotate clockwise when looking along the axis.

PerceptionSimulation. ISimulatedHand3Microsoft.PerceptionSimulation.ISimulatedHand3

ISimulatedHand を ISimulatedHand3 にキャストすると、追加のプロパティを使用できます。Additional properties are available by casting an ISimulatedHand to ISimulatedHand3

public interface ISimulatedHand3
{
    /* New members in addition to those available on ISimulatedHand and ISimulatedHand2 */
    GetJointConfiguration(SimulatedHandJoint joint, out SimulatedHandJointConfiguration jointConfiguration);
    SetJointConfiguration(SimulatedHandJoint joint, SimulatedHandJointConfiguration jointConfiguration);
    SetHandPose(SimulatedHandPose pose, bool animate);
}

PerceptionSimulation. ISimulatedHand3. GetJointConfigurationMicrosoft.PerceptionSimulation.ISimulatedHand3.GetJointConfiguration

指定されたジョイントの共同構成を取得します。Get the joint configuration for the specified joint.

PerceptionSimulation. ISimulatedHand3. SetJointConfigurationMicrosoft.PerceptionSimulation.ISimulatedHand3.SetJointConfiguration

指定されたジョイントの結合構成を設定します。Set the joint configuration for the specified joint.

PerceptionSimulation. ISimulatedHand3. SetHandPoseMicrosoft.PerceptionSimulation.ISimulatedHand3.SetHandPose

アニメーション化するオプションのフラグを持つ既知のポーズにハンドを設定します。Set the hand to a known pose with an optional flag to animate. 注: アニメーション化によって、最終的な結合構成がすぐに反映されることはありません。Note: animating won't result in joints immediately reflecting their final joint configurations.

PerceptionSimulation. ISimulatedHeadMicrosoft.PerceptionSimulation.ISimulatedHead

シミュレートされた人間の先頭を記述するインターフェイス。Interface describing the head of the simulated human.

public interface ISimulatedHead
{
    Vector3 WorldPosition { get; }
    Rotation3 Rotation { get; set; }
    float Diameter { get; set; }
    void Rotate(Rotation3 rotation);
}

PerceptionSimulation. ISimulatedHead. WorldPositionMicrosoft.PerceptionSimulation.ISimulatedHead.WorldPosition

世界のリレーションを使用してノードの位置をメートル単位で取得します。Retrieve the position of the node with relation to the world, in meters.

PerceptionSimulation. ISimulatedHeadMicrosoft.PerceptionSimulation.ISimulatedHead.Rotation

シミュレートされたヘッドの回転を取得します。Retrieve the rotation of the simulated head. 正のラジアンは、軸に沿って表示すると時計回りに回転します。Positive radians rotate clockwise when looking along the axis.

PerceptionSimulation. ISimulatedHeadMicrosoft.PerceptionSimulation.ISimulatedHead.Diameter

シミュレートされたヘッドの直径を取得します。Retrieve the simulated head's diameter. この値は、ヘッドの中心 (回転点) を決定するために使用されます。This value is used to determine the head's center (point of rotation).

PerceptionSimulation (ISimulatedHead) (PerceptionSimulation. Rotation3)Microsoft.PerceptionSimulation.ISimulatedHead.Rotate(Microsoft.PerceptionSimulation.Rotation3)

シミュレートされた頭を現在の回転に対して回転します。Rotate the simulated head relative to its current rotation. 正のラジアンは、軸に沿って表示すると時計回りに回転します。Positive radians rotate clockwise when looking along the axis.

パラメーターParameters

  • rotation-回転する量。rotation - The amount to rotate.

PerceptionSimulation. ISimulatedHead2Microsoft.PerceptionSimulation.ISimulatedHead2

ISimulatedHead を ISimulatedHead2 にキャストすると、追加のプロパティを使用できます。Additional properties are available by casting an ISimulatedHead to ISimulatedHead2

public interface ISimulatedHead2
{
    /* New members in addition to those available on ISimulatedHead */
    ISimulatedEyes Eyes { get; }
}

PerceptionSimulation. ISimulatedHead2Microsoft.PerceptionSimulation.ISimulatedHead2.Eyes

シミュレートされた人間の目を取得します。Retrieve the eyes of the simulated human.

PerceptionSimulation. ISimulatedSixDofControllerMicrosoft.PerceptionSimulation.ISimulatedSixDofController

シミュレートされた人間に関連付けられた6自由コントローラーを記述するインターフェイス。Interface describing a 6-DOF controller associated with the simulated human.

public interface ISimulatedSixDofController
{
    Vector3 WorldPosition { get; }
    SimulatedSixDofControllerStatus Status { get; set; }
    Vector3 Position { get; }
    Rotation3 Orientation { get; set; }
    void Move(Vector3 translation);
    void PressButton(SimulatedSixDofControllerButton button);
    void ReleaseButton(SimulatedSixDofControllerButton button);
    void GetTouchpadPosition(out float x, out float y);
    void SetTouchpadPosition(float x, float y);
}

PerceptionSimulation. ISimulatedSixDofController. WorldPositionMicrosoft.PerceptionSimulation.ISimulatedSixDofController.WorldPosition

世界のリレーションを使用してノードの位置をメートル単位で取得します。Retrieve the position of the node with relation to the world, in meters.

PerceptionSimulation. ISimulatedSixDofControllerMicrosoft.PerceptionSimulation.ISimulatedSixDofController.Status

コントローラーの現在の状態を取得または設定します。Retrieve or set the current state of the controller. 移動、回転、または押すボタンの呼び出しが成功する前に、コントローラーの状態が Off 以外の値に設定されている必要があります。The controller status must be set to a value other than Off before any calls to move, rotate or press buttons will succeed.

PerceptionSimulation. ISimulatedSixDofControllerMicrosoft.PerceptionSimulation.ISimulatedSixDofController.Position

ユーザーに対してシミュレートされたコントローラーの位置をメートル単位で取得または設定します。Retrieve or set the position of the simulated controller relative to the human, in meters.

PerceptionSimulation. ISimulatedSixDofControllerMicrosoft.PerceptionSimulation.ISimulatedSixDofController.Orientation

シミュレートされたコントローラーの向きを取得または設定します。Retrieve or set the orientation of the simulated controller.

PerceptionSimulation (ISimulatedSixDofController) (PerceptionSimulation. Vector3)Microsoft.PerceptionSimulation.ISimulatedSixDofController.Move(Microsoft.PerceptionSimulation.Vector3)

シミュレートされたコントローラーの位置を、現在の位置 (メートル単位) に相対的に移動します。Move the position of the simulated controller relative to its current position, in meters.

パラメーターParameters

  • translation-シミュレートされたコントローラーを変換する量。translation - The amount to translate the simulated controller.

ISimulatedSixDofController (SimulatedSixDofControllerButton) () PerceptionSimulationMicrosoft.PerceptionSimulation.ISimulatedSixDofController.PressButton(SimulatedSixDofControllerButton)

シミュレートされたコントローラーでボタンを押します。Press a button on the simulated controller. コントローラーが有効になっている場合にのみ、システムによって検出されます。It will only be detected by the system if the controller is enabled.

パラメーターParameters

  • button-押すボタン。button - The button to press.

PerceptionSimulation (ISimulatedSixDofController) (SimulatedSixDofControllerButton)Microsoft.PerceptionSimulation.ISimulatedSixDofController.ReleaseButton(SimulatedSixDofControllerButton)

シミュレートされたコントローラーでボタンを離します。Release a button on the simulated controller. コントローラーが有効になっている場合にのみ、システムによって検出されます。It will only be detected by the system if the controller is enabled.

パラメーターParameters

  • ボタン-リリースするボタン。button - The button to release.

PerceptionSimulation. ISimulatedSixDofController. GetTouchpadPosition (out float, out float)Microsoft.PerceptionSimulation.ISimulatedSixDofController.GetTouchpadPosition(out float, out float)

シミュレートされたコントローラーのタッチパッド上でシミュレートされた指の位置を取得します。Get the position of a simulated finger on the simulated controller's touchpad.

パラメーターParameters

  • x-指の水平方向の位置。x - The horizontal position of the finger.
  • y-指の垂直方向の位置。y - The vertical position of the finger.

PerceptionSimulation (float, float) の位置を ISimulatedSixDofController します。Microsoft.PerceptionSimulation.ISimulatedSixDofController.SetTouchpadPosition(float, float)

シミュレートされたコントローラーのタッチパッドでシミュレートされた指の位置を設定します。Set the position of a simulated finger on the simulated controller's touchpad.

パラメーターParameters

  • x-指の水平方向の位置。x - The horizontal position of the finger.
  • y-指の垂直方向の位置。y - The vertical position of the finger.

PerceptionSimulation. ISimulatedSixDofController2Microsoft.PerceptionSimulation.ISimulatedSixDofController2

ISimulatedSixDofController を ISimulatedSixDofController2 にキャストすると、追加のプロパティとメソッドを使用できます。Additional properties and methods are available by casting an ISimulatedSixDofController to ISimulatedSixDofController2

public interface ISimulatedSixDofController2
{
    /* New members in addition to those available on ISimulatedSixDofController */
    void GetThumbstickPosition(out float x, out float y);
    void SetThumbstickPosition(float x, float y);
    float BatteryLevel { get; set; }
}

PerceptionSimulation. ISimulatedSixDofController2. GetThumbstickPosition (out float, out float)Microsoft.PerceptionSimulation.ISimulatedSixDofController2.GetThumbstickPosition(out float, out float)

シミュレートされたコントローラー上のシミュレートされたサムスティックの位置を取得します。Get the position of the simulated thumbstick on the simulated controller.

パラメーターParameters

  • x-サムスティックの水平方向の位置。x - The horizontal position of the thumbstick.
  • y-サムスティックの垂直方向の位置。y - The vertical position of the thumbstick.

PerceptionSimulation. ISimulatedSixDofController2. SetThumbstickPosition (float, float)Microsoft.PerceptionSimulation.ISimulatedSixDofController2.SetThumbstickPosition(float, float)

シミュレートされたコントローラーのシミュレートされたサムスティックの位置を設定します。Set the position of the simulated thumbstick on the simulated controller.

パラメーターParameters

  • x-サムスティックの水平方向の位置。x - The horizontal position of the thumbstick.
  • y-サムスティックの垂直方向の位置。y - The vertical position of the thumbstick.

Microsoft.PerceptionSimulation.ISimulatedSixDofController2.BatteryLevelMicrosoft.PerceptionSimulation.ISimulatedSixDofController2.BatteryLevel

シミュレートされたコントローラーのバッテリレベルを取得または設定します。Retrieve or set the battery level of the simulated controller. 値は0.0 より大きく、100.0 以下でなければなりません。The value must be greater than 0.0 and less than or equal to 100.0.

PerceptionSimulation. ISimulatedEyesMicrosoft.PerceptionSimulation.ISimulatedEyes

シミュレートされた人間の目を表すインターフェイス。Interface describing the eyes of the simulated human.

public interface ISimulatedEyes
{
    Rotation3 Rotation { get; set; }
    void Rotate(Rotation3 rotation);
    SimulatedEyesCalibrationState CalibrationState { get; set; }
    Vector3 WorldPosition { get; }
}

PerceptionSimulation. ISimulatedEyesMicrosoft.PerceptionSimulation.ISimulatedEyes.Rotation

シミュレートされた目の回転を取得します。Retrieve the rotation of the simulated eyes. 正のラジアンは、軸に沿って表示すると時計回りに回転します。Positive radians rotate clockwise when looking along the axis.

PerceptionSimulation (ISimulatedEyes) (PerceptionSimulation. Rotation3)Microsoft.PerceptionSimulation.ISimulatedEyes.Rotate(Microsoft.PerceptionSimulation.Rotation3)

現在の回転と比較して、シミュレートされた目を回転します。Rotate the simulated eyes relative to its current rotation. 正のラジアンは、軸に沿って表示すると時計回りに回転します。Positive radians rotate clockwise when looking along the axis.

パラメーターParameters

  • rotation-回転する量。rotation - The amount to rotate.

PerceptionSimulation. ISimulatedEyes. CalibrationStateMicrosoft.PerceptionSimulation.ISimulatedEyes.CalibrationState

シミュレートされた目の調整状態を取得または設定します。Retrieves or sets the calibration state of the simulated eyes.

PerceptionSimulation. ISimulatedEyes. WorldPositionMicrosoft.PerceptionSimulation.ISimulatedEyes.WorldPosition

世界のリレーションを使用してノードの位置をメートル単位で取得します。Retrieve the position of the node with relation to the world, in meters.

PerceptionSimulation. ISimulationRecordingMicrosoft.PerceptionSimulation.ISimulationRecording

再生用に読み込まれた単一の記録と対話するためのインターフェイス。Interface for interacting with a single recording loaded for playback.

public interface ISimulationRecording
{
    StreamDataTypes DataTypes { get; }
    PlaybackState State { get; }
    void Play();
    void Pause();
    void Seek(UInt64 ticks);
    void Stop();
};

PerceptionSimulation. ISimulationRecordingMicrosoft.PerceptionSimulation.ISimulationRecording.DataTypes

記録内のデータ型の一覧を取得します。Retrieves the list of data types in the recording.

PerceptionSimulation. ISimulationRecordingMicrosoft.PerceptionSimulation.ISimulationRecording.State

記録の現在の状態を取得します。Retrieves the current state of the recording.

PerceptionSimulation. ISimulationRecordingMicrosoft.PerceptionSimulation.ISimulationRecording.Play

再生を開始します。Start the playback. 記録が一時停止されている場合は、一時停止した場所から再生が再開されます。停止した場合は、最初から再生が開始されます。If the recording is paused, playback will resume from the paused location; if stopped, playback will start at the beginning. 既に再生中の場合、この呼び出しは無視されます。If already playing, this call is ignored.

PerceptionSimulation. ISimulationRecordingMicrosoft.PerceptionSimulation.ISimulationRecording.Pause

現在の場所で再生を一時停止します。Pauses the playback at its current location. 記録が停止している場合、呼び出しは無視されます。If the recording is stopped, the call is ignored.

PerceptionSimulation. ISimulationRecording (System. UInt64)Microsoft.PerceptionSimulation.ISimulationRecording.Seek(System.UInt64)

指定した時間 (先頭から100ナノ秒単位) に記録をシークし、その位置で一時停止します。Seeks the recording to the specified time (in 100 nanoseconds intervals from the beginning) and pauses at that location. 時刻が記録の末尾を越えている場合は、最後のフレームで一時停止します。If the time is beyond the end of the recording, it is paused at the last frame.

パラメーターParameters

  • ティック-シークする時刻。ticks - The time to which to seek.

PerceptionSimulation. ISimulationRecordingMicrosoft.PerceptionSimulation.ISimulationRecording.Stop

再生を停止し、位置を先頭にリセットします。Stops the playback and resets the position to the beginning.

PerceptionSimulation. ISimulationRecordingCallbackMicrosoft.PerceptionSimulation.ISimulationRecordingCallback

再生中に状態の変更を受信するためのインターフェイス。Interface for receiving state changes during playback.

public interface ISimulationRecordingCallback
{
    void PlaybackStateChanged(PlaybackState newState);
};

PerceptionSimulation. ISimulationRecordingCallback. PlaybackStateChanged (PerceptionSimulation. PlaybackState)Microsoft.PerceptionSimulation.ISimulationRecordingCallback.PlaybackStateChanged(Microsoft.PerceptionSimulation.PlaybackState)

ISimulationRecording の再生状態が変更されたときに呼び出されます。Called when an ISimulationRecording's playback state has changed.

パラメーターParameters

  • newState-記録の新しい状態。newState - The new state of the recording.

PerceptionSimulation. PerceptionSimulationManagerMicrosoft.PerceptionSimulation.PerceptionSimulationManager

認識シミュレーションオブジェクトを作成するためのルートオブジェクト。Root object for creating Perception Simulation objects.

public static class PerceptionSimulationManager
{
    public static IPerceptionSimulationManager CreatePerceptionSimulationManager(ISimulationStreamSink sink);
    public static ISimulationStreamSink CreatePerceptionSimulationRecording(string path);
    public static ISimulationRecording LoadPerceptionSimulationRecording(string path, ISimulationStreamSinkFactory factory);
    public static ISimulationRecording LoadPerceptionSimulationRecording(string path, ISimulationStreamSinkFactory factory, ISimulationRecordingCallback callback);

PerceptionSimulation. PerceptionSimulationManager. CreatePerceptionSimulationManager (PerceptionSimulation. ISimulationStreamSink)Microsoft.PerceptionSimulation.PerceptionSimulationManager.CreatePerceptionSimulationManager(Microsoft.PerceptionSimulation.ISimulationStreamSink)

シミュレートされたパケットを生成し、指定したシンクに配信するために、オブジェクトでを作成します。Create on object for generating simulated packets and delivering them to the provided sink.

パラメーターParameters

  • sink-生成されたすべてのパケットを受信するシンク。sink - The sink that will receive all generated packets.

戻り値Return value

作成されたマネージャー。The created Manager.

PerceptionSimulation. PerceptionSimulationManager. CreatePerceptionSimulationRecording (System.string)Microsoft.PerceptionSimulation.PerceptionSimulationManager.CreatePerceptionSimulationRecording(System.String)

指定されたパスのファイルに受信したすべてのパケットを格納するシンクを作成します。Create a sink which stores all received packets in a file at the specified path.

パラメーターParameters

  • path-作成するファイルのパス。path - The path of the file to create.

戻り値Return value

作成されたシンク。The created sink.

PerceptionSimulation. PerceptionSimulationManager. LoadPerceptionSimulationRecording (System.string, PerceptionSimulation.. ISimulationStreamSinkFactory)Microsoft.PerceptionSimulation.PerceptionSimulationManager.LoadPerceptionSimulationRecording(System.String,Microsoft.PerceptionSimulation.ISimulationStreamSinkFactory)

指定されたファイルから記録を読み込みます。Load a recording from the specified file.

パラメーターParameters

  • path-読み込むファイルのパス。path - The path of the file to load.
  • factory-必要なときに ISimulationStreamSink を作成するために記録によって使用されるファクトリ。factory - A factory used by the recording for creating an ISimulationStreamSink when required.

戻り値Return value

読み込まれた記録。The loaded recording.

PerceptionSimulation. PerceptionSimulationManager. LoadPerceptionSimulationRecording (System.string, PerceptionSimulation ISimulationStreamSinkFactory, PerceptionSimulation. ISimulationRecordingCallback..)Microsoft.PerceptionSimulation.PerceptionSimulationManager.LoadPerceptionSimulationRecording(System.String,Microsoft.PerceptionSimulation.ISimulationStreamSinkFactory,Microsoft.PerceptionSimulation.ISimulationRecordingCallback)

指定されたファイルから記録を読み込みます。Load a recording from the specified file.

パラメーターParameters

  • path-読み込むファイルのパス。path - The path of the file to load.
  • factory-必要なときに ISimulationStreamSink を作成するために記録によって使用されるファクトリ。factory - A factory used by the recording for creating an ISimulationStreamSink when required.
  • callback-更新を受け取るコールバックで、記録の状態を再適用します。callback - A callback which receives updates regrading the recording's status.

戻り値Return value

読み込まれた記録。The loaded recording.

PerceptionSimulation データ型Microsoft.PerceptionSimulation.StreamDataTypes

さまざまな種類のストリームデータについて説明します。Describes the different types of stream data.

public enum StreamDataTypes
{
    None = 0x00,
    Head = 0x01,
    Hands = 0x02,
    SpatialMapping = 0x08,
    Calibration = 0x10,
    Environment = 0x20,
    SixDofControllers = 0x40,
    Eyes = 0x80,
    DisplayConfiguration = 0x100
    All = None | Head | Hands | SpatialMapping | Calibration | Environment | SixDofControllers | Eyes | DisplayConfiguration
}

PerceptionSimulation のデータ型はありません。Microsoft.PerceptionSimulation.StreamDataTypes.None

ストリームデータ型がないことを示すために使用される sentinel 値。A sentinel value used to indicate no stream data types.

PerceptionSimulation のデータ型Microsoft.PerceptionSimulation.StreamDataTypes.Head

ヘッドの位置と向きに関するデータのストリーム。Stream of data regarding the position and orientation of the head.

PerceptionSimulation のデータ型Microsoft.PerceptionSimulation.StreamDataTypes.Hands

ハンドの位置とジェスチャに関するデータのストリーム。Stream of data regarding the position and gestures of hands.

PerceptionSimulation. SpatialMapping.Microsoft.PerceptionSimulation.StreamDataTypes.SpatialMapping

環境の空間マッピングに関するデータのストリーム。Stream of data regarding spatial mapping of the environment.

PerceptionSimulation のデータ型Microsoft.PerceptionSimulation.StreamDataTypes.Calibration

デバイスの調整に関するデータのストリーム。Stream of data regarding calibration of the device. 調整パケットは、リモートモードのシステムでのみ受け入れられます。Calibration packets are only accepted by a system in Remote Mode.

PerceptionSimulation のデータ型Microsoft.PerceptionSimulation.StreamDataTypes.Environment

デバイスの環境に関するデータのストリーム。Stream of data regarding the environment of the device.

PerceptionSimulation. SixDofControllers.Microsoft.PerceptionSimulation.StreamDataTypes.SixDofControllers

モーションコントローラーに関するデータのストリーム。Stream of data regarding motion controllers.

PerceptionSimulation のデータ型Microsoft.PerceptionSimulation.StreamDataTypes.Eyes

シミュレートされた人間の目に関するデータのストリーム。Stream of data regarding the eyes of the simulated human.

PerceptionSimulation を構成します。Microsoft.PerceptionSimulation.StreamDataTypes.DisplayConfiguration

デバイスのディスプレイ構成に関するデータのストリーム。Stream of data regarding the display configuration of the device.

PerceptionSimulation のデータ型Microsoft.PerceptionSimulation.StreamDataTypes.All

すべての記録されたデータ型を示すために使用される sentinel 値。A sentinel value used to indicate all recorded data types.

PerceptionSimulation. ISimulationStreamSinkMicrosoft.PerceptionSimulation.ISimulationStreamSink

シミュレーションストリームからデータパケットを受信するオブジェクト。An object that receives data packets from a simulation stream.

public interface ISimulationStreamSink
{
    void OnPacketReceived(uint length, byte[] packet);
}

PerceptionSimulation. ISimulationStreamSink (uint length, byte [] パケット数)Microsoft.PerceptionSimulation.ISimulationStreamSink.OnPacketReceived(uint length, byte[] packet)

内部的に型指定され、バージョン管理される1つのパケットを受信します。Receives a single packet, which is internally typed and versioned.

パラメーターParameters

  • length-パケットの長さ。length - The length of the packet.
  • パケット-パケットのデータ。packet - The data of the packet.

PerceptionSimulation. ISimulationStreamSinkFactoryMicrosoft.PerceptionSimulation.ISimulationStreamSinkFactory

ISimulationStreamSink を作成するオブジェクト。An object that creates ISimulationStreamSink.

public interface ISimulationStreamSinkFactory
{
    ISimulationStreamSink CreateSimulationStreamSink();
}

PerceptionSimulation. ISimulationStreamSinkFactory-Ationstreamsink ()Microsoft.PerceptionSimulation.ISimulationStreamSinkFactory.CreateSimulationStreamSink()

ISimulationStreamSink の1つのインスタンスを作成します。Creates a single instance of ISimulationStreamSink.

戻り値Return value

作成されたシンク。The created sink.