Kısıtlama yöneticisi

Kısıtlama yöneticisi, bir dönüştürmeye bir kısıtlama bileşenleri kümesi uygulamana olanak sağlar. Oyun TransformConstraint nesnesine eklenen tür bileşenleri göz önünde bulundurulmalıdır. Kısıtlama yöneticisi varsayılan olarak oyun nesnesine eklenmiş olan tüm kısıtlama bileşenlerini otomatik olarak toplar ve bunları işlenen dönüşümlere uygulayacaktır. Ancak kullanıcılar uygulanan kısıtlamaların listesini el ile yapılandırmayı ve eklenen kısıtlamaların yalnızca bir alt kümesinin uygulanmasına izin vermeyi tercih ediyor.

Şu anda aşağıdaki MRTK UX öğeleri kısıtlama yöneticisini destekliyor:

Denetçi özellikleri ve alanları

Kısıtlama yöneticisi iki modda işletilebilir:

  • Otomatik kısıtlama seçimi
  • El ile kısıtlama seçimi

Otomatik kısıtlama seçimi

Otomatik Seçim

Kısıtlama yöneticisinin varsayılan modu olan otomatik kısıtlama seçimi, tüm bağlı kısıtlama bileşenlerinin listesinin yanı sıra düğmelere gitme ve kısıtlama ekle düğmesi sağlar.

Oyun nesnesine kısıtlama ekleme

Bu düğme, kısıtlama bileşeninin doğrudan kısıtlama yöneticisi denetçisi tarafından eklenmiştir. Bir proje içinde tüm kısıtlama türleri burada görünür olmalıdır. Daha fazla bilgi için bkz. dönüştürme kısıtlamaları.

Bileşene git

Nesnede bulunan tüm kısıtlamalar bileşene git düğmesiyle burada listelenir. Bu düğme, denetçinin yapılandırılana kadar seçili kısıtlama bileşenine kaydırmasına neden olur.

El ile kısıtlama seçimi

El ile Seçim

Kısıtlama yöneticisi el ile moda ayarlanırsa, yalnızca kısıtlama listesinde bağlantılı kısıtlamalar işlenir ve dönüştürmeye uygulanır. Görüntülenen liste yalnızca kullanıcı tarafından seçilen kısıtlamaları gösterir ve girişleri kaldırma veya ekleme düğmelerine veya seçeneklerine gider. El ile modu ilk kez etkinleştiren kısıtlama yöneticisi, ekli kısıtlama bileşenlerini seçmek için kullanılabilir tüm bileşenleri bir başlangıç noktası olarak listelemektedir.

Girdiyi kaldır

Bu, girdiyi el ile seçilen listeden kaldırır. Bu seçeneğin, kısıtlama bileşenini oyun nesnesinden kaldırmayacaklarını unutmayın. Kısıtlama bileşenlerinin, bu bileşene başvuran diğer bileşenleri yanlışlıkla bozmaması için her zaman el ile kaldırılması gerekir.

Girdi ekleme

Giriş ekle, henüz el ile listede yer alan tüm kullanılabilir kısıtlama bileşenlerini gösteren bir açılır liste açar. Bileşenin el ile kısıtlama seçimine eklenecek herhangi bir girdiye tıklar.

Yeni kısıtlama ekleme

Bu seçenek, oyun nesnesine seçili türde bir bileşen ekler ve yeni oluşturulan kısıtlama bileşenini el ile kısıtlama listesine ekler.

Dönüştürme kısıtlamaları

Kısıtlamalar, bir şekilde işlemeyi sınırlamak için kullanılabilir. Örneğin, bazı uygulamalar döndürmeyi gerektirse de nesnenin dik kalmasını gerektirir. Bu durumda RotationAxisConstraint nesnesine bir eklenebilir ve döndürmeyi y ekseni döndürmeyle sınırlamak için kullanılabilir. MRTK bir dizi kısıtlama sağlar ve bunların hepsi aşağıda açıklanmıştır.

Ayrıca yeni kısıtlamalar tanımlamak ve bazı uygulamalar için gerekebilecek benzersiz düzenleme davranışı oluşturmak için bunları kullanmak da mümkündür. Bunu yapmak için, soyut özelliğinden devralan ve soyut TransformConstraint yöntemi ConstraintType uygulayan bir betik ApplyConstraint oluşturun. Nesnesine yeni bir kısıtlama ekledik, işlemeyi tanımlanan şekilde kısıtlaması gerekir. Bu yeni kısıtlama, kısıtlama yöneticisi otomatik seçiminde de gösterilmesi veyagiriş açılan listesinde el ile mod eklemesi gerekir.

MRTK tarafından sağlanan tüm kısıtlamalar aşağıdaki özellikleri paylaşır:

El Türü

Kısıtlamanın tek elle, iki el ile veya her iki tür işleme için kullanıla mı olduğunu belirtir. Bu özellik bir bayrak olduğundan her iki seçenek de seçilebilir.

  • Tek elle:Kısıtlama, seçilirse tek elle işleme sırasında kullanılır.
  • İki elli:Kısıtlama, seçilirse iki el işleme sırasında kullanılır.

Yakınlık Türü

Kısıtlamanın yakın, uzak veya her iki tür işleme için kullanıla mı olduğunu belirtir. Bu özellik bir bayrak olduğundan her iki seçenek de seçilebilir.

  • Yakın:Kısıtlama, seçilirse neredeyse işleme sırasında kullanılır.
  • Far:Kısıtlama, seçilirse en fazla işleme sırasında kullanılır.

FaceUserConstraint

Yüz Kullanıcısını Kısıtlama

Bu kısıtlama bir nesneye ekli olduğunda, nesnenin her zaman kullanıcıyla karşı karşıya olması için döndürme sınırlı olur. Bu, panolar veya paneller için kullanışlıdır. özellikleri FaceUserConstraint aşağıdaki gibidir:

Yüzleri uzakta

Nesne, true ise kullanıcıdan uzakta yüzler.

FixedDistanceConstraint

Kısıtlama Sabit uzaklıkları

Bu kısıtlama, işleme başlangıcına göre yönlendiren nesne ile başka bir nesne dönüştürme arasındaki mesafeyi düzeltir. Bu, yönlendirilen nesne ile baş dönüştürme arasındaki mesafeyi düzeltme gibi davranışlarda yararlıdır. özellikleri FixedDistanceConstraint aşağıdaki gibidir:

Kısıtlama dönüşümü

Bu, işlenmiş nesnenin sabit bir mesafeye sahip olduğu diğer dönüştürmedir. Varsayılan olarak kamera dönüşümü kullanılır.

FixedRotationToUserConstraint

Sabit Döndürme

Bu kısıtlama, kullanıcı ile yönlendiren nesne arasındaki göreli döndürmeyi düzeltir. Bu, yönlendirilen nesnenin işlemenin başında olduğu gibi kullanıcıya her zaman aynı yüzü gösterip aynı yüzün gösterir olması için ekran görüntüler veya paneller için kullanışlıdır. FixedRotationToUserConstraintherhangi bir benzersiz özelliğine sahip değildir.

FixedRotationToWorldConstraint

Dünyaya dönüş düzeltildi

Bu kısıtlama, iş işleme sırasında yönlendiren nesnenin genel dönüşlerini düzeltir. Bu, herhangi bir döndürmenin işleme ile açılmama gerektiği durumlarda yararlı olabilir. FixedRotationToWorldConstraintherhangi bir benzersiz özelliğine sahip değildir:

MaintainApparentSizeConstraint

Görünen boyutu koruma

Bu kısıtlama bir nesneye ekli olduğunda, nesne kullanıcıdan ne kadar uzakta olursa olsun, kullanıcı için aynı görünür boyutu sürdürür (kullanıcının görünüm alanıyla aynı oranı alır). Bu, bir ekran ya da metin panelinin işlenebilir durumdayken okunabilir kalmasını sağlamak için kullanılabilir. MaintainApparentSizeConstraintherhangi bir benzersiz özelliğine sahip değildir:

MoveAxisConstraint

Kısıtlama Taşıma Ekseni

Bu kısıtlama, yönlendirilen bir nesnenin taşına hangi eksenler üzerinde düzeltilmesi için kullanılabilir. Bu, nesneleri bir düzlemin yüzeyi veya bir çizgi üzerinde manipüle için yararlı olabilir. özellikleri MoveAxisConstraint aşağıdaki gibidir:

Hareket kısıtlaması

Hangi eksenlerin hareketinin önlen olduğunu belirtir. Varsayılan olarak, bu eksenler yerel yerine geneldir, ancak aşağıda değiştirilebilir. Bu özellik bir bayrak olduğundan, herhangi bir sayıda seçenek seçilebilir.

  • X Ekseni:Seçilirse x ekseni boyunca hareket kısıtlanmış olur.
  • Y Ekseni:Seçilirse y ekseni boyunca hareket kısıtlanmış olur.
  • Z ekseni: seçilmişse, z ekseni üzerinde hareket kısıtlıdır.

Kısıtlama için yerel alanı kullan

, Doğru ise, yönetilen nesnenin yerel dönüşüm eksenlerini kısıtlar. Varsayılan olarak false.

RotationAxisConstraint

Kısıtlama döndürme ekseni

Bu kısıtlama, bir yönetilen nesnenin hangi eksenlerde döndürüleceğini onarmak için kullanılabilir. Bu, yönetilen bir nesnenin hemen tutulması için faydalı olabilir, ancak yine de y ekseni rotasyonları için izin verir. Özellikleri aşağıdaki gibidir RotationAxisConstraint :

Dönüşte kısıtlama

Hangi eksenlerin döndürülmesini önleyebelirtir. Varsayılan olarak, Bu eksenler yerel yerine genel olur, ancak bu eksenler aşağıda değiştirilebilir. Bu özellik bir bayrak olduğundan, herhangi bir sayıda seçenek seçilebilir.

  • Y ekseni: seçildiğinde y ekseni ile ilgili döndürme kısıtlanmıştır.
  • Z ekseni: seçilmişse, z ekseni ile ilgili döndürme kısıtlanmıştır.
  • X ekseni: seçilirse x ekseni ile ilgili döndürme kısıtlanmıştır.

Kısıtlama için yerel alanı kullan

, Doğru ise, yönetilen nesnenin yerel dönüşüm eksenlerini kısıtlar. Varsayılan olarak false.

MinMaxScaleConstraint

Min Maks Constatint

Bu kısıtlama, yönetilen nesnenin ölçeği için en düşük ve en büyük değerlerin ayarlanbilmesini sağlar. Bu, kullanıcıların bir nesneyi çok küçük veya çok büyük ölçeklendirmesini engellemek için faydalıdır. Özellikleri aşağıdaki gibidir MinMaxScaleConstraint :

Minimum ölçek

Düzenleme sırasında en küçük ölçek değeri.

Ölçek üst sınırı

Düzenleme sırasında en büyük ölçek değeri.

İlk duruma göre

True ise, yukarıdaki değerler nesneler ilk ölçeğine göre yorumlanır. Aksi takdirde, mutlak ölçek değerleri olarak yorumlanır.