Algı simülasyonu

Uygulamanız için otomatik bir test oluşturmak istiyor musunuz? Testlerinizin bileşen düzeyinde birim testinin ötesine geçmesini ve uygulamanızı gerçekten uçtan uca alıştırmasını mı istiyorsunuz? Algı Simülasyonu aradığınız şey. Algı Benzetimi kitaplığı, testlerinizi otomatikleştirebilmeniz için uygulamanıza insan ve dünya giriş verileri gönderir. Örneğin, belirli, tekrarlanabilir bir konuma bakan bir insanın girişinin benzetimini yapabilir ve ardından bir hareket veya hareket denetleyicisi kullanabilirsiniz.

Algı Simülasyonu fiziksel bir HoloLens, HoloLens öykünücüsü (ilk nesil), HoloLens 2 Öykünücüsü veya Karma Gerçeklik Portalı yüklü bir bilgisayara bunun gibi sanal girişler gönderebilir. Algı Simülasyonu, Karma Gerçeklik bir cihazdaki canlı algılayıcıları atlar ve cihazda çalışan uygulamalara sanal giriş gönderir. Uygulamalar bu giriş olaylarını her zaman kullandıkları API'ler aracılığıyla alır ve gerçek algılayıcılarla çalıştırma ile Algı Simülasyonu arasındaki farkı anlayamaz. Algı Simülasyonu, HoloLens öykünücüleri tarafından HoloLens Sanal Makinesine sanal giriş göndermek için kullanılan teknolojiyle aynıdır.

Kodunuzda benzetimi kullanmaya başlamak için bir IPerceptionSimulationManager nesnesi oluşturarak başlayın. Bu nesneden, baş konumu, el konumu ve hareketler de dahil olmak üzere sanal bir "insanın" özelliklerini denetlemek için komutlar gönderebilirsiniz. Hareket denetleyicilerini etkinleştirebilir ve işleyebilirsiniz.

Algı Benzetimi için Visual Studio Projesi Ayarlama

  1. HoloLens öykünücüsünüzü geliştirme bilgisayarınıza yükleyin. Öykünücü, Algı Benzetimi için kullandığınız kitaplıkları içerir.

  2. Yeni bir Visual Studio C# masaüstü projesi oluşturun (Konsol Projesi başlamak için harika çalışır).

  3. Aşağıdaki ikili dosyaları projenize başvuru olarak ekleyin (Project-Add-Reference>>...). Bunları HoloLens 2 Öykünücüsü için %ProgramFiles(x86)%\Microsoft XDE\10.0.18362.0 gibi %ProgramFiles(x86)%\Microsoft XDE\(sürüm) içinde bulabilirsiniz.

    Not

    İkili dosyalar HoloLens 2 Öykünücüsünün bir parçası olsa da, masaüstündeki Windows Mixed Reality için de çalışır.)

    a. PerceptionSimulationManager.Interop.dll - Algı Benzetimi için yönetilen C# sarmalayıcı.
    b. PerceptionSimulationRest.dll - HoloLens veya öykünücüye web yuvası iletişim kanalı ayarlamak için kitaplık.
    c. SimulationStream.Interop.dll - Simülasyon için paylaşılan türler.

  4. Uygulama ikili PerceptionSimulationManager.dll projenize ekleme

    a. önce bunu projeye ikili olarak ekleyin (Project-Add-Existing>> Item...). Proje kaynak klasörünüze kopyalamaması için bağlantı olarak kaydedin.
    projeye bağlantı olarak PerceptionSimulationManager.dll ekleme

    b. Ardından derlemedeki çıkış klasörünüzde kopyalandıklarınızdan emin olun. Bu, ikilinin özellik sayfasındadır.
    Çıkış dizinine kopyalamak için PerceptionSimulationManager.dll işaretle

  5. Etkin çözüm platformunuzu x64 olarak ayarlayın. (Henüz yoksa x64 için platform girdisi oluşturmak üzere Configuration Manager kullanın.)

IPerceptionSimulation Manager Nesnesi Oluşturma

Benzetimi denetlemek için bir IPerceptionSimulationManager nesnesinden alınan nesnelere güncelleştirmeler yapacaksınız. İlk adım, bu nesneyi almak ve hedef cihazınıza veya öykünücünüze bağlamaktır. Araç çubuğundaki Cihaz Portalı düğmesine tıklayarak öykünücünüzün IP adresini alabilirsiniz

Cihaz Portalı'nı aç simgesiCihaz Portalını Aç: Öykünücüde HoloLens işletim sistemi için Windows Cihaz Portalı'nı açın. Windows Mixed Reality için bu, Ayarlar uygulamasında "Güncelleştirme & Güvenliği" altında, ardından "Cihaz Portalını Etkinleştir" altındaki "Kullanarak bağlan:" bölümünde "Geliştiriciler için" bölümünden alınabilir. Hem IP adresini hem de bağlantı noktasını not edin.

İlk olarak RestSimulationStreamSink.Create öğesini çağırarak restSimulationStreamSink nesnesi alacaksınız. Bu, http bağlantısı üzerinde denetleyeceksiniz hedef cihaz veya öykünücüdür. Komutlarınız cihaz veya öykünücüde çalışan Windows Cihaz Portalı'na geçirilir ve işlenir. Nesne oluşturmak için ihtiyacınız olan dört parametre şunlardır:

  • Uri uri - Hedef cihazın IP adresi (örn. "https://123.123.123.123" veya "https://123.123.123.123:50080")
  • System.Net.NetworkCredential kimlik bilgileri - Hedef cihaz veya öykünücüde Windows Cihaz Portalı'na bağlanmak için kullanıcı adı/parola. Öykünücüye yerel adresiyle bağlanıyorsanız (ör. 168... *) aynı bilgisayarda tüm kimlik bilgileri kabul edilir.
  • bool normal - Normal öncelik için true, düşük öncelik için false. Bunu genellikle test senaryoları için true olarak ayarlamak istersiniz ve bu da testinizin denetimi almasına olanak tanır. Öykünücü ve Windows Mixed Reality simülasyonu düşük öncelikli bağlantılar kullanır. Testiniz düşük öncelikli bir bağlantı da kullanıyorsa, en son kurulan bağlantı denetime sahip olur.
  • System.Threading.CancellationToken belirteci - Zaman uyumsuz işlemi iptal etmek için belirteç.

İkinci olarak, IPerceptionSimulationManager'ı oluşturacaksınız. Bu, simülasyonu denetlemek için kullandığınız nesnedir. Bunun zaman uyumsuz bir yöntemde de yapılması gerekir.

Simülasyon insanını denetleme

IPerceptionSimulationManager,ISimulatedHuman nesnesi döndüren bir Human özelliğine sahiptir. Simülasyon insanını denetlemek için bu nesne üzerinde işlemler gerçekleştirin. Örnek:

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

Temel Örnek C# konsol uygulaması

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

Genişletilmiş Örnek C# konsol uygulaması

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-DOF denetleyicileriyle ilgili not

Simülasyon 6-DOF denetleyicisindeki yöntemlerde herhangi bir özelliği çağırmadan önce denetleyiciyi etkinleştirmeniz gerekir. Bunun yapılmaması bir özel durumla sonuçlanır. Windows 10 Mayıs 2019 Güncelleştirmesi başlayarak, ISimulatedSixDofController nesnesindeki Status özelliği SimulatedSixDofControllerStatus.Active olarak ayarlanarak sanal 6-DOF denetleyicileri yüklenebilir ve etkinleştirilebilir. Windows 10 Ekim 2018 Güncelleştirmesi ve önceki sürümlerde, \Windows\System32 klasöründe bulunan PerceptionSimulationDevice aracını çağırarak önce simülasyon 6-DOF denetleyicisini ayrı olarak yüklemeniz gerekir. Bu aracın kullanımı aşağıdaki gibidir:

    PerceptionSimulationDevice.exe <action> 6dof <instance>

Örneğin:

    PerceptionSimulationDevice.exe i 6dof 1

Desteklenen eylemler şunlardır:

  • i = yükleme
  • q = sorgu
  • r = kaldır

Desteklenen örnekler şunlardır:

  • 1 = sol 6 DOF denetleyicisi
  • 2 = doğru 6 DOF denetleyicisi

İşlemin çıkış kodu başarıyı (sıfır dönüş değeri) veya başarısızlığı (sıfır olmayan bir dönüş değeri) gösterir. Bir denetleyicinin yüklü olup olmadığını sorgulamak için 'q' eylemini kullanırken, denetleyici yüklü değilse dönüş değeri sıfır (0) veya denetleyici yüklüyse bir (1) olur.

Windows 10 Ekim 2018 Güncelleştirmesi veya önceki bir sürümdeki denetleyiciyi kaldırırken, önce API aracılığıyla durumunu Kapalı olarak ayarlayın, ardından PerceptionSimulationDevice aracını çağırın.

Bu araç Yönetici olarak çalıştırılmalıdır.

API Başvurusu

Microsoft.PerceptionSimulation.SimulatedDeviceType

Simülasyon cihazı türünü açıklar

public enum SimulatedDeviceType
{
    Reference = 0
}

Microsoft.PerceptionSimulation.SimulatedDeviceType.Reference

Kurgusal bir başvuru cihazı, PerceptionSimulationManager için varsayılan değerdir

Microsoft.PerceptionSimulation.HeadTrackerMode

Baş izleyici modunu açıklar

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

Microsoft.PerceptionSimulation.HeadTrackerMode.Default

Varsayılan Baş İzleme. Bu, sistemin çalışma zamanı koşullarına göre en iyi baş izleme modunu seçebileceği anlamına gelir.

Microsoft.PerceptionSimulation.HeadTrackerMode.Orientation

Yönlendirme Yalnızca Baş İzleme. Bu, izlenen konumun güvenilir olmayabileceği ve baş konumuna bağlı bazı işlevlerin kullanılamayabileceği anlamına gelir.

Microsoft.PerceptionSimulation.HeadTrackerMode.Position

Konumsal Baş İzleme. Bu, izlenen baş konumunun ve yönlendirmenin hem güvenilir olduğu anlamına gelir

Microsoft.PerceptionSimulation.SimulatedGesture

Simülasyon hareketini açıklar

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

Microsoft.PerceptionSimulation.SimulatedGesture.None

Hiçbir hareketi göstermek için kullanılan bir sentinel değeri.

Microsoft.PerceptionSimulation.SimulatedGesture.FingerPressed

Parmakla basılmış hareket.

Microsoft.PerceptionSimulation.SimulatedGesture.FingerReleased

Bir parmak serbest bırakıldı hareketi.

Microsoft.PerceptionSimulation.SimulatedGesture.Home

Ev/sistem hareketi.

Microsoft.PerceptionSimulation.SimulatedGesture.Max

En büyük geçerli hareket.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerStatus

Simülasyon 6-DOF denetleyicisinin olası durumları.

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

Microsoft.PerceptionSimulation.SimulatedSixDofControllerStatus.Off

6-DOF denetleyicisi kapalı.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerStatus.Active

6-DOF denetleyicisi açılır ve izlenir.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerStatus.TrackingLost

6-DOF denetleyicisi açık ancak izlenemiyor.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton

Sanal bir 6-DOF denetleyicisinde desteklenen düğmeler.

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

Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.None

Düğme olmadığını belirtmek için kullanılan bir sentinel değeri.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Home

Giriş düğmesine basılır.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Menu

Menü düğmesine basılır.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Grip

Kavrama düğmesine basılır.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.TouchpadPress

TouchPad'e basılır.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Select

Seç düğmesine basılır.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.TouchpadTouch

TouchPad'e dokunulduğunda.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Thumbstick

Parmak çubuğuna basıldı.

Microsoft.PerceptionSimulation.SimulatedSixDofControllerButton.Max

Geçerli olan en büyük düğme.

Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState

Simüle edilmiş gözlerin kalibrasyon durumu

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

Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState.Unavailable

Göz kalibrasyonu kullanılamıyor.

Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState.Ready

Gözler ayarlandı. Varsayılan değer budur.

Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState.Configuring

Gözler ayarlanıyor.

Microsoft.PerceptionSimulation.SimulatedEyesCalibrationState.UserCalibrationNeeded

Gözlerin kalibre edilmesi gerekiyor.

Microsoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy

Elin bir ekleminin izleme doğruluğu.

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

Microsoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy.Unavailable

Eklem izlenmedi.

Microsoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy.Approximate

Eklem konumu çıkarsanır.

Microsoft.PerceptionSimulation.SimulatedHandJointTrackingAccuracy.Visible

Eklem tamamen izlendi.

Microsoft.PerceptionSimulation.SimulatedHandPose

Elin bir ekleminin izleme doğruluğu.

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

Microsoft.PerceptionSimulation.SimulatedHandPose.Closed

Elin parmak eklemleri kapalı bir pozu yansıtacak şekilde yapılandırılır.

Microsoft.PerceptionSimulation.SimulatedHandPose.Open

Elin parmak eklemleri açık bir pozu yansıtacak şekilde yapılandırılır.

Microsoft.PerceptionSimulation.SimulatedHandPose.Point

Elin parmak eklemleri, bir işaret pozunu yansıtacak şekilde yapılandırılır.

Microsoft.PerceptionSimulation.SimulatedHandPose.Pinch

Elin parmak eklemleri sıkıştırma pozunu yansıtacak şekilde yapılandırılmıştır.

Microsoft.PerceptionSimulation.SimulatedHandPose.Max

SimulatedHandPose için en büyük geçerli değer.

Microsoft.PerceptionSimulation.PlaybackState

Kayıttan yürütmenin durumunu açıklar.

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

Microsoft.PerceptionSimulation.PlaybackState.Stopped

Kayıt şu anda durduruldu ve kayıttan yürütme için hazır.

Microsoft.PerceptionSimulation.PlaybackState.Playing

Kayıt şu anda yürütülüyor.

Microsoft.PerceptionSimulation.PlaybackState.Paused

Kayıt şu anda duraklatılmış durumda.

Microsoft.PerceptionSimulation.PlaybackState.End

Kayıt sona ulaştı.

Microsoft.PerceptionSimulation.Vector3

3B alanda bir noktayı veya vektöri tanımlayabilen üç bileşenli bir vektör açıklar.

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

Microsoft.PerceptionSimulation.Vector3.X

Vektörünün X bileşeni.

Microsoft.PerceptionSimulation.Vector3.Y

Vektörünün Y bileşeni.

Microsoft.PerceptionSimulation.Vector3.Z

Vektörünün Z bileşeni.

Microsoft.PerceptionSimulation.Vector3.#ctor(System.Single,System.Single,System.Single)

Yeni bir Vector3 oluşturma.

Parametreler

  • x - Vektörünün x bileşeni.
  • y - Vektörünün y bileşeni.
  • z - Vektörünün z bileşeni.

Microsoft.PerceptionSimulation.Rotation3

Üç bileşen döndürmeyi açıklar.

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

Microsoft.PerceptionSimulation.Rotation3.Pitch

Döndürme'nin Pitch bileşeni, X ekseninin etrafında aşağı doğru.

Microsoft.PerceptionSimulation.Rotation3.Yaw

Döndürme'nin Y ekseninin hemen etrafındaki Yaw bileşeni.

Microsoft.PerceptionSimulation.Rotation3.Roll

Döndürme'nin Roll bileşeni, Z ekseninin hemen çevresindedir.

Microsoft.PerceptionSimulation.Rotation3.#ctor(System.Single,System.Single,System.Single)

Yeni bir Rotation3 oluşturma.

Parametreler

  • pitch - Döndürmenin perde bileşeni.
  • yaw - Döndürmenin çiy bileşeni.
  • roll - Döndürmenin rulo bileşeni.

Microsoft.PerceptionSimulation.SimulatedHandJointConfiguration

Simüle edilmiş bir eldeki bir eklemin yapılandırmasını açıklar.

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

Microsoft.PerceptionSimulation.SimulatedHandJointConfiguration.Position

Eklemin konumu.

Microsoft.PerceptionSimulation.SimulatedHandJointConfiguration.Rotation

Eklemin dönüşü.

Microsoft.PerceptionSimulation.SimulatedHandJointConfiguration.TrackingAccuracy

Eklemin izleme doğruluğu.

Microsoft.PerceptionSimulation.Frustum

Genellikle kamera tarafından kullanılan görünüm frustum'larını açıklar.

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

Microsoft.PerceptionSimulation.Frustum.Near

Frustumda yer alan minimum uzaklık.

Microsoft.PerceptionSimulation.Frustum.Far

Frustumda yer alan maksimum uzaklık.

Microsoft.PerceptionSimulation.Frustum.FieldOfView

Radyan cinsinden (PI'den küçük) frustum yatay görünüm alanı.

Microsoft.PerceptionSimulation.Frustum.AspectRatio

Yatay görünüm alanının dikey görünüm alanına oranı.

Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration

Simülasyon başlığı ekranının yapılandırmasını açıklar.

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

Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.LeftEyePosition

Stereo işleme amacıyla başın merkezinden sol göze dönüşüm.

Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.LeftEyeRotation

Stereo işleme amacıyla sol gözün dönüşü.

Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.RightEyePosition

Stereo işleme amacıyla başın merkezinden sağ göze dönüşüm.

Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.RightEyeRotation

Stereo işleme amacıyla sağ gözün dönmesi.

Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.Ipd

Stereo işleme amacıyla sistem tarafından bildirilen IPd değeri.

Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.ApplyEyeTransforms

Sol ve sağ göz dönüşümleri için sağlanan değerlerin geçerli kabul edilip edilmemesi ve çalışan sisteme uygulanması gerekir.

Microsoft.PerceptionSimulation.SimulatedDisplayConfiguration.ApplyIpd

Ipd için sağlanan değerin geçerli kabul edilip edilmeyeceği ve çalışan sisteme uygulanıp uygulanmayacağı.

Microsoft.PerceptionSimulation.IPerceptionSimulationManager

Bir cihazı denetlemek için kullanılan paketleri oluşturmak için kök.

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

Microsoft.PerceptionSimulation.IPerceptionSimulationManager.Device

Simülasyon insanını ve simülasyon dünyasını yorumlayan simülasyon cihazı nesnesini alın.

Microsoft.PerceptionSimulation.IPerceptionSimulationManager.Human

Simülasyon insanını denetleen nesneyi alın.

Microsoft.PerceptionSimulation.IPerceptionSimulationManager.Reset

Benzetimi varsayılan durumuna sıfırlar.

Microsoft.PerceptionSimulation.ISimulatedDevice

Simülasyon dünyasını ve simülasyon insanını yorumlayan cihazı açıklayan arabirim

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

Microsoft.PerceptionSimulation.ISimulatedDevice.HeadTracker

Simülasyon Cihazından Baş İzleyicisi'ni alın.

Microsoft.PerceptionSimulation.ISimulatedDevice.HandTracker

Simülasyon Cihazından El İzleyicisi'ni alın.

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

Simülasyon cihazının özelliklerini sağlanan cihaz türüyle eşleşecek şekilde ayarlayın.

Parametreler

  • type - Sanal Cihazın yeni türü

Microsoft.PerceptionSimulation.ISimulatedDevice2

ISimulatedDevice ISimulatedDevice2'ye türetilerek ek özellikler kullanılabilir

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

};

Microsoft.PerceptionSimulation.ISimulatedDevice2.IsUserPresent

Simülasyon cihazının mikrofonlu kulaklığı etkin bir şekilde takıp takmadığını alın veya ayarlayın.

Microsoft.PerceptionSimulation.ISimulatedDevice2.DisplayConfiguration

Simülasyon ekranının özelliklerini alın veya ayarlayın.

Microsoft.PerceptionSimulation.ISimulatedHeadTracker

Simülasyon cihazının simülasyon insanının başını izleyen kısmını açıklayan arabirim.

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

Microsoft.PerceptionSimulation.ISimulatedHeadTracker.HeadTrackerMode

Geçerli baş izleyici modunu alır ve ayarlar.

Microsoft.PerceptionSimulation.ISimulatedHandTracker

Simülasyon cihazının simülasyon insanının ellerini izleyen kısmını açıklayan arabirim

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

Microsoft.PerceptionSimulation.ISimulatedHandTracker.WorldPosition

Düğümün dünyayla ilişkili konumunu metreler halinde alın.

Microsoft.PerceptionSimulation.ISimulatedHandTracker.Position

Simülasyon el izleyicisinin konumunu başın merkezine göre alın ve ayarlayın.

Microsoft.PerceptionSimulation.ISimulatedHandTracker.Pitch

Simülasyon el izleyicisinin aşağı doğru perdesini alın ve ayarlayın.

Microsoft.PerceptionSimulation.ISimulatedHandTracker.FrustumIgnored

Sanal el izleyicisinin frustum değerinin yoksayılıp yoksayılmayacağını alın ve ayarlayın. Yoksayıldığında, her iki el de her zaman görünür durumdadır. Yoksayılmadığında (varsayılan) eller yalnızca el izleyicisinin frustumunun içinde olduklarında görünür.

Microsoft.PerceptionSimulation.ISimulatedHandTracker.Frustum

Ellerin simülasyon el izleyicisine görünür olup olmadığını belirlemek için kullanılan frustum özelliklerini alın ve ayarlayın.

Microsoft.PerceptionSimulation.ISimulatedHuman

Simülasyon insanını kontrol etmek için üst düzey arabirim.

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

Microsoft.PerceptionSimulation.ISimulatedHuman.WorldPosition

Düğümün dünyayla ilişkili konumunu metreler halinde alın ve ayarlayın. Konum, insan ayaklarının ortasındaki bir noktaya karşılık gelir.

Microsoft.PerceptionSimulation.ISimulatedHuman.Direction

Dünyadaki simülasyon insan yüzlerinin yönünü alın ve ayarlayın. 0 radyan negatif Z ekseninin aşağı yüzleridir. Pozitif radyanlar Y ekseni hakkında saat yönünde döner.

Microsoft.PerceptionSimulation.ISimulatedHuman.Height

Simülasyon insanının yüksekliğini metre cinsinden alın ve ayarlayın.

Microsoft.PerceptionSimulation.ISimulatedHuman.LeftHand

Simülasyon yapılan insanın sol elini alın.

Microsoft.PerceptionSimulation.ISimulatedHuman.RightHand

Simülasyon insanının sağ elini alın.

Microsoft.PerceptionSimulation.ISimulatedHuman.Head

Simülasyon yapılan insanın başını alın.

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

Simülasyon insanını geçerli konumuna göre metre olarak hareket ettirin.

Parametreler

  • translation - Geçerli konuma göre taşınacak çeviri.

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

Simülasyon insanını geçerli yönüne göre, Y eksenine göre saat yönünde döndürün

Parametreler

  • radyan - Y ekseni etrafında döndürülecek miktar.

Microsoft.PerceptionSimulation.ISimulatedHuman2

ISimulatedHuman'ı ISimulatedHuman2'ye dönüştürerek ek özellikler kullanılabilir

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

Microsoft.PerceptionSimulation.ISimulatedHuman2.LeftController

Sol 6-DOF denetleyicisini alın.

Microsoft.PerceptionSimulation.ISimulatedHuman2.RightController

Doğru 6-DOF denetleyicisini alın.

Microsoft.PerceptionSimulation.ISimulatedHand

Simülasyon insan elini açıklayan arabirim

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

Microsoft.PerceptionSimulation.ISimulatedHand.WorldPosition

Düğümün dünyayla ilişkili konumunu metre olarak alın.

Microsoft.PerceptionSimulation.ISimulatedHand.Position

Simülasyon elinin insana göre konumunu metre olarak alın ve ayarlayın.

Microsoft.PerceptionSimulation.ISimulatedHand.Activated

Elin şu anda etkinleştirilip etkinleştirilmediğini alın ve ayarlayın.

Microsoft.PerceptionSimulation.ISimulatedHand.Visible

Elin şu anda SimulatedDevice tarafından görünür olup olmadığını (yani HandTracker tarafından algılanacak bir konumda olup olmadığını) alın.

Microsoft.PerceptionSimulation.ISimulatedHand.EnsureVisible

Eli SimulatedDevice'e görünür olacak şekilde hareket ettirin.

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

Simülasyon elinin konumunu, geçerli konumuna göre metre olarak hareket ettirin.

Parametreler

  • translation - Benzetimi yapılan elin çevrilmesi için gereken miktar.

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

Simülasyon elini kullanarak bir hareket gerçekleştirin. Yalnızca el etkinse sistem tarafından algılanır.

Parametreler

  • gesture - Gerçekleştirilecek hareket.

Microsoft.PerceptionSimulation.ISimulatedHand2

ISimulatedHand'ı ISimulatedHand2'ye dönüştürerek ek özellikler kullanılabilir.

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

Microsoft.PerceptionSimulation.ISimulatedHand2.Orientation

Simülasyon elinin döndürmesini alın veya ayarlayın. Pozitif radyanlar eksen boyunca bakarken saat yönünde döner.

Microsoft.PerceptionSimulation.ISimulatedHand3

ISimulatedHand'ı ISimulatedHand3'e dönüştürerek ek özellikler sağlanır

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

Microsoft.PerceptionSimulation.ISimulatedHand3.GetJointConfiguration

Belirtilen birleşim için birleşik yapılandırmayı alın.

Microsoft.PerceptionSimulation.ISimulatedHand3.SetJointConfiguration

Belirtilen birleşim için birleşim yapılandırmasını ayarlayın.

Microsoft.PerceptionSimulation.ISimulatedHand3.SetHandPose

Animasyon eklemek için isteğe bağlı bir bayrakla eli bilinen bir poza ayarlayın. Not: Animating, eklemlerin son birleşim yapılandırmalarını hemen yansıtmasına neden olmaz.

Microsoft.PerceptionSimulation.ISimulatedHead

Simülasyon insanının başını açıklayan arabirim.

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

Microsoft.PerceptionSimulation.ISimulatedHead.WorldPosition

Düğümün dünyayla ilişkili konumunu metre olarak alın.

Microsoft.PerceptionSimulation.ISimulatedHead.Rotation

Simülasyon başlığının döndürmesini alın. Pozitif radyanlar eksen boyunca bakarken saat yönünde döner.

Microsoft.PerceptionSimulation.ISimulatedHead.Diameter

Simülasyon kafasının çapını alın. Bu değer, başın merkezini (döndürme noktası) belirlemek için kullanılır.

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

Simülasyon kafasını geçerli döndürmesine göre döndürün. Pozitif radyanlar eksen boyunca bakarken saat yönünde döner.

Parametreler

  • rotation - Döndürülecek miktar.

Microsoft.PerceptionSimulation.ISimulatedHead2

ISimulatedHead'i ISimulatedHead2'ye dönüştürerek ek özellikler kullanılabilir

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

Microsoft.PerceptionSimulation.ISimulatedHead2.Eyes

Simülasyon yapılan insanın gözlerini alın.

Microsoft.PerceptionSimulation.ISimulatedSixDofController

Sanal insanla ilişkili bir 6-DOF denetleyicisini açıklayan arabirim.

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

Microsoft.PerceptionSimulation.ISimulatedSixDofController.WorldPosition

Düğümün dünyayla ilişkili konumunu metre olarak alın.

Microsoft.PerceptionSimulation.ISimulatedSixDofController.Status

Denetleyicinin geçerli durumunu alın veya ayarlayın. Taşıma, döndürme veya basma düğmelerinin başarılı olması için denetleyici durumu Kapalı dışında bir değere ayarlanmalıdır.

Microsoft.PerceptionSimulation.ISimulatedSixDofController.Position

Simülasyon denetleyicisinin metreler içinde insana göre konumunu alın veya ayarlayın.

Microsoft.PerceptionSimulation.ISimulatedSixDofController.Orientation

Simülasyon denetleyicisinin yönlendirmesini alın veya ayarlayın.

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

Simülasyon denetleyicisinin konumunu geçerli konumuna göre metre olarak taşıyın.

Parametreler

  • translation - Sanal denetleyicinin çevrilmesi için gereken tutar.

Microsoft.PerceptionSimulation.ISimulatedSixDofController.PressButton(SimulatedSixDofControllerButton)

Simülasyon denetleyicisindeki bir düğmeye basın. Yalnızca denetleyici etkinse sistem tarafından algılanır.

Parametreler

  • button - Basacak düğme.

Microsoft.PerceptionSimulation.ISimulatedSixDofController.ReleaseButton(SimulatedSixDofControllerButton)

Sanal denetleyicide bir düğme bırakın. Yalnızca denetleyici etkinse sistem tarafından algılanır.

Parametreler

  • button - Yayına açılan düğme.

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

Sanal bir parmağın simülasyon kumandasının dokunmatik yüzeyi üzerindeki konumunu alın.

Parametreler

  • x - Parmağın yatay konumu.
  • y - Parmağın dikey konumu.

Microsoft.PerceptionSimulation.ISimulatedSixDofController.SetTouchpadPosition(float, float)

Simülasyon cihazının dokunmatik yüzeyi üzerindeki simülasyon parmağının konumunu ayarlayın.

Parametreler

  • x - Parmağın yatay konumu.
  • y - Parmağın dikey konumu.

Microsoft.PerceptionSimulation.ISimulatedSixDofController2

ISimulatedSixDofController'ı ISimulatedSixDofController2'ye dönüştürerek ek özellikler ve yöntemler kullanılabilir

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

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

Simülasyon kumandası üzerindeki simülasyon kontrol çubuğunun konumunu alın.

Parametreler

  • x - Parmak çubuğunun yatay konumu.
  • y - Parmak çubuğunun dikey konumu.

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

Simülasyon kontrol çubuğunun simülasyon kumandası üzerindeki konumunu ayarlayın.

Parametreler

  • x - Parmak çubuğunun yatay konumu.
  • y - Parmak çubuğunun dikey konumu.

Microsoft.PerceptionSimulation.ISimulatedSixDofController2.BatteryLevel

Simülasyon denetleyicisinin pil düzeyini alın veya ayarlayın. Değer 0,0'dan büyük ve 100,0'dan küçük veya buna eşit olmalıdır.

Microsoft.PerceptionSimulation.ISimulatedEyes

Simüle edilmiş insanın gözlerini açıklayan arabirim.

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

Microsoft.PerceptionSimulation.ISimulatedEyes.Rotation

Simülasyon gözlerinin dönüşünü alma. Pozitif radyanlar eksen boyunca bakarken saat yönünde döner.

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

Simülasyon gözlerini geçerli dönüşüne göre döndürün. Pozitif radyanlar eksen boyunca bakarken saat yönünde döner.

Parametreler

  • rotation - Döndürülecek miktar.

Microsoft.PerceptionSimulation.ISimulatedEyes.CalibrationState

Simülasyon gözlerinin kalibrasyon durumunu alır veya ayarlar.

Microsoft.PerceptionSimulation.ISimulatedEyes.WorldPosition

Düğümün dünyayla ilişkili konumunu metre olarak alın.

Microsoft.PerceptionSimulation.ISimulationRecording

Kayıttan yürütme için yüklenen tek bir kayıtla etkileşime yönelik arabirim.

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

Microsoft.PerceptionSimulation.ISimulationRecording.DataTypes

Kayıttaki veri türlerinin listesini alır.

Microsoft.PerceptionSimulation.ISimulationRecording.State

Kaydın geçerli durumunu alır.

Microsoft.PerceptionSimulation.ISimulationRecording.Play

Kayıttan yürütmeyi başlatın. Kayıt duraklatıldıysa, kayıttan yürütme duraklatılan konumdan devam eder; durdurulursa, kayıttan yürütme en baştan başlar. Zaten yürütülüyorsa, bu çağrı yoksayılır.

Microsoft.PerceptionSimulation.ISimulationRecording.Pause

Kayıttan yürütmeyi geçerli konumunda duraklatır. Kayıt durdurulursa çağrı yoksayılır.

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

Kaydı belirtilen zamana (başlangıçtan itibaren 100 nanosaniyelik aralıklarla) arar ve bu konumda duraklatır. Süre kaydın sonunun ötesindeyse, son karede duraklatılır.

Parametreler

  • ticks - Aranacak zaman.

Microsoft.PerceptionSimulation.ISimulationRecording.Stop

Kayıttan yürütmeyi durdurur ve konumu başa sıfırlar.

Microsoft.PerceptionSimulation.ISimulationRecordingCallback

Kayıttan yürütme sırasında durum değişikliklerini almak için arabirim.

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

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

ISimulationRecording'in kayıttan yürütme durumu değiştiğinde çağrılır.

Parametreler

  • newState - Kaydın yeni durumu.

Microsoft.PerceptionSimulation.PerceptionSimulationManager

Algı Benzetimi nesneleri oluşturmak için kök nesne.

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

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

Simülasyon paketleri oluşturmak ve bunları sağlanan havuza teslim etmek için nesne üzerinde oluşturun.

Parametreler

  • sink - Oluşturulan tüm paketleri alacak olan havuz.

Döndürülen değer

Oluşturulan Yönetici.

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

Alınan tüm paketleri belirtilen yolda bir dosyada depolayan bir havuz oluşturun.

Parametreler

  • path - Oluşturulacak dosyanın yolu.

Döndürülen değer

Oluşturulan havuz.

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

Belirtilen dosyadan bir kayıt yükleyin.

Parametreler

  • path - Yüklenemiyor dosyasının yolu.
  • factory - Kayıt tarafından gerektiğinde ISimulationStreamSink oluşturmak için kullanılan fabrika.

Döndürülen değer

Yüklenen kayıt.

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

Belirtilen dosyadan bir kayıt yükleyin.

Parametreler

  • path - Yüklenemiyor dosyasının yolu.
  • factory - Kayıt tarafından gerektiğinde ISimulationStreamSink oluşturmak için kullanılan fabrika.
  • geri çağırma - Kaydın durumunu yeniden notlayan güncelleştirmeleri alan bir geri arama.

Döndürülen değer

Yüklenen kayıt.

Microsoft.PerceptionSimulation.StreamDataTypes

Farklı akış veri türlerini açıklar.

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
}

Microsoft.PerceptionSimulation.StreamDataTypes.None

Akış verisi türünü belirtmek için kullanılan bir sentinel değeri.

Microsoft.PerceptionSimulation.StreamDataTypes.Head

Başın konumu ve yönlendirmesi için veri akışı.

Microsoft.PerceptionSimulation.StreamDataTypes.Hands

Ellerin konumu ve hareketleri için veri akışı.

Microsoft.PerceptionSimulation.StreamDataTypes.SpatialMapping

Ortamın uzamsal eşlemesi için veri akışı.

Microsoft.PerceptionSimulation.StreamDataTypes.Calibration

Cihazın kalibrasyonu için veri akışı. Kalibrasyon paketleri yalnızca Uzak Mod'daki bir sistem tarafından kabul edilir.

Microsoft.PerceptionSimulation.StreamDataTypes.Environment

Cihaz ortamı için veri akışı.

Microsoft.PerceptionSimulation.StreamDataTypes.SixDofControllers

Hareket denetleyicileri için veri akışı.

Microsoft.PerceptionSimulation.StreamDataTypes.Eyes

Simülasyon insanının gözleri ile veri akışı.

Microsoft.PerceptionSimulation.StreamDataTypes.DisplayConfiguration

Cihazın görüntü yapılandırmasıyla veri akışı.

Microsoft.PerceptionSimulation.StreamDataTypes.All

Tüm kayıtlı veri türlerini göstermek için kullanılan bir sentinel değeri.

Microsoft.PerceptionSimulation.ISimulationStreamSink

Simülasyon akışından veri paketleri alan nesne.

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

Microsoft.PerceptionSimulation.ISimulationStreamSink.OnPacketReceived(uint length, byte[] packet)

Dahili olarak yazılan ve sürümlenen tek bir paket alır.

Parametreler

  • length - Paketin uzunluğu.
  • packet - Paketin verileri.

Microsoft.PerceptionSimulation.ISimulationStreamSinkFactory

ISimulationStreamSink oluşturan bir nesne.

public interface ISimulationStreamSinkFactory
{
    ISimulationStreamSink CreateSimulationStreamSink();
}

Microsoft.PerceptionSimulation.ISimulationStreamSinkFactory.CreateSimulationStreamSink()

ISimulationStreamSink'in tek bir örneğini oluşturur.

Döndürülen değer

Oluşturulan havuz.