MRTK profili yapılandırma kılavuzu

Karma Gerçeklik Araç Seti, araç setlerini yönetmek için gereken yapılandırmanın mümkün olduğunca büyük bir fazlasını merkezi hale getiriyor (gerçek çalışma zamanı "şeyler" dışında).

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

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

Sahneniz'de MixedRealityToolkit GameObject'e eklenen ana yapılandırma profili, projenizin Toolkit 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ğundan ve projeniz geliştikçe kendi ayarlarınızı tanımlamaya başlamanız için varsayılan yapılandırma ekranlarını "kilitler". MRTK yapılandırması, oynatma modu sırasında düzenlenemez.

MRTK yapılandırma profili

Karma Gerçeklik Araç Seti için tüm "varsayılan" profiller Varlıklar/MRTK/SDK/Profiller klasöründeKI SDK projesinde bulunabilir.

Önemli

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

Ana Karma Gerçeklik Araç Seti Yapılandırma Profili'ne bakarak denetçide aşağıdaki ekranı görürsünüz:

MRTK configuration scene

Sahnede MixedRealityToolkit olmadan bir MixedRealityToolkitConfigurationProfile varlığı seçersiniz, MRTK'nın sahneyi sizin için otomatik olarak ayarlamasını istemeniz size sorar. Bu isteğe bağlıdır, ancak tüm yapılandırma ekranlarına erişmek için sahnede etkin bir MixedRealityToolkit nesnesi olması gerekir.

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

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

Bu yapılandırma profilleri, ilgili bölümlerinde aşağıda ayrıntılı olarak açıklanmıştı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şlemi tanımlar.

Experiance settings

Kamera ayarları

Kamera ayarları, karma gerçeklik projeniz için kameranın nasıl ayar olacağını tanımlar ve genel kırpma, kalite ve saydamlık ayarlarını tanımlar.

Camera Profile

Giriş sistemi ayarları

Karma Gerçeklik Project, varsayılan olarak seçilen projenin etrafında tüm giriş olaylarını yönlendirmeye olanak sağlayan sağlam ve iyi eğitilmiş bir giriş sistemi sağlar.

Input System settings 1

MRTK tarafından sağlanan Giriş Sistemi'nin ardında birçok farklı sistem vardır ve bunlar çok platformlu/karma gerçeklik çerçevesinin karmaşıklıklarını soyutlamak için gereken karmaşık iç yapıtları yönetmeye yardımcı olur.

Input System settings 2

Profillerden her biri aşağıda ayrıntılı olarak açıklanmıştır:


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

Sınır sistemi, temel platform sınırı /koruyucu sistem 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 konumuyla ilgili olarak sahneniz içinde otomatik olarak gösterme olanağı sağlar. Sınır ayrıca kullanıcının sahne içinde bulunduğu yere göre tepki ve güncelleştirme de sağlar.

Boundry Visualization Settings

Işınlanma sistemi seçimi

Karma Gerçeklik Project, projede varsayılan olarak seçilen iş geri tınlama olaylarını yönetmek için tam özellikli bir Teleportation sistemi sağlar.

Teleport System settings

Uzamsal farkındalık ayarları

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

Spatial Awareness settings 1

Karma Gerçeklik Araç Seti uzamsal farkındalık yapılandırması, uygulama başlatıldığında veya daha sonra program aracılığıyla otomatik olarak olup olmadığını ve görünüm alanı için kapsamları ayarlamanın yanı sıra sistemin nasıl başlatılmış olduğunu uyarlamanıza olanak sağlar.

Ayrıca örgü ve yüzey ayarlarını yapılandırmanıza ve projenizin çevrenizin ortamını nasıl anlayacaklarını özelleştirmenize de olanak sağlar.

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

Spatial Awareness settings 2

Tanılama ayarları

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

Diagnostics settings

Tanılama profili, proje çalışırken izlenmesi gereken birkaç basit sistem sağlar. Ayrıca ekranda ekran panelini etkinleştirmek/devre dışı bırakmak için kullanışlı bir Açık/Kapalı anahtarı da vardır.

Diagnostics settings System settings 2

Sahne sistemi ayarları

MRTK, karmaşık ek sahne yükleme/kaldırmayı yönetmenize yardımcı olmak için bu isteğe bağlı hizmeti sağlar. Scene System'in projenize uygun olup olmayacaklarını karar vermek için Scene System Başlarken Kılavuzu'Başlarken okuyun.

Scene System settings 1

Ek hizmet ayarları

Karma Gerçeklik Araç Seti'nin en gelişmiş alanlarından biri, herhangi bir "Hizmetin" çerçeveye kaydolmasını sağlayan hizmet bulucu düzeni uygulamasıdır. Bu, çerçevenin hem yeni özelliklerle/ sistemlerle kolayca genişlet hem de projelerin kendi çalışma zamanı bileşenlerini kaydetmek için bu özelliklerden yararlanmasını sağlar.

Kayıtlı hizmetler yine de MonoBehaviour veya clunky tekil desenlerini uygulamanın ek yükü ve maliyeti olmadan tüm Unity olaylarının tam avantajına sahip olur. Bu, hem ön plan hem de arka plan işlemlerini çalıştırmaya yönelik sahne yüküne sahip saf C# bileşenlerine (örneğin, sistemleri, çalışma zamanı oyun mantığını veya hemen her şeyi) sağlar.

additional System settings

Giriş eylemleri ayarları

Giriş eylemleri, bir çalışma zamanı projesinden gelen tüm fiziksel etkileşimleri ve girişleri soyutlamanın bir yolunu sağlar. Tüm fiziksel girişler (denetleyicilerden / ellerden/ fareden / vb.) çalışma zamanı projeniz için bir mantıksal giriş eylemine çevrilir. Bu, girişin nereden geldiği fark etmez, projeniz bu eylemleri sahnenize "Yapmanız gerekenler" veya "Etkileşim kurma" olarak uygulamanızı sağlar.

Yeni bir giriş eylemi oluşturmak için "Yeni Eylem Ekle" düğmesine tıklamanız ve temsil ettiği değer için kolay bir metin adı girmeniz gerekir. Daha sonra yalnızca eylemin iletmesi gereken bir eksen (veri türü) seçmeniz veya fiziksel denetleyicilerin bağlı olduğu 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 Gelecekteki kullanım için ayrılmıştır Yok
Dijital bool Boole türü verileri Denetleyici düğmesi
Tek Eksen float Tek duyarlıklı veri değeri Aralıklı giriş, örneğin tetikleyici
Çift Eksen Vector2 Birden çok eksen için çift float türü tarihi Bir Dpad veya Thumbstick
Üç Dof Konumu Vektör3 3 float eksenine sahip konumsal tür verileri 3D konum stili yalnızca denetleyici
Üç Dof Döndürme Quaternion Yalnızca 4 kayan eksenli dönüş girişi Üç derecelik stil denetleyicisi, örneğin Oculus Go denetleyicisi
Altı Dof Karma Gerçeklik Duruşu (Vector3, Quaternion) Hem Vector3 hem de Quaternion bileşenlerine sahip bir konum ve döndürme stili girişi Hareket denetleyicisi veya İşaretçi

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

Not

Giriş eylemleri, çalışma zamanında düzenlenemez olan birkaç bileşenden yalnızca bir tasarım zamanı yapılandırmasıdır. Her eylem için oluşturulan kimliklere yönelik çerçeve (ve projeleriniz) bağımlılığı nedeniyle proje çalışırken bu profil değiştirilsin.

Configuration Profile

Giriş eylemleri kuralları

Giriş eylemi kuralları, içinde bir giriş eylemi için 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, içinde bir DPad'den tek çift eksenli giriş olayına karşılık gelen 4 "Dpad Up" / "DPad Down" / "Dpad Left" / "Dpad Right" eylemlerine dönüştürebilirsiniz (aşağıdaki resimde gösterildiği gibi).

Bu, kendi kodunda da yapılabilir. Ancak, bunun çok yaygın bir desen olduğu için çerçeve bunu "her zaman" yapmak için bir mekanizma sağlar

Giriş eylemi Kuralları, kullanılabilir giriş ekseninin herhangi biri için yalıtılmıştır. Ancak, bir eksen türünden gelen giriş eylemleri aynı eksen türünde başka bir giriş eylemine çevrilebilir. Çift eksenli eylemi başka bir çift eksen eylemiyle eşlersiniz, ancak dijital veya hiçbiri eylemiyle eşleyemebilirsiniz.

Giriş eylem kuralları profili


İşaretçi yapılandırması

İşaretçiler, herhangi bir giriş cihazından sahnede etkileşime yol vermek için kullanılır ve hem yön verir hem de bir sahnenin herhangi bir nesnesiyle test eder (bağlı bir harmanlayıcıya sahip olan veya kullanıcı arabirimi bileşeni olan). İşaretçiler denetleyiciler, başlığı (bakış / odak) ve fare/dokunma girişi için varsayılan olarak otomatik olarak yapılandırılır.

İşaretçiler, Karma Gerçeklik Araç Seti tarafından sağlanan birçok satır bileşeninden birini veya MRTK IMixedRealityPointer arabirimini uygulayan herhangi biri kullanılarak etkin sahne içinde görselleştirilebilirsiniz.

Input Pointer Profile
  • İşaretçi Kapsamı: Bakış dahil olmak üzere tüm işaretçiler için genel işaret uzantısını belirler.
  • Raycast Katmanı Maskelerini İşaretleme: İşaretçilerin hangi katmanlara yayınlanacaklarını belirler.
  • Draw Pointing Rays'de Hata Ayıklama: Yayın için kullanılan rayları görselleştirmeye yardımcı olan bir hata ayıklama yardımcısı.
  • Draw Pointing Rays Renklerinin Hata Ayıklaması: Görselleştirmek için kullanılan bir renk kümesi.
  • Imleç önceden bakış: Herhangi bir sahne için genel bakış imleç belirtmeyi kolaylaştırır.

Gerekirse Gaze için bazı belirli değerleri geçersiz kılmak üzere Gaze Sağlayıcısına hızlıca atlamanızı sağlayacak ek bir yardımcı düğmesi vardır.


Hareket yapılandırması

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

Not

Geçerli Hareketlerin uygulaması yalnızca HoloLens ve gelecekte Toolkit'e eklendiklerine göre (henüz tarih yok) diğer sistemler için geliştireceğiz.

Gesture configuration

Konuşma komutları

Hareketlerde olduğu gibi bazı çalışma zamanı platformları da Unity Konuşmayı Metne Dönüştürme tarafından alınabiliyor komutlar oluşturma özelliğiyle akıllı "özel" işlevler sağlar. Bu yapılandırma profili, şunları yapılandırmaya olanak sağlar:

  1. Genel Ayarlar - "Başlatma Davranışı", Otomatik Başlat veya El ile Başlat olarak ayarlanır. Giriş sistemi başlangıcında KeywordRecognizer'ın başlatıp başlatmay kararını projenin vermesine izin verin. 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" kaydettirerek projeniz tarafından alınarak giriş eylemlerine çevirir. Gerekirse klavye eylemlerine de iliştirilmiş olabilir.

Önemli

Sistem şu anda yalnızca HoloLens ve Windows 10 masaüstü gibi Windows 10 platformlarında çalıştırıldıklarında konuşmayı destekler ve gelecekte MRTK'ye eklendiklerine göre (henüz tarih yok) diğer sistemler için iyileştirilmiş olacaktır.

Configuration Profile screens

Denetleyici eşleme yapılandırması

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

Aşağıdaki yapılandırma ekranı, araç seti tarafından tanınan denetleyicilerden herhangi birini yapılandırmaya olanak sağlar.

Controller Mapping

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

  • Fare (3D uzamsal fare desteği dahil)
  • Dokunmatik Ekran
  • Xbox denetleyicileri
  • Windows Mixed Reality denetleyicileri
  • HoloLens Hareket
  • WAN Vive wand denetleyicileri
  • Oculus Touch denetleyicileri
  • Oculus Uzak denetleyici
  • Genel OpenVR cihazları (yalnızca ileri düzey kullanıcılar)

Önceden yapılandırılmış denetleyici sistemlerinden herhangi biri için Görüntü'ye tıklayarak tüm ilgili girişler için tek bir giriş eylemi yapılandırmanız gerekir. Örneğin, aşağıdaki Oculus Touch denetleyici yapılandırma ekranına bakın:

Controller config screen

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


Denetleyici görselleştirme ayarları

Denetleyici eşlemeye ek olarak, denetleyicilerinizin sahneleri içinde nasıl sunlllarını ö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/ele özgü olarak yalıtabilirsiniz.

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

Sahnenin denetleyici gösteriminin fiziksel denetleyici konumundan uzaklığın olması gerekirse, bu uzaklığı denetleyici modelinin prefab değerine göre ayarlayın (örneğin, denetleyici prefab'ın dönüştürme konumunu uzaklık konumuyla ayarlama).

Visualization profile

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 nesneleri oluşturan yalnızca düzenleyici özelliğidir. Bu nesnelerin seçiminde 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.

Service Inspectors

Yapılandırma Profili'nde Düzenleyici'nin altındaki Hizmet Denetçilerini Kullan'Ayarlar hizmet denetçilerini etkinleştirebilirsiniz.

Derinlik arabelleği işleyicisi

Derinlik arabelleğinin bazı karma gerçeklik platformları ile paylaşılmış olması hologram sabitlemeyi geliştirebilmektedir. Örneğin, Windows Mixed Reality platform, bir karenin işlenecek olduğu süre boyunca hafif baş hareketlerini hesaba vermek için piksel başına işlenen sahneyi değiştirebilir. Ancak bu teknikler, geometrinin kullanıcıya ne kadar uzak olduğunu ve nerede olduğunu bilmek için doğru verilerle derinlik arabellekleri gerektirir.

Bir sahnenin gerekli tüm verileri derinlik arabelleğine işlemesi için geliştiriciler, Yapılandırma Profilinde Düzenleyici ve Ayarlar İşleme Derinliği Arabelleği özelliğini açıp açıp açıp b ilerler. Bu, geçerli derinlik arabelleği alır ve ana kameraya bir işleme sonrası etkisi uygulayarak sahne görünümüne DepthBufferRenderer renk olarak işler.

İşleme Derinliği Arabelleği Yardımcı Programı Sahnenin mavi silindiri, ZWrite kapalı olan bir malzemeye sahip olduğu için derinlik verisi yazılabilir

Ç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 bağlı olarak farklı özellikleri etkinleştirmek/devre dışı bırakmak için henüz kullanılamadı profilinin yerine geçebilirsiniz. Örneğin, deneyim uzamsal eşleme donanımı olmayan VR'de çalışıyorsa uzamsal eşleme bileşeninin etkinleştirilmesi büyük olasılıkla anlamlı değildir.
  2. Etkin profil anahtarı: Başlatmadan sonra MRTK başlatıldıktan ve bir profil etkin hale geldikten sonra, belirli özelliklerin davranış şekillerini değiştirmek için şu anda kullanılan profili değiştirin. Örneğin, uygulamada uzak işaretçilerin tamamen kaldırılmasını isteyen belirli bir alt deneyim olabilir.

MRTK başlatma öncesi profil anahtarı

Bu, MRTK başlatmadan önce çalışan bir Monodavranış (Aşağıdaki örnek) eklenerek gerçekleştirilebilir (yani, Uyanıt ()). Betik SetProfileBeforeInitialization MixedRealityToolkit yürütme sırası ayarlarıayarlanarak elde edilen betiğin (yani çağrısı), betikten daha önce yürütülmesi gerektiğini aklınızda bulabilirsiniz.

using Microsoft.MixedReality.Toolkit;
using UnityEngine;

/// <summary>
/// Sample MonoBehaviour that will run before the MixedRealityToolkit object, and change
/// the profile, so that when the 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);
    }
}

"profiltouse" yerine, belirli platformlar için uygulanan (örneğin, biri HoloLens 1 için biri, HoloLens 2 için bir tane) bir tane olmak üzere bazı rastgele bir profil kümesine sahip olmak mümkündür. Hangi profilin yükleneceğini anlamak için çeşitli başka göstergeler (ör. https://docs.unity3d.com/ScriptReference/SystemInfo.html veya kameranın donuk/saydam olması) kullanılabilir.

Etkin profil anahtarı

Bu, MixedRealityToolkit.Instance.ActiveProfile özelliği etkin profilin yerini aldığı yeni bir profile ayarlayarak gerçekleştirilebilir.

MixedRealityToolkit.Instance.ActiveProfile = profileToUse;

Note ActiveProfile çalışma zamanı sırasında ayarlandığında, çalışmakta olan hizmetlerin yok etme işlemi tüm hizmetlerin son LateUpdate () sonrasında gerçekleşir ve yeni profille ilişkili hizmetlerin örneklenmesi ve başlatılması, tüm hizmetlerin Ilk güncelleştirmesinden () önce gerçekleşecektir.

Bu işlem sırasında fark edilebilir bir uygulama durumu oluşabilir. Ayrıca, komut dosyasına kıyasla daha yüksek öncelikli bir betik, MixedRealityToolkit Yeni profil düzgün bir şekilde kurulumdan önce güncelleştirmesini 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, böylece tuval gerektiren Unity Kullanıcı arabirimi bileşenleri anahtar sonrasında çalışmaya devam eder.

Ayrıca bkz.