Aracılığıyla paylaş


Mesh Görsel Betik düğümü başvurusu

Görsel Betik oluşturma genel bakış makalesine gidin

AralıkTa

Aralıkta olay düğümü

Aralıkta olay düğümü, aynı odadaki tüm istemciler arasında eşitlenen düzenli zaman aralıklarında bir betik akışını tetikler.

  • Aralık: Olaylar arasındaki aralık (saniye cinsinden).
  • Gecikme: İlk olaydan önceki gecikme (saniye olarak). Bunu, farklı Aralıkta düğümleri tarafından tetiklenen aynı Aralık ile olayları birbirine eklemek için kullanabilirsiniz.

Durum Değişti

Durum Değişti olay düğümünde Değişken Al düğümüne bağlanıyor

Durum Değişti olay düğümü, girişlerinden herhangi biri değerini değiştirdiğinde tetikler. Bu, betiklerinizin hem yerel olarak hem de aynı odadaki diğer istemcilerde kullanıcı etkileşiminin veya diğer görsel betiklerin neden olduğu durum değişikliklerine yanıt vermesini sağlayan güçlü bir mekanizmadır.

  • Değerler: Gözlemlemek istediğiniz giriş bağlantı noktası sayısını belirtir. Aynı anda en fazla 10 giriş bağlantı noktası gözlemlenebilir. Durum Değişikliğinde , herhangi biri değerini değiştirdiğinde tetikler.
  • 0'da, 1'de ve bu dizide daha fazlası: Durum değişiklikleri için gözlemlenen girişler. Bu girişlere herhangi bir veri düğümü ekleyebilirsiniz: Değişken Alma veya herhangi bir bileşen özelliği (örnek veya statik).
  • Bu sırada 0, Dışarı 1 ve daha fazlası: Gözlemlenen değerleri döndüren In 0 (vb.) girişlerine karşılık gelen çıkışlar.

Betik değişkenlerini veya bileşen özelliklerini gözlemlerken, Durum Değişti durumunda genellikle uygun geri çağırmaları dahili olarak kaydederek çalışır ve girdilerini sürekli olarak yeniden değerlendirme gereğini önler. Aşağıdaki örnekte olduğu gibi uygun bir geri çağırma kullanılamadığında, Durum Değişti düğümü kırmızıya dönüşür ve Graf Denetçisi paneli girişin verimli bir şekilde gözlemlenememe ve dolayısıyla devre dışı bırakıldığı konusunda uyarır:

Değişken Al düğümünü yoklama olmadan tamsayı değişmez değeriyle karşılaştırmanın sonucuna bağlanan Durum Değişti olay düğümünün ekran görüntüleri.

Bu durumda Graf Denetçisi panelinde Yoklamalara İzin Ver'i seçerek girişlerini sürekli olarak yeniden değerlendirerek değişiklikleri algılamak için Durum DeğişikliğiNde'yi zorlayabilirsiniz. Düğüm, daha yüksek çalışma zamanı maliyetiyle bir girişi gözlemlediğini anımsatmak için üst kısmında sarı bir çubuk tutar.

Değişken Al düğümünü bir tamsayı değişmez değeriyle karşılaştırmanın sonucuna bağlanan Durum Değişti olay düğümünün ekran görüntüleri yoklamalara izin verir.

İletişim Kutusunu Göster

İletişim Kutusunu Göster eylem düğümünün ekran görüntüsü

İletişim Kutusunu Göster düğümü, özel ileti ve kullanıcının iletişim kutusunu kapatmasına olanak sağlayan bir veya birkaç düğme içeren bir iletişim kutusu görüntüler.

  • Metin: İletişim kutusunda gösterilen ileti. Gerekirse ileti metni sözcük sarmalanır.
  • Düğmeler: Kullanıcıya sunacak düğmelerin seçimi. Aşağıdaki düğmeler gösterilebilir: Tamam, İptal, Evet, Hayır, Onayla, İleri, Yeniden Dene, Devam Et, Ayrıl.
  • Sonuç: Bir düğme seçerek iletişim kutusunu kapattığında kullanıcının yanıtını depolamak için değişken adı. (Boş bırakılırsa yanıt atılır.)
  • Hedef: Kullanıcının yanıtını depolamak için Bir Değişkenler bileşenine sahip GameObject.

Bir Sonuç değişkeni tanımlanırsa, İletişim Kutusunu Göster düğümü girilir girilince boş bir dizeye sıfırlanır ve kullanıcı iletişim kutusunu kapatmak için bir düğme seçtiğinde zaman uyumsuz olarak kullanıcının yanıtına ayarlanır. Depolanan değer, düğmenin yukarıdaki listeden ayrılmamış etiketidir. Aşağıdaki örnekte olduğu gibi kullanıcının yanıtına tepki vermek için Durum Değişti olay düğümünü kullanın:

Bir değişkende kullanıcı yanıtını toplayan İletişim Kutusunu Göster düğümünün ekran görüntüsü ve ardından değişken değişikliğine yanıt veren Durum Değişti düğümü

Sonuç değişkeni yerel veya paylaşılan olabilir. Paylaşılırsa, kullanıcının yanıtı aynı odadaki tüm istemcilere gönderilir ve Durum Değişti olay düğümü, kullanıcının yanıtına tepki vermek için tüm istemcilerde tetikler.

Fizik olayları düğümleri

Tetikleyici Girişinde, Tetikleyici Çıkışında, Çarpışmada Enter ve Çarpışma Çıkışında fizik olayı düğümleri güvenilir bir şekilde ağa bağlanır. Varsayılan olarak, bu olaylar odadaki tüm istemcilerde güvenilir bir şekilde tetikler; ancak, bu olay düğümleri tarafından gözlemlenen fizik collider bir Yerel Fizik Kapsamı bileşeni kapsamındaysa, olaylar tam olarak bir istemcide güvenilir bir şekilde tetiklenir. Bu, paylaşılan durumu güvenilir bir şekilde okumak ve yazmak için tetiklenen betik akışlarının (örneğin, paylaşılan puan değişkenini güncelleştirme) mümkün olmasını sağlar.

Güvenlik

Mesh, kullanıcıları şunlar gibi tehdit senaryolarından korur:

  • Güvenliği aşılmış sahne içeriği; örneğin, hassas yerel verilere erişmeye yönelik kötü amaçlı girişimler.
  • Güvenliği aşılmış istemci veya aktarım kanalı; örneğin, diğer istemcilerde erişilemeyen uzak verileri okuma veya yazma gibi kötü amaçlı girişimler.

Bunu başarmak için Mesh, görsel betikleri bir korumalı alanda (web tarayıcısında JavaScript gibi) çalıştırır.

Sahne başlangıcında Mesh, belirli Unity bileşeni türlerine ve bunların özelliklerinin güvenli bir alt kümesine erişimi sınırlamak üzere görsel betikleri doğrulamak için seçilmiş bir izin verilenler listesi kullanır.

Sahne çalışma zamanında Mesh, sahnenin belirli bölümlerine erişimi sınırlar:

  • Yerel olarak: Mesh iç öğelerine ve diğer hassas verilere erişimi engelleyerek.
  • Uzaktan: sahnenin yazarının sahnenin bu kısmının değiştirilmesini amaçladığını denetleyerek. Bu işlem, olası sahne yazma işlemleri için alıcının tarafındaki görsel betikleri statik olarak analiz ederek yapılır.

Örnekler:

  • Kötü amaçlı bir yerel görsel betik, tüm avatarlara sallanan kafalar vermek istiyor. Bu amaçla, avatar kafalarını temsil eden GameObjects için sahnenin tamamını taramaya çalışır. Mesh, avatar sistemini dışlamak için tarama sonuçlarını otomatik olarak filtreler.
  • Kötü amaçlı bir uzak istemci, tüm GameObjects'i baş aşağı çevirerek sahneyi yok etmek istiyor. Bunu başarmak için, sahnedeki her GameObject'in dikey ölçeğini ayarlayan bir özellik güncelleştirmesi gönderir. Ancak, alıcı istemcide hiçbir görsel betik böyle bir şey yapmak üzere tasarlanmamış olduğundan, yerel istemci uzak girişi yoksayar.

Ayrıca bkz.