Yerleştirmek için dokunun — MRTK3
Yerleştir'e dokunun, kullanıcının etrafındaki ortamın sahne yeniden yapılandırma (SR) örgüsünün yüzeyine bir oyun nesnesi yerleştirmek için kullanılan bir çözücüdür. Yerleştir'e dokunun, bir nesneyi yerleştirmek için iki seçimin ve baş hareketinin bir bileşimini kullanır. Yerleştirmeye tek bir seçimle başlayabilir, nesnenin konumunu denetlemek için baş hareketini kullanabilir ve nesneyi başka bir seçme eylemiyle sahneye yerleştirebilirsiniz.
Nasıl kullanılır?
Sahneyi ayarlayın.
- Yeni bir Unity sahnesi oluşturun.
- Sahneye bir küp ekleyin, ölçeği 0,2 olarak değiştirin ve konumu (0, 0, 0,7) olarak değiştirin.
Bir oyun nesnesine collider ile Dokunarak Yerleştir'i ekleyin.
- Yerleştir'e Dokun bileşeni eklendiğinde bir Çözücü İşleyicisi de eklenir. Yerleştir'e dokunun , Çözücü işleyicisi gerektiren Çözücü sınıfından türetilir. Yerleştir'e Dokun nesnesinin konumu Çözücü İşleyicisi içindekine
TrackedTargetType
göre hesaplanır. Varsayılan olarak HeadTrackedTargetType
değeri , yani baş hareket ettiğinde nesne seçiliyse onu izler. ,TrackedTargetType
nesnesinin denetleyiciyi takip ettiği Denetleyici Ray olarak da ayarlanabilir. Yerleştir'e Dokun denetçisindeki ilk özellik grubu Ortak Çözücü Özellikleri'dir.
Önemli
Yerleştir'e dokunun, tek başına bir Çözücüdür ve diğer Çözücülerle zincirlenemez. Nesne yerleştirilirken konumunu güncelleştirmek için kullanıldığından zincirlenemez
SolverHandler.UpdateSolvers
.- Özellikleri Yerleştirmek için Dokunun:
-
Auto Start
: Doğruysa, Yerleştir'e Dokun çözücü yerleştirilecek oyun nesnesinin konumunu kontrol etmeye başlar. Nesne, TrackedTargetType'ı (Baş veya Denetleyici Ray) hemen takip etmeye başlar. Herhangi bir etkiye sahip olması için Start() çağrılmadan önce bu değerin değiştirilmesi gerekir. -
Default Placement Distance
: Bir nesnenin varsayılan uzaklığı (metre olarak) SolverHandler'da TrackedTargetType'a göre ileriye doğru yerleştirilir. Raycast yüzeye ulaşmazsa, oyun nesnesi varsayılan yerleştirme mesafesine yerleştirilir. -
Max Raycast Distance
: 'TrackedTargetType' kaynağına göre raycast için maksimum uzaklık (metre). Bu raycast, seçili nesneyi yerleştirmek için bir yüzey arar. -
UseDefaultSurfaceNormalOffset
: Bu özellik varsayılan olarak doğrudur. Yerleştirilmekte olan nesnenin bir yüzeye hizalanmasını sağlar. Bu özellik true ise, özellik içinSurfaceNormalOffset
belirtilen herhangi bir değer yerine varsayılan yüzey normal uzaklığı uygulanır. false ise değeriSurfaceNormalOffset
uygulanır. Varsayılan yüzey normal uzaklığı, harmanlamanın z ekseni boyunca uzanmasıdır. -
Surface Normal Offset
: Raycast bir yüzeye vurursa oyun nesnesinin merkezi ile yüzey boyunca normal bir yüzey arasındaki mesafe. Bu özellik yalnızca false olduğundaUseDefaultSurfaceNormalOffset
bir nesneye uygulanır. -
Keep Orientation Vertical
: Doğru ise, yerleştirilecek oyun nesnesi dik ve Vector3.up ile aynı hizada kalır. -
Rotate According to Surface
: False ise, yerleştirecek oyun nesnesi, yüzey isabetine göre dönüşünü değiştirmez. IsBeingPlaced doğru olduğunda nesne kamerayla karşılaşır. -
Magnetic Surfaces
: En yüksekten en düşük önceliğe kadar yürütülecek bir LayerMasks dizisi. Konum hesaplamaları için raycast isabeti sağlayan ilk katman maskesi kullanılır. -
Debug Enabled
: True ise ve Unity Düzenleyicisi'nde raycast isabetinin normali sarı renkte çizilir. Nesnenin geçerli yönlendirmesinde neden ayarlandığını görsel olarak açıklayan yüzey isabetinin normalini çizdiği için hata ayıklama etkinleştirildiğinde hata ayıklama true olduğunda kullanışlıdırRotateAccordingToSurface
. -
On Placing Started
: Bu olay, yerleştirecek oyun nesnesi seçildiğinde bir kez tetikler. -
On Placing Stopped
: Bu olay, yerleştirilecek oyun nesnesi seçilmemiş, yerleştirildiğinde bir kez tetikleniyor.
-
- Yerleştir'e Dokun bileşeni eklendiğinde bir Çözücü İşleyicisi de eklenir. Yerleştir'e dokunun , Çözücü işleyicisi gerektiren Çözücü sınıfından türetilir. Yerleştir'e Dokun nesnesinin konumu Çözücü İşleyicisi içindekine
Düzenleyiciye dokunma davranışını yerleştirmek için dokunmayı test etme
- Giriş simülasyonu elini göstermek için oynatma tuşuna basın ve boşluk çubuğunu basılı tutun.
- Küp odakta olana kadar eli hareket ettirin ve sol fareyle tıklayarak giriş simülasyonu eliyle bir tıklama simülasyonu oluşturun.
- Sahnede harmanlamalar yoksa, nesne tanımlanan
Default Placement Distance
konumunda öğesiniTrackedTargetType
izler.
- Sahnede harmanlamalar yoksa, nesne tanımlanan
- Nesne, seçimden sonrakinin
TrackedTargetType
hareketini izler. Düzenleyicide baş hareketinin benzetimini yapmak için WASD tuşlarına basın. Sağ fare düğmesine tıklayıp basılı tutarak baş döndürmeyi değiştirin. - Nesneyi yerleştirmeyi durdurmak için yeniden tıklayın. Yerleştirmeyi durdur tıklaması için nesnenin odakta olması gerekmez. Odak yalnızca yerleştirme işlemini başlatan ilk tıklama için gereklidir.