Önceki gönderide Quest 2 cihazını hedef alan başarıyla oluşturduğumuz için, şimdi Meta'nın Presence Platformu aracılığıyla sağladığı en güçlü yeteneklerden biri hakkında bilgi sahibi olacağız. ilk Unity projemizi Meta'nın Varlık Platformu Nedir? Varlık Platformu, sanal gerçeklik ortamlarında ortak varlık ve etkileşim duygusu yaratmak için . İnsanların VR kulaklıkları kullanarak sürükleyici sanal alanlarda birbirleriyle bağlantı kurmasına, etkileşimde bulunmasına ve etkileşime girmesine olanak tanır. tasarlanmıştır Meta'nın Varlık Platformunun özellikleri ve yetenekleri şunları içerir: Varlık Platformu, kullanıcıların kendilerini sanal dünyada temsil eden dijital avatarlarını oluşturmalarına ve özelleştirmelerine olanak tanır. Bu avatarlar, kullanıcıların gerçek hayattaki hareketlerini, ifadelerini ve jestlerini taklit ederek varlık hissini ve sosyal etkileşimi geliştirebilir. Avatar Sistemi: Kullanıcılar, paylaşılan sanal ortamlarda arkadaşlarıyla ve diğer insanlarla tanışabilir ve etkileşimde bulunabilir. Birlikte oyun oynamak, sanal etkinliklere katılmak, video izlemek gibi çeşitli aktivitelere katılabilirler. Sosyal Etkileşim: Platform, uzamsal ses içerir; bu, sanal ortamdaki sesin konuma dayalı olduğu anlamına gelir. Bu, kullanıcıların tıpkı gerçek dünyada olduğu gibi belirli yönlerden gelen sesleri duyabilmesi nedeniyle daha gerçekçi ve sürükleyici bir ses deneyimi yaratıyor. Uzamsal Ses: Presence Platformu, el takip teknolojisini destekleyerek kullanıcıların ellerini ve parmaklarını kontrol cihazına ihtiyaç duymadan doğrudan VR'de kullanmalarına olanak tanıyor. Bu, etkileşimleri daha doğal ve sezgisel hale getirir. El Takibi: Platform, farklı Oculus VR başlıklarıyla çalışacak şekilde tasarlandı ve farklı cihazlara sahip kullanıcıların birbirlerine sorunsuz bir şekilde katılmasına ve etkileşime girmesine olanak tanıyor. Çapraz Platform Desteği: Geliştiriciler için Presence Platform, VR uygulamaları, oyunlar ve deneyimler oluşturup yayınlamaya yönelik araçlar ve API'ler sağlayarak gelişen bir sanal içerik ekosistemini mümkün kılar. İçerik Oluşturma Araçları: El takibiyle başlama Gördüğünüz gibi Presence Platformu kapsamlı bir alt sistem/özellikler setidir ve bunların her birini ayrıntılı olarak ele alacağım, ancak başlamak için - VR oyun geliştirmenin temel gereksinimlerinden biri olan el takibinden başlayalım - kurulumunu yapacağız , deneyim benzeri bir el izleme oyunu oluşturun ve başlatın. Mükemmel bir başlangıç noktası, oculus-samples tarafından sağlanan deneyimidir. repo Unity-FirstHand Tekrar, lütfen geliştirme ortamının kurulumuyla ilgili bakın ve çeşitli bağımlılıkların kurulu olduğundan emin olun. önceki gönderiye Git LFS'nin kurulu olduğundan emin olun, şu komutu çalıştırın: git lfs install Ardından "Kod"u kullanarak repo'yu kopyalayın, Github masaüstünde açın ve aşağıdaki komutu çalıştırın: git clone https://github.com/oculus-samples/Unity-FirstHand.git Gerçek proje dosyalarının tümü Varlıklar → Proje'dedir. Bu klasör, Etkileşim SDK'sının kendisi hariç, örneği çalıştırmak için gereken tüm komut dosyalarını ve varlıkları içerir. Proje, Etkileşim SDK'sı da dahil olmak üzere Oculus SDK'nın v41'ini içeriyor. Etkileşim SDK'sını [Assets/Oculus/Interaction]{Assets/Oculus/Interaction) içinde bulabilirsiniz. Gerekli tüm bağımlılıkları yükledikten ve derlemeyi Quest cihazında çalışacak şekilde yapılandırdıktan sonra, düzenleyicinizde yukarıdakine benzer bir şey elde edeceksiniz. Oluştur ve çalıştır Mac kullanıyorsanız Dosya → Yapı Ayarları'na gidin. Önceki gönderimdeki talimatları izlediyseniz ve cihazınızı bağladıysanız, Yapı Ayarlarında görmeniz gerekenler aşağıdadır. Oluştur ve Çalıştır'a tıklayın, Unity'nin oluşturması için birkaç dakika bekleyin ve uygulamanızın bağlı Quest cihazına dağıttığı mesajları bekleyin. Özelleştirme ve değişiklik yapma Bu örnekle oynamanızı ve dahili olarak nasıl çalıştığını öğrenmek için bileşenleri ve komut dosyalarını özelleştirmeye çalışmanızı, bunu Unity editörünüzün Proje bölümüne giderek proje dizinleri hiyerarşisini genişletmenizi şiddetle öneririm. LazerProjectile'ı özelleştireceğiz: public class LazerProjectile : ActiveStateObserver { [SerializeField] Transform _target; [SerializeField] GameObject _effect; [SerializeField] float _rayCastDelay = 0.5f; [SerializeField] float _fadeOutTime = 0.1f; [SerializeField] float _delayBetweenShots = 0.5f; [SerializeField] AudioTrigger _chargeUp; [SerializeField, Optional] AudioTrigger _chargeUpComplete; protected override void Update() { base.Update(); Vector3 endPos = Vector3.Lerp(_target.position, transform.position + transform.forward * 20, 5 * Time.deltaTime); _target.position = endPos; } //...... } Ray cast gecikmesini artıralım ve uygulamayı kulaklıkta değiştirerek test edelim float _rayCastDelay = 0.1f; ile float _rayCastDelay = 0.5f; İşte nasıl çalışıyor! Kendiniz deneyin ve el takibini kullanarak ne oluşturmak istediğinizi bana bildirin.