CreateMaterial

  IMaterial CreateMaterial( string name, string shaderName, table materialData )

Açıklama

Belirtilen isim ve shader ile yeni bir materyal oluşturur.

Bu fonksiyonla oluşturulan materyaller, materyal adı argümanının başına bir ! eklenerek Entity:SetMaterial ve Entity:SetSubMaterial'da kullanılabilir.

Aynı isme sahip başka bir materyal nesnesi zaten mevcutsa yeni bir materyal oluşturulmaz. Bu fonksiyonla oluşturulan tüm materyaller harita kapatıldığında temizlenir.

Bu fonksiyon, yama materyalleri (patch materials) ile çalışmaz.
.png dosyaları bu fonksiyonla kullanılmadan önce Material ile yüklenmelidir.

Hata Takipçisi: 1531

Argümanlar

1 string name
Materyal adı. Benzersiz olmalıdır.
2 string shaderName
Shader adı. Bkz. Shader'lar.
3 table materialData
Shader parametrelerini ve proxy'lerini içeren anahtar-değer tablosu.
IMaterial:SetTexture'dan farklı olarak, bu tablo ITexture değerlerini kabul etmez. Bunun yerine, dokunun (texture) adını kullanın (bkz. ITexture:GetName).

Döndürülen Değerler

1 IMaterial
Oluşturulan materyal

Örnek

render.SetColorMaterial fonksiyonuna bir alternatif, esasen Entity:SetMaterial ile kullanım için.

CreateMaterial( "colortexshp", "VertexLitGeneric", { ["$basetexture"] = "color/white", ["$model"] = 1, ["$translucent"] = 1, ["$vertexalpha"] = 1, ["$vertexcolor"] = 1 } )

Örnek

Materyal proxy'lerinin kullanımına dair bir örnek. Unutmayın, her proxy türünden yalnızca 1 tane örneğe sahip olabilirsiniz! Bu, Lua tablolarının çalışma şeklinden kaynaklanan bir kısıtlamadır.

local mat = CreateMaterial( "combine_ball_animated", "UnlitGeneric", { ["$basetexture"] = "effects/comball/comball", ["Proxies"] = { ["AnimatedOffsetTexture"] = { ["animatedtexturevar"] = "$basetexture", ["animatedtextureframenumvar"] = "$frame", ["animatedtextureframerate"] = 30 } } } ) hook.Add( "HUDPaint", "HUDPaint_DrawATexturedBox", function() surface.SetMaterial( mat ) surface.SetDrawColor( 255, 255, 255, 255 ) surface.DrawTexturedRect( 50, 50, 128, 128 ) end )

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