Hızlı Başlangıç: Yerel C++ WMR örneğini HoloLens

Bu hızlı başlangıçta, yerel C++ WMR (Windows Mixed Reality) öğretici uygulamasının HoloLens 2.

Bu hızlı başlangıçta şunları yapmayı öğreneceksiniz:

  • Öğretici uygulamasını HoloLens.
  • Kaynak kodda ARR kimlik bilgilerini değiştirme.
  • Örneği cihazda dağıtın ve çalıştırın.

Önkoşullar

Azure Remote Rendering hizmetine erişmek için öncelikle bir hesap oluşturmanız gerekir.

Aşağıdaki yazılımların yüklü olması gerekir:

ARR örnekleri deposunu kopyalama

İlk adım olarak, genel veri deposu örneklerinin yer Azure Remote Rendering kopyalarız. Bir komut istemi açın (Windows başlat menüsüne yazın) ve ARR örnek cmd projesini depolamak istediğiniz dizine gidin.

Aşağıdaki komutları çalıştırın:

mkdir ARR
cd ARR
git clone https://github.com/Azure/azure-remote-rendering

Son komut, ARR dizininde aşağıdakiler için çeşitli örnek projeleri içeren bir alt Azure Remote Rendering.

C++ HoloLens öğreticisi NativeCpp/HoloLens-Wmr alt dizininde bulunabilir.

Projeyi derleme

NativeCpp/HoloLens-Wmr alt dizininde bulunan HolographicApp.sln çözüm dosyasını Visual Studio 2019'u açın.

Derleme yapılandırmasını Hata Ayıklama (veya Yayın ) ve ARM64 olarak değiştirme. Ayrıca, hata ayıklayıcı modunun Uzak Makine yerine Cihaz olarak ayarlanmış olduğundan emin olun:

Visual Studio yapılandırması

Hesap kimlik bilgileri öğreticinin kaynak koduna sabit kodlandıktan sonra bunları geçerli kimlik bilgileriyle değiştirebilirsiniz. Bunun için dosyasını HolographicAppMain.cpp dosyanın içinde Visual Studio ve sınıfının oluşturucusuz içinde istemcinin oluşturularak bölümünü değiştirebilirsiniz: HolographicAppMain

// 2. Create Client
{
    // Users need to fill out the following with their account data and model
    RR::SessionConfiguration init;
    init.AccountId = "00000000-0000-0000-0000-000000000000";
    init.AccountKey = "<account key>";
    init.RemoteRenderingDomain = "westus2.mixedreality.azure.com"; // <change to the region that the rendering session should be created in>
    init.AccountDomain = "westus2.mixedreality.azure.com"; // <change to the region the account was created in>
    m_modelURI = "builtin://Engine";
    m_sessionOverride = ""; // If there is a valid session ID to re-use, put it here. Otherwise a new one is created
    m_client = RR::ApiHandle(RR::RemoteRenderingClient(init));
}

Özellikle aşağıdaki değerleri değiştirebilirsiniz:

  • init.AccountId, init.AccountKey ve hesap verilerinizi kullanmak init.AccountDomain için. Hesap bilgilerini alma hakkında paragrafa bakın.
  • Dizenin diğer bölgeleri için bölge bölümünü değiştirerek uzaktan işleme init.RemoteRenderingDomain oturumunun oluşturulacak yeri westus2 belirtin, örneğin "westeurope.mixedreality.azure.com" .
  • Ayrıca, m_sessionOverride mevcut oturum kimliğine değiştirilebilir. Oturumlar bu örneğin dışında, örneğin PowerShell betiği kullanılarak veya doğrudan oturum REST API oluşturulabilir. Örneğin birden çok kez çalışması gereken örnek dışında bir oturum oluşturulması önerilir. Hiçbir oturum geçir geçirilse, örnek her başlatmada yeni bir oturum oluşturacak ve bu birkaç dakika sürebilir.

Artık uygulama derlenmiş olabilir.

Uygulamayı başlatma

  1. HoloLens'i USB kablosuyla bilgisayarınıza bağlayın.
  2. Başlat menüsünü HoloLens ve başlat menüsü gelene kadar bekleyin.
  3. Visual Studio'da Hata Ayıklayıcı'yı başlatın (F5). Bu, uygulamayı otomatik olarak cihaza dağıtır.

Örnek uygulamanın başlatılması gerekir ve geçerli uygulama durumu hakkında sizi bilgilendiren bir metin paneli görüntüleyebilirsiniz. Başlangıç zamanında durum, yeni bir oturum başlatmak veya var olan bir oturuma bağlanmaktır. Model yüklemesi tamamlandıktan sonra yerleşik altyapı modeli tam da baş konumda görünür. Occlusion-wise, altyapı modeli yerel olarak işlenen dönen küple düzgün bir şekilde etkileşime başlar.

Örneği daha sonra ikinci kez başlatmak için HoloLens menüsünden de bulabilirsiniz ancak içinde süresi dolmuş bir oturum kimliği olduğunu unutmayın.

Sonraki adımlar

Bu hızlı başlangıç, ilgili tüm parçaları bir stok Holographic App ile Remote Rendering bir öğreticinin sonucunu temel alınarak hazırlar. Hangi adımların gerekli olduğunu öğrenmek için bu öğreticiyi izleyin: