Aracılığıyla paylaş


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?

  1. 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.
  2. 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 Head TrackedTargetTypedeğ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çin SurfaceNormalOffset belirtilen herhangi bir değer yerine varsayılan yüzey normal uzaklığı uygulanır. false ise değeri SurfaceNormalOffset 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ğunda UseDefaultSurfaceNormalOffset 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ır RotateAccordingToSurface .
      • 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.
  3. 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 Distancekonumunda öğesini TrackedTargetType izler.
    • 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.