Holographic Remoting uzak uygulamasıyla uygulamanızı desteklemek için bilgisayar kaynaklarını kullanma
Bu makalede Holographic Remoting için aşağıdaki kullanım örneği açıklanmaktadır:
- HoloLens yerleşik kaynaklarına güvenmek yerine bir bilgisayarın kaynaklarının uygulamanızı açmasını istiyorsunuz: Holographic Remoting özelliğine sahip bir uygulama oluşturabilir ve oluşturabilirsiniz. Kullanıcı uygulamayı HoloLens'te deneyimler, ancak uygulama aslında bir bilgisayarda çalışır ve bu da uygulamanın bilgisayarın daha güçlü kaynaklarından yararlanmasını sağlar. Bu özellikle uygulamanızın yüksek çözünürlüklü varlıkları veya modelleri varsa ve kare hızının düşmesini istemiyorsanız yararlı olabilir. Buna Holografik Uzaktan İletişim uzak uygulaması diyoruz. HoloLens'ten (bakış, hareket, ses ve uzamsal eşleme) gelen girişler, içeriğin sanal çevreleyici bir görünümde işlendiği bilgisayara gönderilir. İşlenen çerçeveler daha sonra HoloLens'e gönderilir.
Bu holografik uzaktan iletişim türü Windows Mixed Reality (WMR) çevreleyici başlıklar için de kullanılabilir. Örneğin, WMR mikrofonlu kulaklığınız bir sırt çantası bilgisayarına bağlıysa ve uygulamanızı daha güçlü bir bilgisayardan sırt çantası bilgisayarına akışla aktarmak istiyorsanız bu yararlı olabilir.
Holografik Uzaktan İletişim hakkında daha fazla bilgi edinmek için bkz. Holografik Uzaktan İletişime Genel Bakış
Geliştirme işlemi sırasında uygulamanızın önizlemesini görüntülemek ve hatalarını ayıklamak istiyorsanız Holographic Remoting'i de kullanabileceğinizi unutmayın.
Holographic Remoting'de iki kullanılabilir mod
Mod 1: Bilgisayarda Bağlan modunda çalışan uzak uygulama, Dinleme modunda HoloLens 2 üzerinde çalışan Player.
Uzak uygulama bağlanmaya çalışırken Player gelen bağlantıları dinler.
2. Mod: Bilgisayarda Dinleme modunda çalışan uzak uygulama, bağlanma modunda HoloLens 2 üzerinde çalışan Yürütücü.
Player bağlanmayı denerken uzak uygulama gelen bağlantıları dinler.
Holographic Remoting Player uygulamasını ayarlama
Holographic Remoting'i tek başına Mod 1'de kullanmak için, HoloLens 2 'ınıza Microsoft Store'dan Holographic Remoting Player uygulamasını yükleyin (bu makalede, buna yalnızca "Oynatıcı" olarak adlandıracağız). Aşağıda açıklandığı gibi, uygulamayı indirip çalıştırdıktan sonra bağlanılacak sürüm numarasını ve IP adresini görürsünüz. Kullanılabilir Player'ın en son sürümünü kullanmanızı öneririz.
Holografik Uzaktan İletişim hızlı bir bilgisayar ve Wi-Fi bağlantısı gerektirir. Daha fazla ayrıntıyı yukarıda bağlantısı verilen Player makalesinde bulabilirsiniz.
Holographic Remoting'i yukarıda belirtilen her iki modda da kullanmak için Holographic Remoting Sample oynatıcısını kopyalamanız ve Visual Studio kullanarak HoloLens 2 dağıtmanız gerekir.
Unity kullanarak Holographic Remoting için bilgisayarda çalışan bir uzak uygulama oluşturma
Menü çubuğunda Proje Ayarlarını Düzenle'yi >seçin.
Sol taraftaki sütunda XR eklenti Yönetimi'ni seçin.
Evrensel Windows Platformu ayarları sekmesinde olduğunuzdan emin olun.
OpenXR eklentisi bölümünde Microsoft HoloLens özellik grubunu ve Holographic Remoting uzak uygulama özellik grubunu seçin.
Başlangıçta XR'yi Başlat onay kutusunun seçimini kaldırın.
Uzaktan iletişim yapılandırmasını ayarlamak ve XR başlatmasını tetiklemek için kod yazın. Uygulama, Mod 1 için Connect işlevine veya Mod 2 için Listen işlevine çağrı yapabilir. Bir örnek görmek için Open XR Unity Karma Gerçeklik örneklerimizi indirin ve ardından RemotingSample projesinde AppRemoting.cs betiğini görüntüleyin.
Mod 1 için , Bağlan modu için, doldurulmuş bir ile çağrısında
Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Connect
bulunurRemotingConfiguration
. Örnek uygulama bunu Denetçi'de kullanıma sunar ve bir metin alanından IP adresinin nasıl doldurulduğunu gösterir. ÇağrısıConnect
, yapılandırmayı ayarlar ve XR'yi otomatik olarak başlatır; bu nedenle eş yordam olarak çağrılması gerekir:StartCoroutine(Remoting.AppRemoting.Connect(remotingConfiguration));
2. Mod olan Dinleme modu için, doldurulmuş bir ile çağrısında
Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Listen
bulunurRemotingListenConfiguration
. Örnek uygulama bunu Denetçi'de kullanıma sunar. ÇağrısıListen
, yapılandırmayı ayarlar ve Holographic Remoting örnek oynatıcısından bir bağlantı bekler; bu nedenle eş yordam olarak çağrılması gerekir:StartCoroutine(Remoting.AppRemoting.Listen(remotingListenConfiguration));
komutunu çalıştırırken API ile
AppRemoting.TryGetConnectionState
geçerli bağlantı durumunu elde edebilir ve isteğe bağlı olarak kullanarakAppRemoting.Disconnect()
XR bağlantısını kesebilir ve başlatmasını kaldırabilirsiniz. Bu, aynı uygulama oturumunda farklı bir cihazın bağlantısını kesmek ve yeniden bağlanmak için kullanılabilir. RemotingSample uygulaması, dokunulduğunda uzaktan iletişim oturumunun bağlantısını kesen uygulanabilir bir küp sağlar.
Holographic Remoting uzak uygulamasını ve Player uygulamasını yukarıda açıklanan modlarda çalıştırın
Mod 1: Bilgisayarda Holographic Remoting uzak uygulamasını Bağlan Modu'nda ve Yürütücü'leri Dinleme Modunda çalıştırın:
Player HoloLens 2 mağazadan zaten yüklüyse, Örnek Oynatıcı uygulamasını derleyip çalıştırdığınız aşağıdaki 2. ve 3. adım numaralarını atlayın. Bunun yerine yüklü Player'ı çalıştırın ve 4. adımla devam edin.
VS 2019 kullanarak Holographic Uzaktan İletişim Örnek Oynatıcı uygulamasını açın ve aşağıdakilerden birini yapın:
USB kablosu kullanarak bir HoloLens 2 çalıştırmak için:
- Derleme seçeneklerini burada gösterildiği gibi yapılandırın:
- Projenin Özellikler sayfasını açın ve Yapılandırma Özellikleri>Hata Ayıklama'ya gidin.
- Hata Ayıklayıcı'ya tıklayarak açılan listeyi başlatın ve ardından Cihaz'ı seçin.
- Komut Satırı Bağımsız Değişkenleri alanına "-listen" ekleyin.
Wifi kullanarak bir HoloLens 2 çalıştırmak için:
- Derleme seçeneklerini burada gösterildiği gibi yapılandırın:
- Projenin Özellikler sayfasını açın ve Yapılandırma Özellikleri>Hata Ayıklama'ya gidin.
- Hata Ayıklayıcı'ya tıklayarak açılan listeyi başlatın ve ardından Uzak Makine'yi seçin.
- Komut Satırı Bağımsız Değişkenleri alanına HoloLens'in Wifi IP adresini ekleyin.
SamplePlayer çözümünü HoloLens 2 dağıtmak için Visual Studio'da yürüt düğmesine basın. HOLOLENS 2 üzerinde çalışan HAR Örnek oynatıcısını görebilir ve bunun "HoloLens 2 IP adresinde bağlantı bekleniyor" olduğunu görebilirsiniz.
Konak bilgisayarda çalışan uzak uygulamada, yukarıda görüntülenen HoloLens 2 IP adresini ekleyin ve bağlan'ı seçin.
Bağlantı kurulduktan sonra, HoloLens 2 üzerinde çalışan Yürütücü "Alma" başlar.
Mod 2: Uzak uygulamayı bilgisayarınızda Dinleme Modu'nda ve HAR player uygulamasını Da Connect Modu'nda çalıştırın:
Bilgisayarda çalışan uzak uygulamanın 2B kullanıcı arabirimi ekranında Dinle'ye tıklayın.
Projenin Özellikler sayfasını açın ve Yapılandırma Özellikleri>Hata Ayıklama'ya gidin.
Hata Ayıklayıcı'ya tıklayarak açılan listeyi başlatın ve ardından Cihaz'ı seçin.
Komut Satırı Bağımsız Değişkenleri alanına ana bilgisayarın IP adresini ekleyin.
SamplePlayer çözümünü HoloLens 2 dağıtmak için Visual Studio çözümünde yürüt düğmesine tıklayın. HoloLens 2 üzerinde çalışan HAR Örnek oynatıcısını görebilir ve bunun "Komut satırı bağımsız değişkenlerinde verilen IP adresine bağlanma" olduğunu görebilirsiniz.
Bağlantı kurulduktan sonra, HoloLens 2 üzerinde çalışan Holographic Uzaktan İletişim Örnek Oynatıcı uygulaması "Alma" işlemini başlatır.
İpucu
En iyi sonuçları elde için uygulamanızın . . /focus point. Bu, Holographic Remoting'in sahnenizi kablosuz bağlantınızın gecikme süresine en iyi şekilde uyarlamasına yardımcı olur.
Önceki Holografik Uzaktan İletişim API'lerinden geçiş
Holografik Uzaktan İletişim hakkında daha fazla bilgi edinmek için bkz. Holografik Uzaktan İletişime Genel Bakış
UnityEngine.XR.WSA.HolographicRemoting
Unity'nin belgelerindeki örnek koddan:
XR. WSA. HolographicRemoting | OpenXR.Remoting.AppRemoting |
---|---|
HolographicRemoting.ConnectRemotingSession() |
AppRemoting.Connect(RemotingConfiguration) |
HolographicRemoting.DisconnectRemotingSession() |
AppRemoting.Disconnect() |
HolographicRemoting.ConnectionState |
AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason) |
UnityEngine.XR.WindowsMR. WindowsMRRemoting
XR.WindowsMR. WindowsMRRemoting | OpenXR.Remoting.AppRemoting |
---|---|
WindowsMRRemoting.Connect() |
AppRemoting.Connect(RemotingConfiguration) |
WindowsMRRemoting.Listen() |
AppRemoting.Listen(RemotingListenConfiguration) |
WindowsMRRemoting.Disconnect() |
AppRemoting.Disconnect() |
WindowsMRRemoting.TryGetConnectionState(out ConnectionState) ve WindowsMRRemoting.TryGetConnectionFailureReason(out ConnectionFailureReason) |
AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason) |
WindowsMRRemoting.isAudioEnabled , WindowsMRRemoting.maxBitRateKbps , WindowsMRRemoting.remoteMachineName |
Yapı aracılığıyla RemotingConfiguration içine geçirildi AppRemoting.Connect |
WindowsMRRemoting.isConnected |
AppRemoting.TryGetConnectionState(out ConnectionState state, out _) && state == ConnectionState.Connected |