Bir gökyüzü kutusu, oyunlarda etkileyici bir gökyüzü arka planı oluşturmak için altı ayrı görüntüden oluşan bir küptür. Görüntüler birbirleriyle mükemmel bir şekilde hizalandığında, gökyüzü kutusu panoramik görünür ve bir küpün içindeymişsiniz gibi bir izlenim vermez. Bu, oyunların gerçek boyutlarından daha büyük hissettirilmesini sağlar ve derin uzay veya su altı ortamları gibi atmosferinize derinlik katar.
Ayrıca, Sky nesnesi, TimeOfDay veya ClockTime değerlerine göre dinamik olarak görünen, doğan ve batan güneş, ay ve yıldızlar gibi gök cisimlerini içerir.
Son olarak, Sky nesnesi, ViewportFrames içindeki yansımalar için bir küp haritası olarak kullanılabilir. Ayrıntılar için viewport çerçevelerine bakın.
Gökyüzü Kutusu Oluşturma
Kendi gökyüzü kutusu görüntülerinizi oluşturduysanız, bunları gökyüzü kutusunda kullanmadan önce öncelikle ithal etmeniz gerekir. Her bir görüntü, küpe "katlandığında" komşu görüntülerin tüm kenarları boyunca kesintisiz olmalıdır.

Bir gökyüzü kutusu oluşturmak için:
Yeni Sky nesnesini seçin, ardından Properties penceresinde aşağıdaki gökyüzü özelliklerinin her birine bir doku atayın:
- SkyboxBk — Gökyüzü kutusunun arka karesi.
- SkyboxDn — Gökyüzü kutusunun aşağı karesi.
- SkyboxFt — Gökyüzü kutusunun ön karesi.
- SkyboxLf — Gökyüzü kutusunun sol karesi.
- SkyboxRt — Gökyüzü kutusunun sağ karesi.
- SkyboxUp — Gökyüzü kutusunun üst karesi.

Gök Cisimleri
Varsayılan olarak, Sky nesnesi, güneş, ay ve yıldızlar gibi gök cisimlerini içerir. Bu cisimler, TimeOfDay veya ClockTime özellik değerlerine göre dinamik olarak görünür, doğar ve batar.
Gök cisimlerini aşağıdaki özellikler aracılığıyla özelleştirebilirsiniz:
- SunTextureId — Güneşin dokusunu ayarlar.
- SunAngularSize — Güneşin derece cinsinden göreceli boyutunu ayarlar.
- MoonTextureId — Ayın dokusunu ayarlar.
- MoonAngularSize — Ayın derece cinsinden göreceli boyutunu ayarlar.
- StarCount — Gökyüzü kutusundaki yıldız sayısını ayarlar.
Yönlendirme
SkyboxOrientation özelliği, gökyüzü kutusu yüzeylerinin yönlendirmesini değiştirir. Bu özellik, tipik XYZ sırasındaki derece değerlerinden oluşan bir Vector3 alır, ancak döndürme ilk olarak Y ekseninde, ardından X ve en son Z ekseninde uygulanarak karmaşık hareketler üzerinde öngörülebilir kontrol sağlanır.
Yönlendirme animasyonu oluşturmanın kolay bir yolu, Y ekseni etrafında döndürmek (ufku düz tutarak), ardından X ve Z'yi sabit bir değere ayarlayarak bu ekseni eğmektir. Aşağıdaki script, örneğin, Y eksenini döndürme animasyonu yaparken X ekseninde sabit 30° eğim korur.
local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local sky = Lighting:FindFirstChild("Sky")
local ROTATION_SPEED = 5 -- Derece cinsinden saniye başına
RunService.Heartbeat:Connect(function(deltaTime)
sky.SkyboxOrientation = Vector3.new(
30,
(sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360,
0
)
end)
Gökyüzü kutusu yönlendirmesinin tüm platformlar ve görsel kalite seviyeleri arasında sorunsuz çalışan düşük maliyetli bir özellik olduğunu unutmayın. Bunun sonucunda, bazı kasıtlı istisnalar bulunmaktadır:
- Gökyüzü, açık bir pencereden yansıyan bir ayna yüzeyi gibi kapalı alan yansımalarında görünüyorsa, o özel yansıyan görünüm döndürülmeyecektir. Bunu başarmak, maliyetli yeniden işleme ve küp haritalarının konvolusyonunu gerektirir ki bu da performansı ve geniş erişilebilirliği önemli ölçüde etkileyebilir.
- Sadece gökyüzü kutusu yüzeyleri döner; gök cisimleri bu özellikten etkilenmez.
- ViewportFrame içinde bir Sky kullandığınızda, genel SkyboxOrientation değerlerini yansıtacaktır. Her bir ViewportFrame için açıları ayarlayamazsınız.
- Terrain altındaki dinamik bulutlar özelliğinden etkilenmez.
