game.Get3DSkyboxInfo
Son Eklenenler
Bu yakın zamanda versiyonunda (2026.02.13) eklendi. Dev Şubesi - Evet, şimdi.
Açıklama
Şu anda aktif olan 3 boyutlu gökyüzü kutusu hakkında bilgi gönderir.
Geri dönüşler
1. sıralı TabloSky3DParams yapısı> veya hiç. Sky3dparams
3 boyutlu gökyüzü bilgisi, ya da
nil Eğer harita 3D skybox'a sahip değilse veya sunucu çalıştırılırken çok erken çağrılmışsa function is.Örnek
Ray'in Dünya ve 3D Skybox üzerindeki konumunu gösteriyor.
local color_green = Color( 0, 255, 0 )
hook.Add( "PostDrawTranslucentRenderables", "MySuper3DHook", function()
local sky3dparams = game.Get3DSkyboxInfo()
if ( !sky3dparams ) then return end
local skyboxOrigin = sky3dparams.origin
local skyboxScale = sky3dparams.scale
local client = LocalPlayer()
local eyepos = client:EyePos()
local dir = client:EyeAngles():Forward() * 100000000
local tr = util.TraceLine({
start = eyepos;
endpos = eyepos + dir;
filter = {client:GetVehicle(), client:GetViewEntity() or client};
mask = MASK_BLOCKLOS_AND_NPCS;
})
local hitPos = tr.HitPos
local hitSky = tr.HitSky
if hitSky and GetConVar("r_3dsky"):GetBool() == true then
local eye_sky = skyboxOrigin + eyepos / skyboxScale -- gözleri 3 boyutlu gök kutusu alanına dönüştürür.
local tr = util.TraceLine({
start = eye_sky;
endpos = eye_sky + dir;
mask = MASK_BLOCKLOS_AND_NPCS;
})
hitPos = ( tr.HitPos - skyboxOrigin ) * skyboxScale -- Hitpos'ları 3 boyutlu skybox uzayından dünya alanına dönüştürmek.
end
render.SetColorMaterial()
render.DrawSphere(hitPos, 64, 16, 16, color_green)
end )
Çıkış: 

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord