render.OverrideBlend
Örnek
Bu örnekte, oyuncumuzun kafasının üzerine bir şimşek çakarız.
Şimşeği PreDrawTranslucentRenderables kancasında (hook) çizmemeliyiz çünkü bu, şimşeğin arkasındaki saydam nesnelerin renderlanmasında sorunlara neden olur, ancak bu, fonksiyonun nasıl çalıştığına dair hızlı bir örnektir. Normalde, özel bir lua efektinin EFFECT:Render'ında çizilmelidir.
-- Render edilecek sprite dokumuz. Bu dokuyu render.OverrideBlend olmadan
-- renderlamak, şimşek huzmesinin etrafında siyah kenarlıklara neden olacaktır.
local lightningMaterial = Material("sprites/lgtning")
hook.Add( "PreDrawTranslucentRenderables", "LightningExample", function(isDrawingDepth, isDrawingSkybox)
if isDrawingDepth or isDrawSkybox then return end
local ply = Entity(1)
if !IsValid(ply) then return end
-- Şimşeğe biraz hareket katmak için kullanılacak rastgele bir UV hesapla
local uv = math.Rand(0, 1)
-- Dokudan gelen renk ve alfayı yorumlamak için karışım geçersiz kılmasını etkinleştir.
render.OverrideBlend( true, BLEND_SRC_COLOR, BLEND_SRC_ALPHA, BLENDFUNC_ADD, BLEND_ONE, BLEND_ZERO, BLENDFUNC_ADD )
render.SetMaterial(lightningMaterial)
-- Oyuncunun üzerindeki bir çizgi boyunca rastgele kaydırılmış noktalarda bir şimşek huzmesi renderla.
render.StartBeam(5)
render.AddBeam(ply:GetPos() + Vector(0,0,035), 20, uv, Color(255,255,255,255))
render.AddBeam(ply:GetPos() + Vector(0,0,135) + Vector(math.Rand(-20,20),math.Rand(-20,20),0), 20, uv*2, Color(255,255,255,255))
render.AddBeam(ply:GetPos() + Vector(0,0,235) + Vector(math.Rand(-20,20),math.Rand(-20,20),0), 20, uv*3, Color(255,255,255,255))
render.AddBeam(ply:GetPos() + Vector(0,0,335) + Vector(math.Rand(-20,20),math.Rand(-20,20),0), 20, uv*4, Color(255,255,255,255))
render.AddBeam(ply:GetPos() + Vector(0,0,435) + Vector(math.Rand(-20,20),math.Rand(-20,20),0), 20, uv*5, Color(255,255,255,255))
render.EndBeam()
-- Karışım geçersiz kılmasını devre dışı bırak
render.OverrideBlend( false )
end )
Çıktı: 

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