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.
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
Unity'de, Chapter3 adlı GameObject ve 3.1 - Video adlı alt nesnesinin genişletildiğinden emin olun.
Proje penceresinde ButtonBase ön koşulunu arayın. Arama filtresi için TÜMÜ seçeneğini belirlediğinizden emin olun.
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.
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.
Hiyerarşi'de ButtonBase'in seçili olduğundan emin olun.
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.
Düğmeyi yeniden adlandırma
ButtonBase seçili durumdayken, Denetçi'de ButtonBase'in adını "PlayVideoButton" olarak değiştirin.
Düğmenin etiketini değiştirme
Şu anda düğmedeki metinde Etiket yazıyor. Şimdi bunu "Oynat" olarak değiştirelim.
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.
Denetçide TextMeshPro -- Metin bileşenine gidin ve Metin Girişi kutusunda metni "Oynat" olarak değiştirin.
Düğme için Görsel Betik oluşturma
Hiyerarşi'de PlayVideoButton öğesinin seçili olduğundan emin olun.
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.
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.
Betik Makinesi bileşeninde Yeni düğmesine tıklayın.
Grafı Kaydet penceresinde yeni bir klasör oluşturun ve "Betikler" olarak yeniden adlandırın.
Betikler klasörünü açın ve Dosya adı metin kutusuna "PlayVideoButton" yazın.
İşiniz bittiğinde Kaydet düğmesine tıklayın.
Betik Makinesi bileşeninde, grafik için Başlık alanına bir ad girin: "Video Oynatıcı."
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
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.
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.
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
Hiyerarşi'de PlayVideoButton öğesini genişletin.
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.
Nesne Değişkeninin türünü Game Object olarak ayarlayın.
Hiyerarşi'den Button GameObject öğesini sürükleyin ve ardından yeni değişkenin Değer alanına bırakın.
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.
Betik Makinesi: Bu, Düğme Temel Davranışı adlı bir Betik Grafı'dır.
Play moduna geçerseniz, Button'a Mesh Interactable Body adlı yeni bir bileşenin eklendiğini görürsünüz.
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.
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.
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.
Seçili'yi arayın ve listede Mesh Etkileşime Dönüştürülebilir Gövde: IsSelected'i seçin.
Not: Bu düğüm bir Boole değeri verir; bunu Graf Denetçisi'nde onaylayabilirsiniz.
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.)
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.
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.)
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.
Videonun oynatılıp oynatılmadığını belirlemek için değişken oluşturma
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.
"isPlaying" değişkenini Betik Grafı'na sürükleyin ve ardından *If düğümünün sağındaki bırakın.
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.)
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.
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.
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.)
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.)
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.
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.
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.)
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.)
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.)
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 ve VideoStill (görüntü) GameObjects
Hiyerarşide VideoPlayer GameObject öğesini genişletin ve iki alt nesnesi olduğuna dikkat edin: Video ve VideoStill.
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ş).
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).
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.
Hiyerarşi'de VideoPlayer'ı genişletin.
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.
Nesne Değişkeninin türünü Game Object olarak ayarlayın.
Hiyerarşi'den Video GameObject öğesini sürükleyin ve yeni değişkenin Değer alanına bırakın.
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.
Nesne Değişkeninin türünü Game Object olarak ayarlayın.
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
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.
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
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.)
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.
Düğümün Değer onay kutusunu seçerek düğümü etkin hale getirin.
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.
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
Hiyerarşi'de PlayVideoButton ve alt nesnesi Düğmesi'nin genişletildiğinden emin olun.
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.
Nesne Değişkeninin türünü Game Object olarak ayarlayın.
Hiyerarşi'den GameObject Etiketini sürükleyin ve yeni değişkenin Değer alanına bırakın.
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
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.
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.
Düğümün metin alanına "Durdur" yazın.
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.
Control tuşuna basılı tarayarak üst satırdaki "true ise" akışını oluşturan üç düğüme tıklayın.
Betik Grafı'na sağ tıklayın ve açılan menüde Seçimi Yinele'yi seçin.
Çoğaltılan düğümleri grafikte aşağı sürükleyin ve bunları değişken satırının altına yerleştirin.
"if false" düğümlerini ayarlama
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.
Aynı ilk Oyun Nesnesinde: Etkin düğümü ayarla'da Değer'in seçimini kaldırın.
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.
İkinci Oyun Nesnesi: Etkin düğümü ayarla bölümünde Değer'i seçin.
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.
Aynı Text Mesh Pro'da: Metin düğümünü ayarlayın, durdur olan metni Oynat olarak değiştirin.
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.
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.
Hiyerarşi'de PlayVideoButton öğesinin seçili olduğundan emin olun.
Denetçi'de Bileşen Ekle düğmesine tıklayın ve ardından Yerel Betik Kapsamı'nı ekleyin.
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.
Çalışmanızı test edin
Unity'de projeyi kaydedin ve Unity Düzenleyicisi Yürüt düğmesine basın.
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.
Videoyu izlemeyi bitirdiğinizde, düzenlemekte olduğunuz düğmeye yeniden basın (artık Durdur etiketine sahiptir).
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.
Hiyerarşide 3.1 -- Video GameObject öğesini daraltın.
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.
Denetçide 3.2 -- Bilgi İletişim Kutusu adlı GameObject'i genişletin.
Hiyerarşi'de InfoButtonWrapper'ı seçin.
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.
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.
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.
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.)
İ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.
Ş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.
Çalışmanızı test edin
Unity Düzenleyicisi'nde projeyi kaydedin ve Unity Düzenleyicisi Yürüt düğmesine basın.
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.
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.
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.
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.
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.
Betik Grafını Güncelleştirme
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.
Hiyerarşide 3.2 - Bilgi İletişim Kutusu GameObject'i daraltın ve ardından 3.3 - Teleport GameObject öğesini genişletin.
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.
Hiyerarşide ChapterLabel GameObject öğesini genişletin ve teleportToWindTurbineButton GameObject öğesini seçin.
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.
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.
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.
Hiyerarşide, TravelGroup'a alt nesne olarak yeni bir boş GameObject oluşturun ve bunu "TeleportLocationWindTurbine" olarak yeniden adlandırın.
Denetçide Bileşen Ekle düğmesine tıklayın ve ardından Seyahat Noktası bileşenini arayıp ekleyin.
Denetçide, Dönüştür bileşeninde aşağıdaki değerleri girin:
Konum:
X = 6
Y = 56
Z = 60Döndürme:
X = 0
Y = 255
Z = 0Avatar bu konuma ışınlanacak.
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.
ışınlayıcı Konumu Nesne Değişkeni oluşturma ve ekleme
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.
Nesne Değişkeninin türünü Game Object olarak ayarlayın.
Hiyerarşi'den TeleportLocationWindTurbine GameObject öğesini sürükleyin ve yeni değişkenin Değer alanına bırakın.
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
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.)
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.
Etkin hale getirmek için düğümün Değer seçeneğini belirleyin.
Seyahat Noktası düğümünü ekleme
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ı.)
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.
Bu işlem grafı tamamlar.
Çalışmanızı test edin
Unity Düzenleyicisi'nde projeyi kaydedin ve Unity Düzenleyicisi Yürüt düğmesine basın.
İstasyon 3.3'e gidin ve ardından ışınla düğmesine tıklayarak rüzgar türbini jeneratöre ışınlayın.
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.
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:
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.
4. Bölüme ışınla düğmesine basın.
Tanıtıldığı gibi, avatarı Bölüm 4 ve Mesh Fiziği için istasyonların önüne yerleştirir.
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:
Rüzgar türbinleri hakkında eğitim videosu oynatmaya neden olan bir düğmeye basın.
Rüzgar türbinleri hakkında bilgi iletişim kutusunun görüntülenmesini tetikleyen bir düğmeye basın.
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.