Oyunlarda kamera ile çalışmanın birçok farklı yolu vardır ve bu çalışma biçimi, oluşturmakta olduğunuz oyunun türüne bağlı olarak büyük ölçüde değişebilir. Unreal Engine’da kameralar genellikle bir yaylı kol bileşenine sahip bir aktörden ve görüntüyü oluşturan bir kamera bileşeninden oluşur. Temel kamera kurulumu için Unreal Engine’da Kameraları Kullanma bölümüne göz atın.
Bu dokümanda geliştiriciler, kamerayı Papağan için özel olarak nasıl uygulamaya karar verdiklerinden ve belirtmeye değer önemli ayarlardan söz edecekler.
Papağan’da Kamera Alt Sistemi
Öncelikle dünyaya özgü kamera ayarlarına sahip olabilecek her harita belirlendi.
Geliştiriciler, dünyanın yaşam süresini paylaşan ve kamerayı BeginPlay’de bu ayarlarla başlatan UParrotCameraSubsystem’ı oluşturdu. Haritaya özgü ayarlar, her bir harita özelindeki tüm verileri depolamak için faydalı olan AParrotWorldSettings’de depolanmıştır. Kamera için bu, istenen kamera sınıfı, hareket modu ve kameranın artık oyuncuyu takip etmesini istemediğimiz Z üzerindeki üst/alt sınırdır. Sınıfın kendisi isteğe bağlıdır ve bir sınıf sağlanmaması da geçerli bir yoldur. Bu işlem ana menüden yapılır.
Bir alt sistem kullanmayı seçmenin gerekçesi için Papağan’daki Alt Sistemler dokümantasyonuna bakın.
Dünya ayarları, editördeki Dünya Ayarları panelinde bulunabilir.
Papağan Kamerası
Mantığın büyük kısmının gerçekleştiği yer AParrotCamera’dır. Kamera alt sistem tarafından başlatıldığında ona, takip edilecek olan oyuncu, hareket modu ve dünya ayarlarındaki sınırlar verilir.
Kameranın üç olası hareket modu vardır: Yok, Sabit ve Takip Et.
Yok, tam olarak adından anlaşıldığı gibidir. Kamera hiçbir şey yapmayacaktır.
Sabit hareket modu basittir. Oyuncu, sınırları belirlenmiş bir bölgeye girdiğinde kameraya, kamera alt sistemi tarafından sabit bir konum verilir ve kamera da bu konumla ilişkilendirme yapar. Ardından oyuncu, hareket modu güncellenene kadar serbestçe hareket etmekte özgürdür.
Takip Et hareket modu ise daha karmaşıktır ve görsel bir referans için İçerik/Blueprint’ler/BP_PlatformerCamera’ya bakılarak daha iyi anlaşılabilir. AParrotCamera varsayılan alt objeler olarak bir hareket tetikleme kutusuna ve bir bloklayıcı örgüye sahiptir. Buna göre, bu alt objeler AParrotCamera’nın her örneğinin hiyerarşisine otomatik olarak eklenir. Her ikisi de istenen etkiyi yaratmak için kamera frustumu, yaylı kol ve perspektif ile hizalıdır. Bu bileşenlerin her ikisi de kamera aktörüne bağlıdır ve onu dünya içerisinde takip eder.
Bloklayıcı örgü, oyuncunun dünyadaki oyuncuyla çarpışarak geriye doğru hareket etmesini engeller.
Oyuncu hareket tetikleme kutusu ile çakıştığında, kamera oyuncunun X değerini ayarlanmış bir hızda ilişkilendirmeyi deneyecektir. Hız aynı zamanda tetikleme bölgesinin en sol kapsamından itibaren oyuncunun mesafesiyle de çarpılır. Bu şekilde, oyuncu bölgenin içinde ne kadar çok yol almışsa kameranın onu yakalamak için o kadar hızlı hareket etmesi gerekir.
Sonuç olarak, oyuncu ekranın sol tarafında bloklayıcı örgüye kadar serbestçe dolaşabilecek, ancak oyuncu eşiği geçtiğinde kamera oyuncuyla birlikte hareket edecektir. Bu, oyuncu X ekseninde dünya üzerinde hareket ederken hoş bir efekt oluşturur.
Takip Et hareket modunda dikkat çeken bir diğer nokta ise oyuncunun bilinen son konumunun takip edilmesidir. Oyuncunun Z’si dünya sınırlarını aşarsa veya oyuncu karakteri yok edilirse kamerayı oyuncunun bilinen son konumuyla ilişkilendiririz. Bu, oyuncunun hareketine/durumuna bağlı olarak kameranın herhangi bir sarsıcı davranışta bulunmasını önler.
Son olarak, BP_PlatformerCamera üzerindeki Kamera Bileşeni’nin kendisi de belirtilmeye değer birkaç ayara sahiptir. Projeksiyon Modu, 90 derecelik görüş alanı ve standart HD olan 1,77’lik ekran oranına sahip olan perspektiftir. Kamera Seçenekleri altında, uygulamanın çalışma çözünürlüğünden bağımsız olarak kameranın her zaman doğru görünmesi için ekran oranını kısıtlarız.