Nesne manipülatör — MRTK2

Nesne manipülatör

ObjectManipulator, daha önce ManipulationHandler'da bulunan işleme davranışı için yeni bileşendir. Nesne manipülatör bir dizi geliştirme ve basitleştirme yapar. Bu bileşen, kullanım dışı bırakılacak işleme işleyicisinin yerini alır.

ObjectManipulator betiği, bir veya iki el kullanarak nesneyi taşınabilir, ölçeklenebilir ve döndürülebilir hale getirir. Nesne manipülatör, nesnenin çeşitli girişlere nasıl yanıt vereceğini denetlemek için yapılandırılabilir. Betik, HoloLens 2 eklemli el, HoloLens 2 el ışınları, HoloLens 1 bakışı ve hareketleri ve çevreleyici kulaklık hareket denetleyicisi girişi gibi birçok etkileşim biçimiyle çalışmalıdır.

Nesne manipülatör kullanma

Nesne manipülatör kullanmak için önce betik bileşenini bir GameObject'e ekleyin ObjectManipulator . Ayrıca nesneye yakalanabilir sınırlarıyla eşleşen bir harmanlayıcı eklediğinizden emin olun.

Nesnenin neredeyse eklemlenmiş el girişine yanıt vermesini sağlamak için betiği de ekleyin NearInteractionGrabbable .

Fiziksel davranış nesneye sert gövde bileşeni eklenerek nesne manipülatör için etkinleştirilebilir. Bu bileşenin eklenmesiyle etkinleştirilen fizik davranışı, Fizik ve çarpışmalar konusunda daha ayrıntılı olarak ele alınıyor.

Bunun yanı sıra işleme, nesneye işleme kısıtlama bileşenleri eklenerek kısıtlanabilir. Bunlar, manipülasyon ile çalışan ve manipülasyon davranışını bir şekilde değiştiren özel bileşenlerdir.

Unity düzenleyicisinde Düzenleme İşleyicisini Kullanma

Denetçi özellikleri ve alanları

Nesne Manipülatör Yapısı

Genel özellikler

Konak dönüşümü

Değiştirilecek nesne dönüşümü. Varsayılan olarak bileşenin nesnesini kullanır.

Düzenleme türü

Nesnenin bir el veya iki el kullanılarak işlenip işlenemeyeceğini belirtir. Bu özellik bir bayrak olduğundan her iki seçenek de seçilebilir.

  • Tek elle: Seçilirse tek elle düzenlemeyi etkinleştirir.
  • İki elle: Seçilirse iki elle işlemeyi etkinleştirir.

Uzak işlemeye izin ver

İşaretçilerle uzak etkileşim kullanılarak düzenleme yapılıp yapılamayacağını belirtir.

Tek elle işleme özellikleri

Bir el döndürme modu yakın

Nesne yakın bir elle yakalanırken nasıl davranacağını belirtir. Bu seçenekler yalnızca eklemli ellerde kullanılabilir.

  • Nesne merkezi hakkında döndürme: Nesne, elin döndürmesini kullanarak ancak nesne merkezi noktası hakkında döndürülür. Nesne dönerken daha az hareket ediyor gibi görünür, ancak el ile nesne arasında bir bağlantı kesilme hissi olabilir. Uzak etkileşim için daha kullanışlı.
  • Yakalama noktası hakkında döndürme: El ile başparmak ve işaret parmağı arasındaki yakalama noktası hakkında nesneyi döndürün. Nesnenin el tarafından tutulmuş gibi hissetmesi gerekir.

Bir el döndürme modu uzak

Nesnenin, bir eliyle uzak bir mesafede tutulduğunda nasıl davranacağını belirtir. Bu seçenekler yalnızca eklemli ellerde kullanılabilir.

  • Nesne merkezi hakkında döndürme: Elin döndürmesini kullanarak ancak nesne merkezi noktası hakkında nesneyi döndürün. Nesne döndürülürken nesne merkezi hareket etmeden uzaktan incelemek için kullanışlıdır.
  • Yakalama noktası hakkında döndürme: Elin döndürmesini kullanarak ancak işaretçi ışın isabet noktası hakkında nesneyi döndürün. İnceleme için kullanışlıdır.

İki elle işleme özelliği

İki elle işleme türü

İki el işlemenin bir nesneyi nasıl dönüştürebileceğini belirtir. Bu özellik bir bayrak olduğundan, herhangi bir sayıda seçenek seçilebilir.

  • Taşı: Seçiliyse taşımaya izin verilir.
  • Ölçek: Seçilirse ölçeklendirmeye izin verilir.
  • Döndür: Seçiliyse döndürmeye izin verilir.

İşleme İşleyicisi

Kısıtlamalar

Kısıtlamaları etkinleştirme

Bu ayar bağlı kısıtlama yöneticisini etkinleştirir. Dönüştürme değişiklikleri, seçilen kısıtlama yöneticisine kaydedilen kısıtlamalar tarafından işlenir.

Kısıtlama yöneticisi

Açılan liste, ekli kısıtlama yöneticilerinden herhangi birini seçmenize olanak tanır. Nesne manipülatör, her zaman ekli bir kısıtlama yöneticisi olmasını sağlar. Aynı türdeki birden çok bileşenin unity'de aynı ad altında görüneceğini unutmayın. Aynı nesnedeki birden çok kısıtlama yöneticisini ayırt etmek daha kolay hale getirmek için, kullanılabilir seçenekler seçili kısıtlama yöneticisinin yapılandırmasıyla ilgili bir ipucu gösterir (el ile veya otomatik kısıtlama seçimi).

Bileşene git

Kısıtlama yöneticisi seçimi, bileşene git düğmesiyle birlikte gelir. Bu düğme, denetçinin yapılandırılabilmesi için seçili bileşene kaydırmasına neden olur.

Fizik

Bu bölümdeki ayarlar yalnızca nesnenin Bir RigidBody bileşeni olduğunda görünür.

Yayın davranışı

Bir manipüle edilen nesnenin yayından sonra hangi fiziksel özellikleri tutması gerektiğini belirtin. Bu özellik bir bayrak olduğundan her iki seçenek de seçilebilir.

  • Hızı Koru: Nesne serbest bırakıldığında, bu seçenek belirlenirse doğrusal hızını koruyacaktır.
  • Angular Hızı Koru: Nesne serbest bırakıldığında, bu seçenek belirlenirse açısal hızını koruyacaktır.

Yakın düzenleme için kuvvetleri kullanma

Yakın işlemeler yaparken nesneyi taşımak için fizik kuvvetlerinin kullanılıp kullanılmadığı. Bunu false olarak ayarlamak, nesnenin kullanıcıların eline daha doğrudan bağlı hissetmesini sağlar. Bunu true olarak ayarlamak nesnenin kütle ve ataletini kabul eder, ancak nesne bir yay üzerinden bağlanmış gibi hissedebilir. Varsayılan değer false'tur.

Yumuşatma

Uzak düzeltme

Uzak etkileşimler için kare hızından bağımsız düzeltmenin etkinleştirilip etkinleştirilmediği. Uzak düzeltme varsayılan olarak etkindir.

Yakın düzeltme

Yakın etkileşimler için kare hızından bağımsız düzeltmenin etkinleştirilip etkinleştirilmediği. Yakın düzeltme varsayılan olarak devre dışıdır çünkü etki el ile 'bağlantısı kesilmiş' olarak algılanabilir.

Etkin düzeltme

Kullanımdan kaldırıldı ve gelecekteki bir sürümde kaldırılacak. Uygulamalar SmoothingFar, SmoothingNear veya ikisinin birleşimini kullanmalıdır.

Lerp süresini taşıma

Harekete uygulanacak düzeltme miktarı. 0'ın düzeltilmesi, düzeltme olmadığı anlamına gelir. Maksimum değer, değerde değişiklik olmadığı anlamına gelir.

Lerp süresini döndürme

Döndürmeye uygulanacak düzeltme miktarı. 0'ın düzeltilmesi, düzeltme olmadığı anlamına gelir. Maksimum değer, değerde değişiklik olmadığı anlamına gelir.

Ölçek lerp süresi

Ölçeğe uygulanacak düzeltme miktarı. 0'ın düzeltilmesi, düzeltme olmadığı anlamına gelir. En büyük değer, değerde değişiklik olmadığı anlamına gelir.

Olayları işleme

İşleme işleyicisi aşağıdaki olayları sağlar:

  • OnManipulationStarted: Düzenleme başladığında tetiklendi.
  • OnManipulationEnded: düzenleme sona erdiğinde tetikler.
  • OnHoverStarted: Bir el / denetleyici, manipüle edilebiliri yakın veya uzak bir değere getirdiğinde tetikler.
  • OnHoverEnded: Bir el / denetleyici, manipüle edilebilir öğenin üzerine getirisini kaldırdığında( yakın veya uzak) tetikler.

İşleme için olay yangın sırası:

OnHoverStarted ->OnManipulationStarted ->OnManipulationEnded ->OnHoverEnded

Düzenleme yoksa, aşağıdaki yangın sırasına sahip vurgulama olaylarını almaya devam edersiniz:

OnHoverStarted ->OnHoverEnded

Fizik ve çarpışmalar

Fizik davranışı, nesne manipülatörle aynı nesneye katı gövde bileşeni eklenerek etkinleştirilebilir. Bu, yukarıdaki yayın davranışının yapılandırılmasını sağlamakla kalmaz, aynı zamanda çakışmaları da etkinleştirir. Katı gövde bileşeni olmadan, çakışmalar işleme sırasında doğru şekilde davranmaz:

  • Manipüle edilmiş bir nesne ile statik bir çarpıştırıcı (yani, çarpıştırıcısı olan ama sert gövdeli olmayan bir nesne) arasındaki çakışmalar çalışmaz, manipüle edilen nesne doğrudan statik çarpıştırıcıdan etkilenmeden geçer.
  • Manipüle edilmiş bir nesne ile katı gövde (yani hem çarpıştırıcı hem de sert gövdeli bir nesne) arasındaki çakışmalar, sert gövdenin çarpışma yanıtına neden olmasına neden olur, ancak yanıt yıpsal ve doğal değildir. Ayrıca, manipüle edilen nesnede çakışma yanıtı da yoktur.

Sert bir gövde eklendiğinde, çarpışmalar doğru şekilde çalışmalıdır.

Sert gövde olmadan

Katı Gövde Yok

Sert gövdeli

Sert Gövde

Elastikler (Deneysel)

Elastikler, nesneleri nesne manipülatör aracılığıyla işlerken kullanılabilir. Elastik sistemin hala deneysel durumda olduğunu unutmayın. Elastikleri etkinleştirmek için mevcut bir elastics manager bileşenini bağlayın veya düğmeyi kullanarak Add Elastics Manager yeni bir elastik yönetici oluşturup bağlayın.

Sınır Denetimi Elastikleri

Ayrıca bkz.