Aracılığıyla paylaş


Mesh 101 Öğreticisi Bölüm 3: Mesh Görsel Betiği ile etkileşim ekleme



Not

Mesh araç setinde düzenli güncelleştirmeler yapıyoruz ve bu video en son değişikliklerin tümünü yansıtmayabilir. Bu makalenin içeriğini gerçeğin kaynağı olarak görüntülemelisiniz.

Kurulum aşamasını tamamladığımıza göre GameObjects'inizi etkileşimli hale getirelim! Bu bölümde, Ortamınıza özel mantık eklemek için kullanabileceğiniz Mesh Görsel Betiği'ni ele alacağız.

Not

  • İki tür Mesh Betiği vardır: C# kodunu kullanan Mesh Bulut Betiği ve Bir Betik Grafı oluşturup ardından kodlama mantığınızı oluşturmak için bir sırayla düğümler (birimler olarak da adlandırılır) eklediğiniz Mesh Görsel Betiği. Mesh 101 öğreticisinin bu sürümünde Mesh Görsel Betiği kullanılır; önceki sürümde Mesh Cloud Scripting kullanılmıştır.

  • Mesh Betik Oluşturma her Ortam için gerekli değildir, ancak burada ekleyeceğiniz özellikler için buna ihtiyacınız olacaktır: düğmeyi etkileşimli hale getirme, bilgilendirıcı metin açılan penceresini tetikleme ve sahnenin çevresinde ışınlanma.

İstasyon 3.1: Etkileşimli Düğme Oluşturma

İlk görevimizde, bir avatar tarafından basıldığında video oynatacak bir düğme oluşturmak istiyoruz. Avatar daha sonra videoyu durdurmak için aynı düğmeye basabilir.

  • Sahne penceresinde, Bölüm 3'e yönelik istasyonları içeren Sphere Terası'na gidin ve görünümü aşağıda gösterildiği gibi ilk istasyon olan 3.1 -- Video Kayıttan Yürütme'ye bakacak şekilde ayarlayın.

Unity sahne penceresinde ortamdaki ilk istasyonu gösteren Video kayıttan yürütme penceresinin ekran görüntüsü

Gördüğünüz gibi, zaten bir video ekranı var, ancak oynat/durdur düğmesine ihtiyacı var. İstasyonun metin kutusunda açıklandığı gibi, düğmenin VideoPlayer'ı açıp kapatmak ve düğme metnini değiştirmek için kullanılabilmesi için bazı düğme mantığına sahip bir Betik Grafı oluşturacağız.

Düğmeye sahne ekleme

  1. Unity'de, Chapter3 adlı GameObject ve 3.1 - Video adlı alt nesnesinin genişletildiğinden emin olun.

    Bölüm3 ve 3.1 Genişletilmiş Video klasörlerini gösteren Unity hierachy ekran görüntüsü

  2. Proje penceresinde ButtonBase ön koşulunu arayın. Arama filtresi için TÜMÜ seçeneğini belirlediğinizden emin olun.

    Unity'de Proje penceresinde aranan Buttonbase teriminin ekran görüntüsü

  3. ButtonBase'i Proje penceresinden sürükleyin ve ardından Hiyerarşi'de 3.1 -- Video adlı GameObject'e bırakın; böylece ButtonBase 3.1'e alt öğe olarak yerleştirilir-- Video.

    Hiyerarşiye sürüklenen ve 3.1 -- Video adlı GameObject'e eklenen Buttonbase'in ekran görüntüsü

    ButtonBase için Dönüştürme>Konumu değerlerinin 0, 0, 0 olduğundan emin olun.

    ButtonBase , görünüme istediğimiz yerden biraz daha düşük bir yere yerleştirilir. Bunu düzeltelim.

  4. Hiyerarşi'de ButtonBase'in seçili olduğundan emin olun.

  5. Denetçide Dönüşüm>Konumu>Y değerini "1" olarak değiştirin.

Mükemmel! Artık ButtonBase video ekranının hemen altında doğru şekilde konumlandırılıyor.

BackplateBase nesnesinin altındaki ButtonBase'i gösteren Unity ekran görüntüsü

Düğmeyi yeniden adlandırma

  • ButtonBase seçili durumdayken, Denetçi'de ButtonBase'in adını "PlayVideoButton" olarak değiştirin.

    ButtonBase'in PlayVideButton olarak yeniden adlandırıldığını gösteren Unity ekran görüntüsü

Düğmenin etiketini değiştirme

Şu anda düğmedeki metinde Etiket yazıyor. Şimdi bunu "Oynat" olarak değiştirelim.

  1. Hiyerarşide PlayVideoButton GameObject öğesini genişleterek alt nesnesinin Düğmesini görüntüleyin, ardından Alt nesnelerini görüntülemek için Düğme'yi genişletin ve ardından Alt nesneyi etiketle'yi seçin.

    Düğme Etiketi'nin vurgulandığı hierarcchy öğesini gösteren Unity ekran görüntüsü.

  2. Denetçide TextMeshPro -- Metin bileşenine gidin ve Metin Girişi kutusunda metni "Oynat" olarak değiştirin.

    Düğme Etiketi'nin denetçisini gösteren Unity'nin ekran görüntüsü ve Oynat metni vurgulanmış.

Düğme için Görsel Betik oluşturma

  1. Hiyerarşi'de PlayVideoButton öğesinin seçili olduğundan emin olun.

  2. Denetçide Bileşen Ekle'ye tıklayın ve ardından Betik Makinesi'ni seçin.

    Denetçiye iki yeni bileşen eklendiğini unutmayın: Betik Makinesi ve Değişkenler. Denetçinin alt kısmında Mesh Görsel Betik Tanılama adlı yeni bir pencere de vardır. Bu pencere görsel betiğinizle ilgili geri bildirim sağlar ve sorun giderme için yararlı olabilir.

    Eklenen iki bileşeni gösteren Unity'nin ekran görüntüsü: Betik Makinesi ve Değişkenler.

  3. Betik Makinesi bileşeninde Kaynak seçeneğinin Graph olarak ayarlandığını unutmayın. Kaynak için iki seçeneğiniz vardır: Graph ve Embed. Her birinin avantajları ve dezavantajları vardır. Bir Graph betiği ayrı bir dosya olarak kaydedildiğinden ve bu daha fazla esneklik sağladığından betiklerimiz için Graph'ı seçeceğiz.

    İpucu

    Graph ve Embed, Unity Betik Makinesi makalesinde daha ayrıntılı olarak açıklanmıştır.

  4. Betik Makinesi bileşeninde Yeni düğmesine tıklayın.

  5. Grafı Kaydet penceresinde yeni bir klasör oluşturun ve "Betikler" olarak yeniden adlandırın.

  6. Betikler klasörünü açın ve Dosya adı metin kutusuna "PlayVideoButton" yazın.

  7. İşiniz bittiğinde Kaydet düğmesine tıklayın.

  8. Betik Makinesi bileşeninde, grafik için Başlık alanına bir ad girin: "Video Oynatıcı."

  9. Grafiğin Özet alanına bir açıklama girin: "Video oynatıcının yürütme/durdurma eylemlerine nasıl yanıt verdiğini tanımlar."

    __________________

Betik Grafını Ayarlama

  1. Betik Makinesi bileşeninde Grafı Düzenle'ye tıklayın. Bu işlem Betik Grafı penceresini açar. Betik Grafı ve Sahne penceresini aynı anda görebilmek için proje ve konsol sekmesinin yanına sürükleyin ve yerleştirin.

    Betik grafiği açıkken Betik Makinesi bileşeninin vurgulandığı Unity'nin ekran görüntüsü.

    Düğüm eklediğimizde pencerede daha fazla alan olmasını isteyebilirsiniz; bunu yapmak için üç noktalı düğmeye tıklayıp Ekranı Kapla'yı seçebilir veya pencerenin sağ üst köşesindeki Tam Ekran düğmesine tıklayabilirsiniz.

    Not

    Düğüm, Visual Scripting'de birim olarak da adlandırılır. Bu öğreticide düğüm terimini kullanmaya devam edeceğiz.

  2. Varsayılan OnStart ve OnUpdate düğümlerine ihtiyacımız yoktur; bunları silin.

Betik grafı düzeni

Betik Grafımız iki bölümden oluşur:

Bölüm 1: Video oynatıcı Oynat/Durdur düğmesine ne zaman tıklandığında algılama. Bölüm 2: Tıklandığında videoyu oynatın. Yeniden tıklandığında videoyu durdurun.

Sonucun nasıl görüneceğine ilişkin bir önizleme aşağıdadır:

_______________

Düğmeye tıklandığında algılama

Düğmeye tıkılıp tıklanmadığını algılayan ilk bölümde üç düğüm gerekir. Projede bir tıklama için "dinleyen" ve buna tepki veren GameObject, Button'dır. Şimdi bunu Betik Grafı'na ekleyelim.

Düğme Nesne Değişkeni Oluşturma

  1. Hiyerarşi'de PlayVideoButton öğesini genişletin.

  2. Betik Grafı Blackboard'da yeni bir Nesne değişkeni oluşturun: (Yeni Değişken Adı) alanına "Düğme" adını yazın ve ardından "+" düğmesine tıklayın.

    ________________

  3. Nesne Değişkeninin türünü Game Object olarak ayarlayın.

  4. Hiyerarşi'den Button GameObject öğesini sürükleyin ve ardından yeni değişkenin Değer alanına bırakın.

    ________________

  5. Düğme Nesne Değişkeni'ni Blackboard'dan sürükleyin ve düğüm olarak eklemek için Betik Grafı'na bırakın.

    ________________


İpucu: Button GameObject için bazı bileşenleri incelemek için burada biraz zaman ayırabilirsiniz:

Mesh Etkileşime Dönüştürülebilir Kurulum: Bu bileşen Düğme'yi etkileşim kurabileceğiniz bir nesne yapar. Daha fazla bilgi edinmek için bkz . Interactables ile yakalama, tutma ve atma.

Mesh ile etkileşime açılabilir kurulum penceresini ve dahil edilen ayarları gösteren Unity'nin ekran görüntüsü.

Betik Makinesi: Bu, Düğme Temel Davranışı adlı bir Betik Grafı'dır.

Betik Makinesi için Düğme Tabanı davranış penceresini gösteren Unity'nin ekran görüntüsü.

Play moduna geçerseniz, Button'a Mesh Interactable Body adlı yeni bir bileşenin eklendiğini görürsünüz.

Button bileşenine eklenen yeni mesh Interactable Body bileşenini gösteren Unity'nin ekran görüntüsü.

Bu bileşen çalışma zamanında etkileşim kurulabilen gövdelere otomatik olarak eklenir; IsHovered ve IsSelected gibi Çeşitli Özellikleri Görsel Betikte kullanıma sunar. Bu özellik kısa süre içinde kullanışlı olacaktır.


Betik Grafı'nda düğmenin ne zaman seçildiğini bize haber veren bir düğüm ekleyelim.

  1. Gerekirse, Yürütme modundan çıkın ve ardından Grafiği Betik Grafı penceresinde gördüğünüzden emin olmak için Hiyerarşi'de PlayVideoButton'ı seçin.

  2. Betik Grafiği'nde Nesne Değişkeni Al düğümünün çıkış bağlantı noktasına tıklayıp bekleyin ve fare düğmesini bırakın. Bu, Benzer Bulucu'u açar. UYARI: Benzer Bulucu'u açtıktan sonra Unity arabiriminin dışında hiçbir yere tıklamayın. Bu, Belirsiz Bulucu'yı kapatır ve Betik Grafında öngörülemeyen davranışlara neden olur.

    Video oynatma açıklamasının ekran görüntüsü

  3. Seçili'yi arayın ve listede Mesh Etkileşime Dönüştürülebilir Gövde: IsSelected'i seçin.

    Video oynatma açıklamasının ekran görüntüsü

    Not: Bu düğüm bir Boole değeri verir; bunu Graf Denetçisi'nde onaylayabilirsiniz.

  4. Seçili düğümünün çıkış bağlantı noktasından bir bağlayıcı sürükleyin ve ardından Microsoft Mesh: Durum Değişti olarak adlandırılan yeni bir düğüm oluşturun. (Benzer Bulucu'da, durum değişti ifadesini arayın.)

    Video oynatma açıklamasının ekran görüntüsü

Bunlar üç düğme tıklaması algılama düğümümüz. Seçili düğümü False değeriyle başlar, ancak düğmeye tıklandığında değer True olarak değişir ve Durum Değişti düğümüne geçirilir. Bu düğüm daha sonra ekleyeceğimiz yürütme/durdurma düğümlerini tetikler.

Videoyu oynatma veya durdurma

Durum Değişti durumunda true değeri varsa video oynatılır. Zaten yürütülüyorsa ve düğmeye basılıyorsa, Durum Değişti durumunda değeri false olarak değişir ve video oynatılırken durur. Bu, görüntüleyebileceğiniz videoyu ve hareketsiz görüntüyü sağlamak için ekleyeceğiniz Betik Grafiğinin Bölüm 2'deki düğümlerini etkiler.

Buradaki bir sonraki adımımız, akışı belirlemek için bir if düğümü eklemektir.

  1. Durum Değişti düğümünün Denetim Çıktısı bağlantı noktasından bir bağlayıcı sürükleyin ve ardından yeni bir if düğümü oluşturun. (Benzer Bulucu'da, eğer'i arayın.)

    Video oynatma açıklamasının ekran görüntüsü

  2. Bir bağlayıcıyı, Durum Değişti düğümünün Veri Çıkışı bağlantı noktasından if düğümünün Veri Girişi bağlantı noktasına sürükleyin.

    Video oynatma açıklamasının ekran görüntüsü

Videonun oynatılıp oynatılmadığını belirlemek için değişken oluşturma

  1. Blackboard'da Nesne sekmesine gidin ve "isPlaying" adlı bir değişken oluşturun. Tür "Boole" yapın ve Değer onay kutusunu seçili bırakın. Bu, Boole değerine varsayılan false değerini verir.

    Video oynatma açıklamasının ekran görüntüsü

  2. "isPlaying" değişkenini Betik Grafı'na sürükleyin ve ardından *If düğümünün sağındaki bırakın.

  3. Bir bağlayıcıyı If düğümünün True Control Output bağlantı noktasından sürükleyin ve ardından yeni bir Nesne Değişkeni Ayarla düğümü oluşturun. (Benzer Bulucu'da set nesnesini arayın.)

    Video oynatma açıklamasının ekran görüntüsü

  4. Nesne Değişkenini Ayarla düğümünde değişken adı açılan menüsüne tıklayın ve ardından isPlaying öğesini seçin.

    Video oynatma açıklamasının ekran görüntüsü

    isPlaying değişkeninin burada çift görev gerçekleştirmesi gerekir. isPlaying'in her zaman doğru değere sahip olduğundan emin olmak için bir Negate düğümünden girdi verelim.

  5. Nesne Değişkeni Ayarla: isPlaying düğümünün alt Veri Girişi bağlantı noktasından bir bağlayıcı sürükleyin ve yeni bir Negate düğümü oluşturun. (Benzer Bulucu'da negate'i arayın.)

    Video oynatma açıklamasının ekran görüntüsü

  6. Bağlayıcıyı Negate düğümünün Veri Girişi bağlantı noktasından sürükleyin ve ardından yeni bir Nesne Değişkeni Al düğümü oluşturun. (Benzer Bulucu'da get nesnesi değişkenini arayın.)

  7. Nesne Değişkenini Al düğümünde değişken adı açılan menüsüne tıklayın ve ardından isPlaying öğesini seçin.

    Video oynatma açıklamasının ekran görüntüsü

Negate düğümü, IsPlaying değişikliğinin değerini şu anda ayarlandığı herhangi bir değerin tersi olarak yapar. Sahne başladığında isPlaying false (varsayılan) şeklindedir. Yürüt/Durdur düğmesine tıklandığında, Negate düğümü Nesne Değişkenini Ayarla düğümündeki Yürütme özelliğinin true olarak ayarlanmasına neden olur ve bu da videonun oynatılabilmesini sağlar. Düğmeye yeniden tıklandığında, Negate düğümü isPlaying'in false olarak sıfırlanmasına neden olur ve bu da videonun durmasını sağlar.

Videoyu oynatma veya hareketsiz görüntü görüntüleme

Şimdi Betik Grafı'nın Bölüm 2'sini oluşturmaya başlayacağız. IsPlaying değişikliklerini algılayan düğümleri ekleyeceksiniz; bu, videonun oynatılıp oynatılmayacağını veya İstasyon 3.1'in WebSlate'sinde hareketsiz görüntü görüntülenip görüntülenmeyeceğini belirler.

  1. Grafiğin alt kısmında Nesne Değişkeni Al düğümünü ekleyin ve değerini isPlaying olarak ayarlayın. (Grafiğe sağ tıklayıpDüğüm Ekle'yi seçin. Get nesnesini arayın.)

    Video oynatma açıklamasının ekran görüntüsü

  2. Nesne Değişkeni Al: isPlaying düğümünün veri çıkış bağlantı noktasından bir bağlayıcı sürükleyin ve ardından yeni bir Durum Değiştirildi düğümü oluşturun. (Benzer Bulucu'da, durum değişti ifadesini arayın.)

    Video oynatma açıklamasının ekran görüntüsü

  3. Durum Değişti düğümünün denetim çıkış bağlantı noktasından bir bağlayıcı sürükleyin ve ardından yeni bir If düğümü oluşturun. (Benzer Bulucu'da, eğer'i arayın.)

  4. Bir bağlayıcıyı Durum Değişti düğümünün veri çıkış bağlantı noktasından sürükleyin ve if düğümünün Veri Girişi bağlantı noktasına bağlayın.

    Video oynatma açıklamasının ekran görüntüsü

Video ve VideoStill (görüntü) GameObjects

  1. Hiyerarşide VideoPlayer GameObject öğesini genişletin ve iki alt nesnesi olduğuna dikkat edin: Video ve VideoStill.

  2. Video'ya tıklayın ve Denetçi'de aşağıdakilere dikkat edin:

    • Video, Rüzgar Türbini videosuna bağlantısı olan Video Player adlı bir bileşene sahiptir.

    • Video etkin değil (adının yanındaki onay kutusu boş).

  3. Hiyerarşide, VideoStill GameObject'i seçin ve denetçide aşağıdakileri not edin:

    • VideoStill'de hareketsiz bir görüntü eklenmiştir.

    • VideoStill etkindir (adının yanındaki onay kutusu seçilidir).

    Video oynatma açıklamasının ekran görüntüsü

Sahne başladığında, video ekranı hareketsiz bir görüntü görüntüler (VideoStill'in etkin olması nedeniyle) ve video oynatmaz (videonun etkin olmamasından kaynaklanır). Katılımcı Oynat/Durdur düğmesine oynat gösterilirken bastığında, Video'nun etkin olmasını sağlar, bu da videonun oynatılmalarına neden olur ve aynı anda VideoStill'i devre dışı bırakır ve hareketsiz görüntüyü gizler. Düğmenin etiketi de Oynat'tan Durdur'a değişir Katılımcı düğmeye yeniden bastığında, Video devre dışı bırakılır, video durduruluyor ve VideoStill yeniden etkin hale getirilir ve bu da video ekranının hareketsiz görüntüyü yeniden görüntülemesini sağlar.

Grafımızdaki kalan düğümler tüm bunların gerçekleşmesini sağlar.

Video ve VideoSil (görüntü) Nesne Değişkenlerini Oluşturma

Şimdi Video ve VideoSil GameObjects değerlerini tutan Nesne Değişkenleri oluşturalım.

  1. Hiyerarşi'de VideoPlayer'ı genişletin.

  2. Betik Grafı Blackboard'da yeni bir Nesne değişkeni oluşturun: (Yeni Değişken Adı) alanına "Video" adını yazın ve ardından "+" düğmesine tıklayın.

  3. Nesne Değişkeninin türünü Game Object olarak ayarlayın.

  4. Hiyerarşi'den Video GameObject öğesini sürükleyin ve yeni değişkenin Değer alanına bırakın.

    ________________

  5. Blackboard'da yeni bir Nesne değişkeni oluşturun: (Yeni Değişken Adı) alanına "VideoStill" adını yazın ve ardından "+" düğmesine tıklayın.

  6. Nesne Değişkeninin türünü Game Object olarak ayarlayın.

  7. Hiyerarşi'den VideoStill GameObject öğesini sürükleyin ve ardından yeni değişkenin Değer alanına bırakın.

    ________________

Betik grafı yapısı

Burası, Betik Grafımızın 2. Bölümünün geri kalanını nasıl tasarlamak istediğimizi düşünmek ve durdurmak için iyi bir yerdir. "If" düğümümüz bir "true" akışında ve "false" akışında dallanır. Nesne Değişkenlerimizin her iki akış için de kolayca erişilebilir olması gerektiğinden, bunları burada gösterildiği gibi akışlar arasında bir satıra yerleştireceğiz:

________________

Betik Grafı'na Video ve VideoStill Nesne Değişkenlerini Ekleme

  1. Video Nesne Değişkenini Blackboard'dan sürükleyin ve düğüm olarak eklemek için Betik Grafı'na bırakın. If düğümünü altına yerleştirin.

    ________________

  2. VideoStill Nesne Değişkenini Blackboard'dan sürükleyin ve düğüm olarak eklemek için Betik Grafı'na bırakın. Nesne Değişkeni Al: Video düğümünün sağındaki konuma yerleştirin.

    ________________

Videoyu açma

  1. Bir bağlayıcıyı If düğümünün "True" Denetim Çıkışı bağlantı noktasından sürükleyin ve ardından yeni bir Game Object: Set Active node oluşturun. (Benzer Bulucu'da etkin kümeyi arayın.)

  2. Nesne Değişkeni Al: Video düğümünün Veri Çıkışı bağlantı noktasından bir bağlayıcı sürükleyin ve ardından bunu Oyun Nesnesi:Etkin düğümü ayarla'nın ilk Veri Girişi bağlantı noktasına bağlayın.

  3. Düğümün Değer onay kutusunu seçerek düğümü etkin hale getirin.

    ____________

  4. Nesne Değişkeni Al: VideoStill düğümünün Veri Çıkışı bağlantı noktasından bir bağlayıcı sürükleyin ve ardından bunu Oyun Nesnesi: Az önce oluşturduğunuz Etkin düğümü ayarla'nın ilk Veri Girişi bağlantı noktasına bağlayın.

    Video oynatma açıklamasının ekran görüntüsü

  5. Düğümün Değer onay kutusunun seçili durumdan çıkarılmaması. Bu, düğümün etkin olmamasını sağlar.

    Düğmeye tıklandığında video oynatılır ve hareketsiz görüntü gizlenir. Bu sırada bir şey daha lazım. Yürüt/Durdur düğmesi bir iki durumlu düğme olduğundan, katılımcı Yürüt'e tıkladıktan sonra düğmenin etiketinin Durdur olarak değiştiğinden ve yeniden tıklandığında etiketin Oynat olarak değiştirildiğinden emin olmamız gerekir. Bunu başarmak için bir Nesne Değişkeni oluşturup eklememiz ve ardından bir TextMeshPro düğümü eklememiz gerekir.

Etiket Nesne Değişkeni oluşturma ve ekleme

  1. Hiyerarşi'de PlayVideoButton ve alt nesnesi Düğmesi'nin genişletildiğinden emin olun.

    ________________

  2. Betik Grafı Blackboard'da yeni bir Nesne değişkeni oluşturun: (Yeni Değişken Adı) alanına "Label" adını yazın ve ardından "+" düğmesine tıklayın.

  3. Nesne Değişkeninin türünü Game Object olarak ayarlayın.

  4. Hiyerarşi'den GameObject Etiketini sürükleyin ve yeni değişkenin Değer alanına bırakın.

    ________________

  5. Etiket Nesnesi Değişkenini Blackboard'dan sürükleyin ve düğüm olarak eklemek için Betik Grafı'na bırakın. Nesne Değişkeni Al: VideoStill düğümünün sağındaki konuma yerleştirin.

    ________________

Text Mesh Pro düğümünü ekleme

  1. Bir bağlayıcıyı Oyun Nesnesi: Etkin Düğümü Ayarla'nın Denetim Çıkışı bağlantı noktasından sürükleyin ve ardından yeni bir Text Mesh Pro: Metin düğümünü ayarla oluşturun. (Benzer Bulucu'da, küme metni için arama.) Oyun Nesnesi: Etkin düğümü ayarla'nın sağ üst satırına yerleştirin.

    Video oynatma açıklamasının ekran görüntüsü

  2. Bağlayıcıyı Nesne Değişkeni Al: Etiket düğümünün Veri Çıkışı bağlantı noktasından sürükleyin ve text Mesh Pro: Set Text düğümünün üst Veri Girişi bağlantı noktasına bağlayın.

  3. Düğümün metin alanına "Durdur" yazın.

    Video oynatma açıklamasının ekran görüntüsü

Videoyu durdurmak için düğümleri ekleme

Bu grafiğe gitmek için yalnızca üç düğüm daha! Video oynatılırken düğmeye tıklandığında isPlaying değişkeninin false olması ve videonun durmasına ve düğme etiketinin yeniden Oynat olarak değişmesine neden olması için düğmenin yanlış koşulunu ayarlamamız gerekir.

Buradan bir kısayola gidebiliriz.

  1. Control tuşuna basılı tarayarak üst satırdaki "true ise" akışını oluşturan üç düğüme tıklayın.

    Video oynatma açıklamasının ekran görüntüsü

  2. Betik Grafı'na sağ tıklayın ve açılan menüde Seçimi Yinele'yi seçin.

  3. Çoğaltılan düğümleri grafikte aşağı sürükleyin ve bunları değişken satırının altına yerleştirin.

    Video oynatma açıklamasının ekran görüntüsü

"if false" düğümlerini ayarlama

  1. Bağlayıcıyı Nesne Değişkeni Al: Video düğümünün Veri Çıktısı bağlantı noktasından sürükleyin ve ardından ilk Oyun Nesnesi: Düğümlerin alt satırında Etkin düğümü ayarla'nın üst Veri Girişi bağlantı noktasına bağlayın.

    Video oynatma açıklamasının ekran görüntüsü

  2. Aynı ilk Oyun Nesnesinde: Etkin düğümü ayarla'da Değer'in seçimini kaldırın.

  3. Bir bağlayıcıyı Nesne Değişkeni Al: VideoStill düğümünün Veri Çıkışı bağlantı noktasından sürükleyin ve ardından ikinci Oyun Nesnesinin üst Veri Girişi bağlantı noktasına bağlayın: Düğümlerin alt satırında Etkin düğümü ayarlayın.

  4. İkinci Oyun Nesnesi: Etkin düğümü ayarla bölümünde Değer'i seçin.

  5. Bağlayıcıyı Nesne Değişkeni Al: Etiket düğümünün Veri Çıkışı bağlantı noktasından sürükleyin ve ardından Text Mesh Pro: Metin düğümünü sağındaki en üst Veri Girişi bağlantı noktasına bağlayın.

  6. Aynı Text Mesh Pro'da: Metin düğümünü ayarlayın, durdur olan metni Oynat olarak değiştirin.

  7. Bir bağlayıcıyı If düğümünün "False" Denetim Çıkışı bağlantı noktasından sürükleyin ve ardından ilk Oyun Nesnesinin Denetim Girişi bağlantı noktasına bağlayın: Düğümlerin alt satırında Etkin düğümü ayarla.

    Video oynatma açıklamasının ekran görüntüsü

Deneyimdeki diğer kişilerle video oynatıcı etkileşimlerini paylaşma

Bir betiğin olaylarının yalnızca olayları tetikleyen katılımcı tarafından yaşanmasını istediğiniz zamanlar olabilir ve diğer zamanlarda olayların sahnedeki herkes tarafından deneyimlenmesi gerekebilir. Bunu Yerel Betik Kapsamı bileşeniyle denetleyebilirsiniz.

  1. Hiyerarşi'de PlayVideoButton öğesinin seçili olduğundan emin olun.

  2. Denetçi'de Bileşen Ekle düğmesine tıklayın ve ardından Yerel Betik Kapsamı'nı ekleyin.

    Video oynatma açıklamasının ekran görüntüsü

Bu öğreticide, deneyimdeki tüm katılımcıların video oynatıcıyla tüm etkileşimleri görebilmesini ve videonun oynatılmasını ve duraklatılmasını görmesini istiyoruz. Bunu sağlamak için Bu Oyun Nesnesinde görsel betik değişkenlerini paylaş seçeneğinin belirlendiğinden emin olun. Bu seçeneğin altındaki bilgi kutusu size neyin paylaşılıp neyin yerel kaldığını bildirir.

Video oynatma açıklamasının ekran görüntüsü

Çalışmanızı test edin

  1. Unity'de projeyi kaydedin ve Unity Düzenleyicisi Yürüt düğmesine basın.

  2. Oyun penceresinde, video oynatıcının altındaki Yürüt düğmesine tıklayın. Bu, düğmedeki etiketin Dur olarak değişmesine ve rüzgar türbinleriyle ilgili kısa bir videonun düğmenin üzerindeki ekranda oynatılıp oynatılamamasına neden olur.

    Video kayıttan yürütme açıklamasının ekran görüntüsü

  3. Videoyu izlemeyi bitirdiğinizde, düzenlemekte olduğunuz düğmeye yeniden basın (artık Durdur etiketine sahiptir).

  4. Yürütme modundan çıkmak için Unity Düzenleyicisi Yürüt düğmesine basın.

İstasyon 3.2: Bilgi iletişim kutusunu tetikleme

Bu özellik için, avatar bir düğmeye bastığında bir bilgi iletişim kutusunun görünmesine neden olan mevcut görsel betiği geliştireceğiz.

  1. Hiyerarşide 3.1 -- Video GameObject öğesini daraltın.

  2. Sahne penceresinde, Bilgi İletişim Kutusu Tetikleyici istasyonunun 3.1 -- Video Kayıttan Yürütme istasyonunun sağında olduğuna dikkat edin. İstasyonu 3.2'yi net bir şekilde görebilmek için görünümü ayarlayın.

    Bilgisayar açıklaması ekran görüntüsü

  3. Denetçide 3.2 -- Bilgi İletişim Kutusu adlı GameObject'i genişletin.

  4. Hiyerarşi'de InfoButtonWrapper'ı seçin.

    3.2 - Information_Button seçili Info_Dialog GameObject Hiyerarşisi ekran görüntüsü

    Denetçide, InfoButtonWrapper'ın Yerel Betik Kapsamı bileşeninin ekli olduğunu ve görsel betik değişkenlerini bu Oyun Nesnesinde paylaş seçeneğinin seçilmediğini unutmayın.

    3.2 - Information_Button seçili Info_Dialog GameObject Hiyerarşisi ekran görüntüsü

    Bunun nedeni, bir katılımcı bilgi iletişim kutusunun görünmesini sağlayan düğmeye tıkladıktan sonra düğmenin bu düğmeye gizlenmesinin nedenidir. Bu seçenek belirlenmişse düğme sahnedeki herkes tarafından gizlenir ve bunu istemeyiz.

  5. Denetçide, İletişim Kutusunu Göster grafını içeren Betik Makinesi bileşenine gidin ve Grafı Düzenle düğmesine tıklayın.

    Information_Button Denetçisinin ekran görüntüsü

  6. Grafikte, If düğümünün True Control Output bağlantı noktasından bir bağlayıcı sürükleyin ve ardından yeni bir Microsoft Mesh: İletişim Kutusunu Göster düğümü oluşturun. (Benzer Bulucu'da göster iletişim kutusunu arayın.)

    Yeni İletişim Kutusunu Göster düğümüne bağlanıp bağlanmayacağını gösteren ekran görüntüsü.

  7. İletişim Kutusunu Göster düğümünde İleti alanına tıklayın ve İleti sözcüğünü şu cümleyle değiştirin:

    Dünyanın en büyük rüzgar türbininin futbol sahasından daha uzun kanatlara sahip olduğunu biliyor muydunuz?

    Bu, bilgi iletişim kutusunda görüntülenecek iletidir.

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

  8. Şu anda Tamam'ın görüntülediği açılan listeyi seçin ve açılan listede Tamam'ın seçimini kaldırın ve Devam'ı seçin. Bu işlem, kullanıcının iletiyi okumayı tamamladıktan sonra iletişim kutusunu kapatmak için tıklayabileceği bilgi iletişim kutusuna bir Devam düğmesi ekler.

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

Çalışmanızı test edin

  1. Unity Düzenleyicisi'nde projeyi kaydedin ve Unity Düzenleyicisi Yürüt düğmesine basın.

  2. Avatarınızı düğmeden geri almak için gezinti tuşlarını kullanın. Avatarınız belirli bir uzaklıkta olduğunda düğmenin döndürüldüğünü ve seçilemez olduğunu unutmayın.

  3. Düğmeye doğru yürü. Belirli bir noktada düğmenin döndürülmesini durdurarak artık düğmeyi seçebileceğinizi gösterir.

  4. düğmesini seçin. Bilgi iletişim kutusu görüntülenir ve daha önce İletişim Kutusunu Göster düğümüne eklediğiniz iletiyi görüntüler.

    Not

    Oyun modundaki bilgi iletişim kutusunun görünümü Mesh'te göründüğünden farklıdır ve Sphere Terrace'taki diğer panellere çok benzer olacaktır.

  5. Bilgi iletişim kutusunu bitirdiğinizde, devam et düğmesine tıklayın. Düğmeye tıkladıktan sonra düğmenin kaybolduğunu unutmayın. Düğmeyi yeniden kullanmak için, çıkmanız ve ardından Yürütme moduna yeniden girmeniz gerekir.

    İpucu

    Burada geçerli olan uzaklık ve tetikleme öğeleri, ProximityDetector GameObject bileşenleri tarafından belirlenir.

    Hiyerarşideki ProximityDetector GameObject öğesini gösteren ekran görüntüsü.

  6. Yürütme modundan çıkmak için Unity Düzenleyicisi Yürüt düğmesine basın.

İstasyon 3.3: Türbin jeneratöre ışınla

Bu özellik için, sahnedeki katılımcıların ışın yapmasına olanak tanıyan bir Betik Grafı'na bazı düğümler ekleyeceğiz. Bir katılımcı düğmeye bastığında, istasyon 3.3'deki geçerli konumundan bir rüzgar türbini jeneratöre bağlı yükseltilmiş bir platforma ışınlanır. Daha sonra jeneratörü inceleyebilirler.

Dış mekan, metin, ekran görüntüsü, yel değirmeni Açıklamasını içeren bir resim otomatik olarak oluşturulur

Betik Grafını Güncelleştirme

  1. Sahne penceresinde, 3.3 - Türbin istasyonuna ışınla istasyonunun 3.2 -- Bilgi İletişim Kutusu Tetikleyici istasyonunun sağında olduğuna dikkat edin. İstasyonu 3.3'ü net bir şekilde görebilmek için görünümü ayarlayın.

  2. Hiyerarşide 3.2 - Bilgi İletişim Kutusu GameObject'i daraltın ve ardından 3.3 - Teleport GameObject öğesini genişletin.

    Ekran görüntüsü

    Düğme sizin için ayarlanmıştır--- yalnızca betik grafında bulunan düğümleri eklemeli ve bu düğümlere ışın verme davranışı sunmalıyız.

  3. Hiyerarşide ChapterLabel GameObject öğesini genişletin ve teleportToWindTurbineButton GameObject öğesini seçin.

    Ekran görüntüsü

    Denetçide, TeleportToLocationButtonStart adlı bir betiğin eklendiği Konuma Aktar adlı bir Betik Makinesi bileşeni olduğunu unutmayın. Kaynak seçeneği Graph olarak ayarlanır; bu da Betik Grafı'nın projede bağımsız bir dosya olarak depolandığı anlamına gelir.

    Ekran görüntüsü

  4. Grafiği Düzenle düğmesine tıklayın. Önceki bölümde olduğu gibi grafiğimizde de sizin için ayarlanmış bazı düğümler var.

    Ekran görüntüsü

Birazdan bu Betik Grafı'na düğüm ekleyeceğiz.

Seyahat Noktası oluşturma ve buna başvuru ekleme

"Seyahat Noktası" nedir diye soruyor olabilirsiniz... ? Temel olarak, ortaya çıkma veya ışınlanma amacıyla uzayda bir nokta tanımlamak için kullanabileceğiniz bir bileşendir. Normalde, önce bir Seyahat Grubu oluşturur ve sonra buna bir veya daha fazla Seyahat Noktası eklersiniz. Bu projede sizin için Seyahat Grubunu zaten oluşturduk, bu nedenle aşağıdaki adımlarda bu gruba bir Seyahat Noktası ekleyeceğiz. Ardından bu Seyahat noktasını, ışınla düğmesine tıkladığında avatarın gideceği konum olarak kullanacağız. Daha fazla bilgi edinmek için Avatar oluşturma ve ışınlama noktaları oluşturma başlıklı makalemize bakın.

  1. Hiyerarşide, TravelGroup'a alt nesne olarak yeni bir boş GameObject oluşturun ve bunu "TeleportLocationWindTurbine" olarak yeniden adlandırın.

    Ekran görüntüsü

  2. Denetçide Bileşen Ekle düğmesine tıklayın ve ardından Seyahat Noktası bileşenini arayıp ekleyin.

    Ekran görüntüsü

  3. Denetçide, Dönüştür bileşeninde aşağıdaki değerleri girin:

    Konum:

    X = 6
    Y = 56
    Z = 60

    Döndürme:

    X = 0
    Y = 255
    Z = 0

    Ekran görüntüsü

    Avatar bu konuma ışınlanacak.

  4. Denetçide, adının yanındaki onay kutusunun seçimini kaldırarak TeleportLocationWindTurbine GameObject'i devre dışı yapın. Çalışma zamanında etkin birden fazla TravelPoint nesneniz varsa Unity, avatar için oluşturma noktası olarak etkin Seyahat Noktalarından birini rastgele seçer. Avatarın TeleportLocationChapter3 GameObject tarafından belirtilen noktada ortaya çıktığından emin olmak istiyoruz, böylece tek etkin Seyahat Noktası olmalıdır. Devre dışı hale getirildikten sonra TeleportLocationWindTurbine, Hiyerarşi'de soluk görüntülenir.

    Ekran görüntüsü

ışınlayıcı Konumu Nesne Değişkeni oluşturma ve ekleme

  1. Betik Grafı Blackboard'da yeni bir Nesne değişkeni oluşturun: (Yeni Değişken Adı) alanına "TeleportLocation" adını yazın ve ardından "+" düğmesine tıklayın.

  2. Nesne Değişkeninin türünü Game Object olarak ayarlayın.

  3. Hiyerarşi'den TeleportLocationWindTurbine GameObject öğesini sürükleyin ve yeni değişkenin Değer alanına bırakın.

    ________________

  4. Düğme Nesne Değişkeni'ni Blackboard'dan sürükleyin ve düğüm olarak eklemek için Betik Grafı'na bırakın. If düğümünü altına yerleştirin.

    ________________

ışınlayıcı düğümlerini ekleme

  1. If düğümünün "True" çıkış denetimi bağlantı noktasından bir bağlayıcı sürükleyin ve ardından Oyun Nesnesi: Etkin Ayarla adlı yeni bir düğüm oluşturun. (Benzer Bulucu'da etkin kümeyi arayın.)

  2. Bağlayıcıyı Nesne Değişkeni Al: TeleportLocation düğümünün Veri Çıkışı bağlantı noktasından sürükleyin ve ardından bunu Oyun Nesnesi: Etkin düğümü ayarla'nın ilk Veri Girişi bağlantı noktasına bağlayın.

    Ekran görüntüsü

  3. Etkin hale getirmek için düğümün Değer seçeneğini belirleyin.

Seyahat Noktası düğümünü ekleme

  1. Oyun Nesnesi: Etkin düğümü ayarla'nın Denetim Çıkışı bağlantı noktasından bir bağlayıcı sürükleyin ve ardından Travel Point: Travel to Point adlı yeni bir düğüm oluşturun. (Benzer Bulucu'da seyahat noktası: seyahat araması.)

  2. Bağlayıcıyı Nesne Değişkeni Al: TeleportLocation düğümünün Veri Çıkışı bağlantı noktasından sürükleyin ve ardından Bunu Seyahat Noktası: Noktadan Noktaya Seyahat düğümünün Veri Girişi bağlantı noktasına bağlayın.

    Ekran görüntüsü

Bu işlem grafı tamamlar.

Çalışmanızı test edin

  1. Unity Düzenleyicisi'nde projeyi kaydedin ve Unity Düzenleyicisi Yürüt düğmesine basın.

  2. İstasyon 3.3'e gidin ve ardından ışınla düğmesine tıklayarak rüzgar türbini jeneratöre ışınlayın.

    Ekran görüntüsü

    Otomatik olarak oluşturulan bir bilgisayar Açıklaması ekran görüntüsü

  3. 3.3 -- Oluşturucu bilgileri kutusunda Oluşturucuyu Göster/Gizle düğmesini seçin. Rüzgar türbininin yanında bir pencere açılır ve içindeki jeneratörü görebilirsiniz.

    Makine açıklamasının bilgisayar ekran görüntüsü

Jeneratöre yakın bir adım atıp bir göz atabilirsiniz. Oldukça havalı! İşiniz bittiğinde geri gidin ve Ardından Oluşturucuyu Göster/Gizle düğmesine basın. Bu işlem pencereyi kapatır.

Bölüm 4'e gidin

Bu noktada, deneyimdeki katılımcı Bölüm 4'e geçmeye ve fizikle ilgili rüzgar türbini etkinlikleri hakkında bilgi edinmeye hazır olacaktır. Bölüm 3'de olduğu gibi, Bölüm 4'ün istasyonlarını içeren bir Sphere Terrace vardır. Bu konuma gitmek için:

  1. Rüzgar türbini jeneratörden ters yönde döndürün ve 3.3 ' e doğru yürüyün -- Bölüm 4 bilgi kutusuna gidin.

    Bilgisayar açıklaması ekran görüntüsü

  2. 4. Bölüme ışınla düğmesine basın.

    Bilgisayar açıklaması ekran görüntüsü

    Tanıtıldığı gibi, avatarı Bölüm 4 ve Mesh Fiziği için istasyonların önüne yerleştirir.

    Metin, ekran görüntüsü, multimedya yazılımı, grafik yazılımı içeren resim Otomatik olarak oluşturuldu

Bölüm 3: Özet

Bu bölümde, deneyiminizdeki katılımcıların aşağıdakileri yapmalarını sağlayan özellikler eklemek için Mesh Görsel Betiği'ni kullandınız:

  1. Rüzgar türbinleri hakkında eğitim videosu oynatmaya neden olan bir düğmeye basın.

  2. Rüzgar türbinleri hakkında bilgi iletişim kutusunun görüntülenmesini tetikleyen bir düğmeye basın.

  3. Katılımcıyı sıfırdan rüzgar türbini jeneratöre bağlı bir platforma ışınlayan ve jeneratörü yakından inceleyebilecekleri bir düğmeye basın.

Sonraki adımlar