MRTK2 profil yapılandırma kılavuzu

Karma Gerçeklik Araç Seti, araç setini yönetmek için gereken yapılandırmanın çoğunu mümkün olduğunca merkezileştirir (gerçek çalışma zamanı "öğeleri" dışında).

Bu kılavuz, araç seti için şu anda kullanılabilen yapılandırma profili ekranlarının her biri için basit bir kılavuzdur.

Ana Karma Gerçeklik Araç Seti yapılandırma profili

Sahnenizdeki MixedRealityToolkit GameObject'e eklenen ana yapılandırma profili, projenizdeki Araç Seti için ana giriş noktasını sağlar.

Not

Karma Gerçeklik Araç Seti, projeniz için her zaman ortak bir başlangıç noktasına sahip olduğunuzdan emin olmak için varsayılan yapılandırma ekranlarını "kilitler" ve projeniz geliştikçe kendi ayarlarınızı tanımlamaya başlamanız teşvik edilir. MRTK yapılandırması, yürütme modu sırasında düzenlenemez.

MRTK yapılandırma profili

Karma Gerçeklik Toolkit için tüm "varsayılan" profiller SDK projesinde Assets/MRTK/SDK/Profiles klasöründe bulunabilir.

Önemli

DefaultHoloLens2ConfigurationProfile, HoloLens 2 için iyileştirilmiştir. Ayrıntılar için bkz. Profiller .

Araç Seti Yapılandırma Profili ana Karma Gerçeklik açtığınızda denetçide aşağıdaki ekranı görürsünüz:

MRTK yapılandırma sahnesi

Sahnede MixedRealityToolkit olmadan bir MixedRealityToolkitConfigurationProfile varlığı seçerseniz, MRTK'nin sahneyi sizin için otomatik olarak ayarlamasını isteyip istemediğiniz sorulur. Bu isteğe bağlıdır; ancak, tüm yapılandırma ekranlarına erişmek için sahnede etkin bir MixedRealityToolkit nesnesi olmalıdır.

Bu, proje için geçerli etkin çalışma zamanı yapılandırmasını barındırdı.

Buradan MRTK için aşağıdakiler de dahil olmak üzere tüm yapılandırma profillerine gidebilirsiniz:

Bu yapılandırma profilleri, ilgili bölümlerinde aşağıda ayrıntılı olarak yer almaktadır:


Deneyim ayarları

Ana Karma Gerçeklik Araç Seti yapılandırma sayfasında bulunan bu ayar, projeniz için Karma Gerçeklik ortam ölçeğinin varsayılan işlemini tanımlar.

Experiance ayarları

Kamera ayarları

Kamera ayarları, genel kırpma, kalite ve saydamlık ayarlarını tanımlayarak kameranın Karma Gerçeklik projeniz için nasıl ayarlandığını tanımlar.

Kamera Profili

Giriş sistemi ayarları

Karma Gerçeklik Projesi, tüm giriş olaylarını varsayılan olarak seçilen proje etrafında yönlendirmek için sağlam ve iyi eğitilmiş bir giriş sistemi sağlar.

Giriş Sistemi ayarları 1

MRTK tarafından sağlanan Giriş Sistemi'nin arkasında birkaç farklı sistem daha vardır; bunlar, çok platformlu / karma gerçeklik çerçevesinin karmaşıklıklarını soyutlamada gereken karmaşık dokuları yönlendirmeye ve yönetmeye yardımcı olur.

Giriş Sistemi ayarları 2

Tek tek profillerin her biri aşağıda ayrıntılı olarak yer almaktadır:


Sınır görselleştirme ayarları

Sınır sistemi, temel alınan platformlar sınırı / veli sistemi tarafından bildirilen algılanan sınırı çevirir. Sınır görselleştiricisi yapılandırması, kaydedilen sınırı kullanıcının konumuna göre sahnenizde otomatik olarak göstermenizi sağlar. Sınır ayrıca kullanıcının sahne içinde nereye ışınlandığına bağlı olarak tepki verecek / güncelleştirecektir.

Sınırlayıcı Görselleştirme Ayarları

ışınlanma sistemi seçimi

Karma Gerçeklik Projesi, varsayılan olarak seçilen projedeki ışınlanma olaylarını yönetmek için tam özellikli bir ışınlanma sistemi sağlar.

Teleport Sistem ayarları

Uzamsal farkındalık ayarları

Karma Gerçeklik Projesi, varsayılan olarak seçilen projede uzamsal tarama sistemleriyle çalışmak için yeniden oluşturulmuş bir uzamsal farkındalık sistemi sağlar.

Uzamsal Farkındalık ayarları 1

Karma Gerçeklik Toolkit uzamsal farkındalık yapılandırması, uygulama başlatıldığında veya daha sonra programlı olarak otomatik olarak başlatılıp başlatılmayacağını ve görünüm alanının kapsamlarını ayarlamanın yanı sıra sistemin nasıl başlatılacağını uyarlamanıza olanak tanır.

Ayrıca mesh ve yüzey ayarlarını yapılandırmanıza olanak tanır ve projenizin çevrenizdeki ortamı nasıl anladığını daha da özelleştirebilirsiniz.

Bu yalnızca taranmış ortam sağlayabilen cihazlar için geçerlidir.

Uzamsal Farkındalık ayarları 2

Tanılama ayarları

MRTK'nin isteğe bağlı ancak son derece kullanışlı bir özelliği eklenti tanılama işlevselliğidir.

Tanılama ayarları

Tanılama profili, proje çalışırken izlemeniz için birkaç basit sistem sağlar ve sahnedeki ekran panelini etkinleştirmek / devre dışı bırakmak için kullanışlı bir Açma/Kapatma düğmesi de dahil olmak üzere.

Tanılama ayarları Sistem ayarları 2

Sahne sistemi ayarları

MRTK, karmaşık eklenebilir sahne yükleme /boşaltma işlemlerini yönetmenize yardımcı olmak için bu isteğe bağlı hizmeti sağlar. Sahne Sistemi'nin projeniz için uygun olup olmadığını belirlemek için Sahne Sistemi Başlarken Kılavuzu'nu okuyun.

Sahne Sistemi ayarları 1

Ek hizmet ayarları

Karma Gerçeklik Toolkit'in daha gelişmiş alanlarından biri, herhangi bir "Hizmetin" çerçeveye kaydedilmesini sağlayan hizmet bulucu deseni uygulamasıdır. Bu, çerçevenin hem yeni özelliklerle / sistemlerle kolayca genişletilmesine hem de projelerin kendi çalışma zamanı bileşenlerini kaydetmek için bu özelliklerden yararlanmasına olanak tanır.

Herhangi bir kayıtlı hizmet, MonoBehaviour veya hantal tekil desenler uygulama ek yükü ve maliyeti olmadan tüm Unity olaylarının tam avantajını elde eder. Bu, hem ön plan hem de arka plan işlemlerini çalıştırmak için sahne yükü olmayan saf C# bileşenlerinin (örneğin, oluşturma sistemleri, çalışma zamanı oyun mantığı veya pratik olarak başka bir şey) çalıştırılmasına olanak tanır.

ek Sistem ayarları

Giriş eylemleri ayarları

Giriş eylemleri, çalışma zamanı projesinden fiziksel etkileşimleri ve girişleri soyutlamanın bir yolunu sağlar. Tüm fiziksel girişler (denetleyicilerden / ellerden / fareden / vb. ) çalışma zamanı projenizde kullanılmak üzere mantıksal bir giriş eylemine çevrilir. Bu, girişin nereden geldiği fark etmez, projeniz bu eylemleri sahnelerinizde "Yapılacaklar" veya "Etkileşime Geçin" olarak uygular.

Yeni bir giriş eylemi oluşturmak için "Yeni Eylem Ekle" düğmesine tıklamanız ve temsil eden işlem için kolay bir metin adı girmeniz yeterlidir. Daha sonra yalnızca eylemin iletmesi amaçlanan bir eksen (veri türü) seçmeniz veya fiziksel denetleyiciler söz konusu olduğunda bağlanabileceği fiziksel giriş türünü seçmeniz gerekir, örneğin:

Eksen Kısıtlaması Veri Türü Açıklama Örnek kullanım
Hiçbiri Veri yok Boş bir eylem veya olay için kullanılır Olay Tetikleyicisi
Ham (ayrılmış) object Gelecekte kullanım için ayrılmıştır Yok
Dijital bool Tür verilerinde boole değeri açık veya kapalı Denetleyici düğmesi
Tek Eksen float Tek duyarlıklı veri değeri Bir tetikleyici gibi aralıklı giriş
Çift Eksen Vektör2 Birden çok eksen için çift kayan tür tarihi Dpad veya Thumbstick
Üç Dof Konumu Vektör3 3 kayan eksen ile konumundan konumsal tür verileri 3B konum stili yalnızca denetleyici
Üç Dof Döndürme Quaternion Yalnızca 4 kayan eksenli döner giriş Üç derece stil denetleyici, örneğin Oculus Go kumandası
Altı Dof Karma Gerçeklik Pozu (Vector3, Quaternion) Hem Vector3 hem de Quaternion bileşenleriyle konum ve döndürme stili girişi Hareket denetleyicisi veya İşaretçi

Giriş eylemlerini kullanan olaylar fiziksel denetleyicilerle sınırlı değildir ve çalışma zamanı efektlerinin yeni eylemler oluşturması için proje içinde kullanılabilir.

Not

Giriş eylemleri, çalışma zamanında düzenlenemeyen birkaç bileşenden biridir, yalnızca tasarım zamanı yapılandırmasıdır. Her eylem için oluşturulan kimlik üzerindeki çerçeve (ve projeleriniz) bağımlılığı nedeniyle proje çalışırken bu profil değiştirilmemelidir.

Yapılandırma Profili

Giriş eylemleri kuralları

Giriş eylemi kuralları, bir giriş eylemi için tetiklenen bir olayı veri değerine göre farklı eylemlere otomatik olarak çevirmek için bir yol sağlar. Bunlar çerçeve içinde sorunsuz bir şekilde yönetilir ve herhangi bir performans maliyetine neden olmaz.

Örneğin, bir DPad'deki tek çift eksenli giriş olayını karşılık gelen 4 "Dpad Up" / "DPad Down" / "Dpad Left" / "Dpad Right" eylemine dönüştürme (aşağıdaki resimde gösterildiği gibi).

Bu işlem kendi kodunuzda da yapılabilir. Ancak, bu çok yaygın bir desen olduğu için, çerçeve bunu "kullanıma uygun" yapmak için bir mekanizma sağlar

Giriş eylemi Kuralları kullanılabilir giriş eksenlerinden herhangi biri için yapılandırılabilir. Ancak, bir eksen türündeki giriş eylemleri aynı eksen türünde başka bir giriş eylemine çevrilebilir. İkili eksen eylemini başka bir çift eksen eylemiyle eşleyebilirsiniz, ancak dijital veya yok eylemiyle eşleyebilirsiniz.

Giriş eylem kuralları profili


İşaretçi yapılandırması

İşaretçiler, herhangi bir giriş cihazından sahnedeki etkileşimi yönlendirmek için kullanılır ve sahnedeki herhangi bir nesneyle (bir harmanlayıcı takılı veya ui bileşeni olan) hem yön hem de isabet testi sağlar. İşaretçiler, denetleyiciler, kulaklıklar (bakış / odak) ve fare / dokunmatik giriş için varsayılan olarak otomatik olarak yapılandırılır.

İşaretçiler, Karma Gerçeklik Toolkit tarafından sağlanan çok satırlı bileşenlerden biri kullanılarak veya MRTK IMixedRealityPointer arabirimini uyguladıklarında sizinkilerden herhangi biri kullanılarak etkin sahne içinde görselleştirilebilir.

Giriş İşaretçisi Profili
  • İşaret Eden Kapsam: Bakış dahil olmak üzere tüm işaretçiler için genel işaret kapsamını belirler.
  • Raycast Katman Maskelerini İşaret Etme: İşaretçilerin hangi katmanlara göre ışınlanacağını belirler.
  • Çizim İşareti Işınlarında Hata Ayıklama: Raycasting için kullanılan ışınları görselleştirmeye yönelik bir hata ayıklama yardımcısı.
  • Çizim İşareti Işınları Renklerinde Hata Ayıklama: Görselleştirme için kullanılacak bir renk kümesi.
  • Bakış imleci prefab: Herhangi bir sahne için genel bakış imleci belirtmeyi kolaylaştırır.

Gerekirse Bakış için bazı belirli değerleri geçersiz kılmak üzere Hızla Bakış Sağlayıcısı'na atlamak için ek bir yardımcı düğmesi vardır.


Hareketler yapılandırması

Hareketler, çeşitli SDK'lar (örneğin HoloLens) tarafından sağlanan çeşitli "Hareket" giriş yöntemlerine giriş eylemleri atamanızı sağlayan sisteme özgü bir uygulamadır.

Not

Geçerli Hareketler uygulaması yalnızca HoloLens içindir ve gelecekte Toolkit'e eklendikçe diğer sistemler için geliştirilecektir (henüz tarih yok).

Hareket yapılandırması

Konuşma komutları

Bazı çalışma zamanı platformları da hareketler gibi, unity projesi tarafından alınabilecek komutlar oluşturma özelliğine sahip akıllı "Konuşmayı Metne Dönüştürme" işlevselliği de sağlar. Bu yapılandırma profili aşağıdakileri yapılandırmanıza olanak tanır:

  1. Genel Ayarlar - Otomatik Başlangıç veya El ile Başlat olarak ayarlanan "Başlatma Davranışı", giriş sistemi başlangıcında KeywordRecognizer'ın başlatılıp başlatılmayacağını belirler veya KeywordRecognizer'ın ne zaman başlatılmaya karar verileceğini projenin belirlemesine izin verir. Unity'nin KeywordRecognizer API'sini başlatmak için "Tanıma Güven Düzeyi" kullanılır
  2. Konuşma Komutları - "sözcükleri" kaydeder ve projeniz tarafından alınabilecek giriş eylemlerine çevirir. Gerekirse klavye eylemlerine de eklenebilirler.

Önemli

Sistem şu anda yalnızca hololens ve Windows 10 masaüstü gibi Windows 10 platformlarda çalışırken konuşmayı destekler ve gelecekte MRTK'ya eklendikçe diğer sistemler için geliştirilecektir (henüz tarih yok).

Yapılandırma Profili ekranları

Denetleyici eşleme yapılandırması

Karma Gerçeklik Toolkit'in temel yapılandırma ekranlarından biri, projeniz tarafından kullanılabilecek çeşitli denetleyici türlerini yapılandırma ve eşleme özelliğidir.

Aşağıdaki yapılandırma ekranı, araç seti tarafından şu anda tanınan denetleyicilerden herhangi birini yapılandırmanıza olanak tanır.

Denetleyici Eşlemesi

MRTK, aşağıdaki denetleyiciler / sistemler için varsayılan bir yapılandırma sağlar:

  • Fare (3B uzamsal fare desteği dahil)
  • Dokunmatik Ekran
  • Xbox denetleyicileri
  • Windows Mixed Reality denetleyicileri
  • HoloLens Hareketleri
  • HTC Vive wand denetleyicileri
  • Oculus Touch denetleyicileri
  • Oculus Remote controller
  • Genel OpenVR cihazları (yalnızca ileri düzey kullanıcılar)

Önceden oluşturulmuş denetleyici sistemlerinden herhangi biri için Görüntü'ye tıklayarak ilgili tüm girişler için tek bir giriş eylemi yapılandırmanıza olanak tanır; örneğin, aşağıdaki Oculus Touch controller yapılandırma ekranına bakın:

Denetleyici yapılandırma ekranı

Ayrıca yukarıda tanımlanmayan diğer OpenVR veya Unity giriş denetleyicilerini yapılandırmak için gelişmiş bir ekran vardır.


Denetleyici görselleştirme ayarları

Denetleyici eşlemesine ek olarak, denetleyicilerinizin sahneleriniz içinde nasıl sunulduğunu özelleştirmek için ayrı bir yapılandırma profili sağlanır.

Bu, bir "Genel" (belirli bir el için bir denetleyicinin tüm örnekleri) veya tek bir denetleyici türüne / eline özgü olarak yapılandırılabilir.

MRTK, Windows Mixed Reality ve OpenVR için yerel SDK denetleyicisi modellerini de destekler. Bunlar sahnenize GameObjects olarak yüklenir ve platformun denetleyici izlemesi kullanılarak konumlandırılır.

Sahnedeki denetleyici gösteriminizin fiziksel denetleyici konumundan uzak olması gerekiyorsa, bu uzaklığı denetleyici modelinin prefabrik düzenine göre ayarlamanız yeterlidir (örneğin, denetleyici prefabının dönüştürme konumunu uzaklık konumuyla ayarlamak).

Görselleştirme profili

Düzenleyici yardımcı programları

Aşağıdaki yardımcı programlar yalnızca düzenleyicide çalışır ve geliştirme üretkenliğini artırmak için yararlıdır.

MRTK Düzenleyicisi Yapılandırma Yardımcı Programları

Hizmet denetçileri

Hizmet Denetçileri, etkin hizmetleri temsil eden sahne içi nesneler oluşturan yalnızca düzenleyici özelliğidir. Bu nesneler seçildiğinde belge bağlantıları sunan denetçiler, düzenleyici görselleştirmeleri üzerinde denetim ve hizmetin durumuyla ilgili içgörüler görüntülenir.

Hizmet Denetçileri

Yapılandırma Profilindeki Düzenleyici Ayarları'nın altında Hizmet Denetçilerini Kullan'ı işaretleyerek hizmet denetçilerini etkinleştirebilirsiniz.

Derinlik arabelleği işleyicisi

Derinlik arabelleğinin bazı karma gerçeklik platformlarıyla paylaşılması hologram dengelemesini iyileştirebilir. Örneğin, Windows Mixed Reality platformu, bir çerçeveyi işlemek için geçen süre boyunca ince baş hareketlerini hesaba eklemek için piksel başına işlenen sahneyi değiştirebilir. Ancak bu teknikler, geometrinin kullanıcıdan nerede ve ne kadar uzak olduğunu bilmek için doğru verilerle derinlik arabellekleri gerektirir.

Bir sahnenin tüm gerekli verileri derinlik arabelleğine işlemesini sağlamak için geliştiriciler, Yapılandırma Profilindeki Düzenleyici Ayarları'nın altında İşleme Derinliği Arabelleği özelliğini değiştirebilir. Bu, geçerli derinlik arabelleği alır ve ana kameraya bir işlem sonrası efekti DepthBufferRendereruygulayarak bunu sahne görünümüne renk olarak işler.

İşleme Derinliği Arabellek Yardımcı ProgramıSahnedeki mavi silindirde ZWrite kapalı bir malzeme vardır, bu nedenle derinlik verisi yazılmamıştır

Çalışma zamanında profilleri değiştirme

Çalışma zamanında profilleri güncelleştirmek mümkündür ve genellikle bunun yararlı olduğu iki farklı senaryo ve zaman vardır:

  1. MRTK başlatma öncesi profil anahtarı: Başlangıçta, MRTK başlatılmadan ve profil etkin hale gelmeden önce, cihaz özelliklerine göre farklı özellikleri etkinleştirmek/devre dışı bırakmak için henüz kullanılmamış profili değiştirin. Örneğin, deneyim uzamsal eşleme donanımına sahip olmayan VR'de çalışıyorsa, uzamsal eşleme bileşeninin etkinleştirilmesi büyük olasılıkla mantıklı değildir.
  2. Etkin profil anahtarı: Başlatıldıktan sonra MRTK başlatıldıktan ve bir profil etkin hale geldikten sonra, belirli özelliklerin davranış biçimini değiştirmek için şu anda kullanımda olan profili değiştirir. Örneğin, uygulamada uzak el işaretçilerinin tamamen kaldırılmasını isteyen belirli bir alt deneyim olabilir.

MRTK başlatma profili anahtarı öncesi

Bu, MRTK başlatmadan önce çalışan bir MonoBehaviour (aşağıdaki örnek) eklenerek gerçekleştirilebilir (örneğin Awake()). Betiğin (yani çağrısının SetProfileBeforeInitialization) betikten daha MixedRealityToolkit önce yürütülmesi gerektiğini unutmayın. Betik Yürütme Sırası ayarları ayarlanarak betik elde edilebilir.

using Microsoft.MixedReality.Toolkit;
using UnityEngine;

/// <summary>
/// Sample MonoBehaviour that will run before the MixedRealityToolkit object, and change
/// the profile, so that when MRTK initializes it uses the profile specified below
/// rather than the one that is saved in its scene.
/// </summary>
/// <remarks>
/// Note that this script must have a higher priority in the script execution order compared
/// to that of MixedRealityToolkit.cs. See https://docs.unity3d.com/Manual/class-MonoManager.html
/// for more information on script execution order.
/// </remarks>
public class PreInitProfileSwapper : MonoBehaviour
{

    [SerializeField]
    private MixedRealityToolkitConfigurationProfile profileToUse = null;

    private void Awake()
    {
        // Here you could choose any arbitrary MixedRealityToolkitConfigurationProfile (for example, you could
        // add some platform checking code here to determine which profile to load).
        MixedRealityToolkit.SetProfileBeforeInitialization(profileToUse);
    }
}

"profileToUse" yerine belirli platformlar için geçerli olan rastgele profil kümesine (örneğin, HoloLens 1 için, VR için bir, HoloLens 2 için vb.) sahip olmak mümkündür. Hangi profilin yüklenip yüklenmeyeceğini anlamak için diğer çeşitli göstergeleri (örneğin https://docs.unity3d.com/ScriptReference/SystemInfo.html, kameranın donuk/saydam olup olmadığını) kullanmak mümkündür.

Etkin profil anahtarı

Bu, özelliği etkin profilin MixedRealityToolkit.Instance.ActiveProfile yerine yeni bir profil olarak ayarlanarak gerçekleştirilebilir.

MixedRealityToolkit.Instance.ActiveProfile = profileToUse;

Çalışma zamanı sırasında ayarlarken ActiveProfile , çalışmakta olan hizmetlerin yok edilmesi tüm hizmetlerin son LateUpdate() sürümünden sonra gerçekleşir ve yeni profille ilişkili hizmetlerin örneklenmesi ve başlatılması tüm hizmetlerin ilk Update() sürümünden önce gerçekleşir.

Bu işlem sırasında dikkat çekici bir uygulama tereddütu oluşabilir. Ayrıca, betikten MixedRealityToolkit daha yüksek önceliğe sahip tüm betikler, yeni profil düzgün şekilde kurulmadan önce Güncelleştirmesi'ni girebilir. Betik önceliği hakkında daha fazla bilgi için bkz. Betik Yürütme Sırası ayarları .

Profil değiştirme işleminde mevcut kullanıcı arabirimi kamerası değişmeden kalır ve tuval gerektiren Unity kullanıcı arabirimi bileşenlerinin anahtardan sonra çalışmaya devam edeceğinden emin olur.

Ayrıca bkz.