Önceki gönderide Quest 2 cihazını hedef alan ilk Unity projemizi 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.
Varlık Platformu, sanal gerçeklik ortamlarında ortak varlık ve etkileşim duygusu yaratmak için tasarlanmıştır . İ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.
Meta'nın Varlık Platformunun özellikleri ve yetenekleri şunları içerir:
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 repo tarafından sağlanan Unity-FirstHand deneyimidir.
Tekrar, lütfen geliştirme ortamının kurulumuyla ilgili önceki gönderiye bakın ve çeşitli bağımlılıkların kurulu olduğundan emin olun.
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.
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.
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.