Karma gerçeklik fotoğrafları çekme ve yükleme
Bu makalede, karma gerçeklik oturumunun fotoğraflarını çekebilecek ve bunları OneDrive'da bir klasöre yükleyebilecek bir uygulama oluşturacağız. Bu örnekte MR'de görüntüle denetimini kullanacağız ancak Şekli MR'de görüntüle ve Ölçüm Kamerası denetimleri de işe yarayacaktır.
Aşağıdaki görevleri ele alacağız:
- Örnek bir 3B nesneyi görüntülemek ve işlemek için 3B nesne denetimi ekleme
- Gerçek dünyada 3B nesneyi görüntülemek için 3B nesne denetimini MR'de görüntüle denetimine bağlama
- MR'de görüntüle denetimiyle çekilen fotoğrafları görüntülemek için Galeri denetimi ekleme
- Microsoft Power Automate akışıyla fotoğrafları OneDrive'a yükleme
- Karma gerçeklik ile yakalanan fotoğrafları Dataverse'e yükleme
Ön Koşullar
- Boş tuval uygulaması oluşturun.
- OneDrive'da MRPhotos adlı bir klasör oluşturun. Yüklediğiniz fotoğrafları depolamak için bu klasörü kullanacaksınız.
İpucu
Karma gerçeklik (MR) denetimleri en iyi düz dokulu yüzeylere sahip iyi aydınlatılmış ortamlarda çalışır. İzleme, LIDAR etkin cihazlarda daha iyi çalışır.
Karma gerçeklikte bir 3B nesnenin fotoğrafını çekmek için düğme ekleme
Bu örnekte üç bölüm vardır. İlk olarak, kullanıcıların karma gerçeklik deneyiminde bir 3D object'in fotoğrafını çekmesine olanak tanıyan düğme ekleyeceğiz.
3B nesne denetimi ekleyin
Uygulamanız, Power Apps Studio uygulamasında düzenleme için açıkken:
Ekle sekmesini açın ve Medya seçeneğini genişletin.
Uygulama ekranına 3D object yerleştirmek için 3D object'yi seçin. Daha hassas şekilde konumlandırmak için denetimi ekrana sürükleyin.
Denetim, saydam bir küp şekille birlikte gelir. İsterseniz farklı bir 3B modeli yüklemek için denetimin Source özelliğini değiştirin. Bu örnekte, şu URL'yi kullanacağız: https://raw.githubusercontent.com/microsoft/experimental-pcf-control-assets/master/robot_arm.glb.
MR'de görüntüle denetimi ekleme ve bağlama
Ekle sekmesini açın ve Karma Gerçeklik'i genişletin.
Denetimi uygulama ekranına yerleştirmek için MR'de görüntüle'yi seçin veya daha hassas bir şekilde konumlandırmak için denetimi ekrana sürükleyin.
Denetimin Source özelliğini 3DObject1.Source olarak değiştirin. (3DObject1, daha önce eklediğimiz 3B nesne denetiminin adıdır.) Bu ifade, 3D model cihaz kamera akışına yerleştirmek için MR'de görüntüle denetimini yönlendirir.
Uygulamayı kaydedip yayınlayın ve mobil cihazınızda çalıştırın.
3B nesneyi karma gerçeklikte görüntülemek için MR'de görüntüle'yi seçin. MR görünümünün fotoğrafını çekmek için kamera simgesini seçin.
Uygulamada çekilen fotoğrafları görüntülemek için Galeri denetimi ekleme
Şimdi, kullanıcıların çektikleri fotoğrafları görebilmesi için bir galeri ekleyeceğiz.
Uygulamanızı yeniden düzenleyin. Ekle sekmesini açın ve ekrana Vertical gallery denetimi yerleştirin.
Denetimin Items özelliğini ViewInMR1.Photos olarak değiştirin. (ViewInMR1, daha önce eklediğimiz MR'de görüntüle denetiminin adıdır.)
İsteğe bağlı olarak, galerinin Layout özelliğini Resim ve başlık olarak değiştirin.
Uygulamayı önizleyin ve örnek bir fotoğraf oluşturmak için MR'de görüntüle'yi seçin. Galeri bir örnek resimle doldurulur.
Not
Kullanıcılar galeriyi görmek için MR görünümünden çıkar ve ardından tekrar MR görünümüne girip daha fazla fotoğraf çekerse yeni fotoğraflar daha önce çektikleri fotoğrafların yerini alır.
Galeride küçük resim görüntülerine daha büyük bir katman ekleme
Galeride fotoğrafların daha kolay görülmesini sağlamak için kullanıcı bir küçük resim görüntüsü seçtiğinde görünen tam boyutlu bir katman ekleyebilirsiniz.
Uygulamanızı yeniden düzenleyin. Ekle sekmesini açın ve Medya seçeneğini genişletin.
Ekrana görüntü denetimi yerleştirmek için Görüntü'yü seçin. Küçük resim seçildiğinde daha büyük fotoğrafın nasıl görünmesini istediğinize göre bunu taşıyın ve boyutlandırın.
Görüntü denetiminin özelliklerini aşağıdaki gibi değiştirin: | Özellik | Değer | | - | - | | OnSelect | UpdateContext({vVisibleImageZoom:false}) | | Görüntü | Gallery1.Selected.Image2 (Galeri denetiminin Gallery1 ve ilk küçük resim görüntüsünün Image2 olduğunu varsayarak) | Görünür | vVisibleImageZoom
Galeri denetimindeki ilk küçük resim görüntüsünü seçin. OnSelect özelliğini UpdateContext({vVisibleImageZoom:true}) olarak değiştirin.
Uygulamayı kaydedip yayınlayın ve mobil cihazınızda çalıştırın.
MR'de görüntüle seçeneğini belirleyin ve ardından fotoğraf çekmek için kamera simgesini seçin. MR görünümünden çıkmak için ekranın üst kısmındaki geri okunu seçin.
Fotoğrafın daha büyük bir sürümünü göstermek için galerideki küçük resmi seçin. Gizlemek için görüntüyü seçin.
Power Automate akışıyla fotoğrafları OneDrive'a yükleme
Son olarak, Power Automate bölmesini kullanarak bir iş akışı oluşturacağız. İş akışı, fotoğrafları uygulamadan OneDrive'daki MRPhotos adlı klasöre yükler.
Power Automate'te akış oluşturma
Uygulamanızı düzenleyin. Uygulama yazma menüsünde, Power Automate > Yeni akış oluştur'u seçin.
Power Apps düğmesi şablonunu arayın ve seçin.
Akışınızı oluşturun penceresinde, Gelişmiş modda düzenle'yi seçin.
Pencerenin üst kısmında Power Apps düğmesi'ni seçin ve akışınız için yeni bir ad girin. Bu örnekte, akışı MR Fotoğrafı Yükle olarak adlandıracağız.
Pencerenin üst kısmında Power Apps düğmesini seçin ve akışınız için yeni bir ad girin. Bu örnekte, akışı MR Fotoğrafı Yükle olarak adlandıracağız.
PowerApps (V2) araması yapın ve PowerApps (V2) tetikleyicisini seçin.
Giriş ekleyin'i seçin ve ardından Dosya seçeneğini belirleyin.
Dosya İçeriği etiketini Görüntü olarak değiştirin.
Yeni adım'ı seçin. OneDrive Dosya oluştur araması yapın ve Dosya oluştur eylemini seçin.
Klasör Yolu'nda, klasör simgesini seçin ve daha önce oluşturduğunuz MRPhotos klasörüne gidin.
Dosya Adı'nda, @{triggerBody()?['file']?['name']} girin (Metniniz "file.name" olarak değişir.)
Dosya İçeriği'nde, @{triggerBody()['file']['contentBytes']} girin (Metniniz "Görüntü" olarak değişir.)
Akışınızı kaydedin.
Tam akışın aşağıdaki gibi görünmesi gerekir:
İş akışını uygulamanızda bir düğmeye bağlama
Power Apps Studio'da uygulamanıza dönün. Akışınız artık Mevcut akışlar altında listelenir.
Ekle sekmesini açın ve Düğme'yi seçin. Düğme denetimini ekrana yerleştirin ve gerektiği gibi yeniden boyutlandırın.
Düğme denetiminin Text özelliğini Fotoğraf yükle olarak değiştirin.
Power Apps penceresinin üst kısmındaki formül çubuğunda OnSelect özelliğini seçin. Eylem > Power Automate > MR Fotoğrafı Yükle'yi seçin.
Düğme denetiminin OnSelect özelliği, UploadMRPhoto.Run( olarak değişir.
Çekilen son fotoğrafı yüklemek için açma parantezinden sonra şu kodu yapıştırın: {file:{name:GUID() & ".png", contentBytes:Last(ViewInMR1.Photos).ImageURI}})
Düğme kontrolünü galerinin içine yerleştirdiyseniz bunun yerine şu kodu yapıştırın: {file: {name:GUID() & ".png", contentBytes:ThisItem.ImageURI}})
Düğmenin çekilen tüm fotoğrafları yüklemesini sağlamak için UploadMRPhoto.Run( kodunu silin ve şu kodu yapıştırın: ForAll(ViewInMR1.Photos, UploadMRPhoto.Run({file:{name:GUID() & ".png", contentBytes:ImageURI}}))
Uygulamayı önizleyip MR'de görüntüle'yi seçin ve ardından Fotoğraf yükle seçeneğini belirleyin. OneDrive'da MRPhotos klasörünü denetleyin ve örnek fotoğrafın yüklendiğini onaylayın.
Uygulamanıza çevrimdışı özelliği ekleme
SaveData ve LoadData işlevlerini kullanarak, sınırlı ağ bağlantınız olduğunda veya hiç ağ bağlantınız olmadığında bile uygulamanızı kullanabilirsiniz.
Karma gerçeklik ile yakalanan fotoğrafları Dataverse'e yükleme
Resim veri türü sütunu aracılığıyla Dataverse tablolarına fotoğraflar ekleyebilirsiniz. Dataverse'teki resim sütunlarında iki zorunlu alan bulunur (Tam ve Değer). Bunlar MR denetimlerinin ImageURI çıkışı olarak ayarlanabilir.
Örneğin, Markup in MR denetimi tarafından yakalanan ilk fotoğrafı Resim adlı Dataverse sütununa yüklemek istiyorsanız:
Image: {Full: First(MarkupInMR.Photos).ImageURI, Value: First(MarkupInMR.Photos).ImageURI}
Ayrıca bkz.
Not
Belge dili tercihlerinizi bizimle paylaşabilir misiniz? Kısa bir ankete katılın. (lütfen bu anketin İngilizce olduğunu unutmayın)
Anket yaklaşık yedi dakika sürecektir. Kişisel veri toplanmaz (gizlilik bildirimi).