Mini tahta, oyuncuya kendi tahtasının bir görünümünü gösterir. İsabet işaretleyicileri, bir tahta karesinin saldırıya uğradığını ve rakibin o karedeki bir piyonu başarıyla yok ettiğini gösterir. Iskalama işaretleyicileri, bir tahta karesinin saldırıya uğradığını ve rakibin hiçbir şeyi vuramadığını gösterir.
Mini tahtanın kendisi, oyun kullanıcı arayüzünün bir parçası olarak görünmesi için oynanış kamerasına göre yerleştirilmiş bir statik örgüdür. Mini tahtanın yerleştirilmesi için birkaç şeyin bilinmesi gerekir:
Oynanış kamerası dönüşümü.
Mini tahtanın kameradan ne kadar uzaklıkta ofsetleneceği.
Tahta ızgara boyutu.
Mini tahta için kullanılacak statik örgü.
Kamera dönüşümüne oynanış kamerasından erişilebilir; yani oynanış kamerasına bir referans ekle. Yukarıdaki ikinci madde, düzenlenebilir bir vektör olabilmesi için UEFN üzerinden deneme yanılma yöntemiyle gerçekleştirilebilir. Üçüncü maddedeki boyut bilgisine, oyuncunun oyun tahtasına yapılan bir referans aracılığıyla erişilebilir. Sonuncu maddedeki statik örgü ise Verse Assets.digest.verse ile oluşturulan öğeye yönelik bir referans aracılığıyla depolanabilir.
Mini tahta, basit bir statik örgü modellemek için UEFN’in Modelleme Modu’nda oluşturulmuştur. Bu statik örgü SM_Miniboard olarak adlandırılır.
Oynanış kamerası, aşağıya doğru oyun tahtasına bakan bir sabit konum kamerasıdır.
Mini Tahta Sınıfını Yapılandır
Mini tahta sınıfını tanımlamak için miniboard.verse adında yeni bir Verse dosyası oluştur ve miniboard adında yeni bir Verse cihazı ekle.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):Daha önce sözü edilen değişkenleri sınıfa ekle:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
@editable
Mini Tahtayı Yerleştir
Mini tahtayı yerleştirmek için Position adında yeni bir fonksiyon oluştur. Bu fonksiyon, CameraDevice’ın, StaticMesh’in ve BoardOffsetFromCameraDevice’ın dönüşümünden başka hiçbir bilgiye ihtiyaç duymaz.
Konum fonksiyonu, mini tahtanın oyun kullanıcı arayüzünün bir parçasıymış gibi görünmesini sağlamak için onu oynanış kamerasına göre yerleştirir.
Bu fonksiyon aşağıdaki adımları gerçekleştirir:
Oynanış kamerasının dönüşümünü alır.
Mini tahta örgüsü için önceden bir dönüş düzeltmesi tanımlar.
Mini tahta örgüsü, Yukarı veya Z eksenine bakacak şekilde yönlendirilir.
Bu dönüş, örgüyü İleri veya X ekseni yönüne bakacak şekilde döndürür.
Mini tahta dönüşümünü oluşturur.
Mini tahtanın yer değiştirmesi kamerada başlar, ardından kameraya bakacak şekilde döndürülen, kamera cihazından itibaren olan ofset eklenir.
Dönüş, kameraya bakacak ve mini tahtanın birincil eksenine göre düzeltilecek şekilde yapılır.
Mini tahta nesnesi ortaya çıkarılır ve statik örgü ayarlanır.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
...
Oyun başladıktan sonra mini tahtayı yerleştirmek için mini tahta OnBegin fonksiyonunu geçersiz kıl:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
...
Özet
Özetlemek gerekirse, bu sayfada aşağıdaki adımlar açıklanmıştır:
Mini tahta alanında bir karenin gösterimini tanımla.
Mini tahta alanının sınırlarını tanımla.
Mini tahta alanının dünya alanında nerede yer aldığını tanımla.
Dosyalar
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
@editable